您好,登錄后才能下訂單哦!
如何用R語言學習代碼格式進行一鍵美化,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
當寫R代碼時,很多時候寫的代碼或者看到的代碼縮進都很難統一到標準的格式。這時為了規范化代碼,我們需要再代碼中一行一行查代碼,將其修改成標準的格式。
那么我們有沒有一鍵代碼整理的方式或者R包呢?
答案是有的!
下面我們介紹兩種方法。
如果你使用的是RStudio
寫代碼的話,那么只用全選代碼(Ctrl + A
),而后輸入如下命令:
Ctrl + Shift + A
即可簡單調整縮進與格式。
但這樣的操作知識對現有代碼的微調,不能將代碼中的=
統一成<-
,也不能將函數或者循環后面的大括號{ }
換行或者空格。同樣也不能很好的完美調整縮進。
這時我們推薦另一個神器,謝益輝大神的 formatR
包。
我們只需使用如下代碼,就可以對路徑中的代碼一鍵美化:
library(formatR) # tidy_source("file path") tidy_source("C:/Users/PC_name/Desktop/myfile.R")
如果添加參數arrow = T
,就可將等號=
替換成復制號<-
;
file = "C:/Users/PC_name/Desktop/myfile.R" 則可直接將原本路徑下的文件替換,變成整理好的代碼。
還有更多功能,可以直接看包內的說明:
Arguments | |
---|---|
source | a character string: location of the source code (default to be the clipboard; this means we can copy the code to clipboard and use tidy_source() without specifying the argument source) |
comment | whether to keep comments (TRUE by default) |
blank | whether to keep blank lines (TRUE by default) |
arrow | whether to replace the assign operator = with <- |
brace.newline | whether to put the left brace { to a new line (default FALSE) |
indent | number of spaces to indent the code (default 4) |
wrap | whether to wrap comments to the linewidth determined by width.cutoff (note that roxygen comments will never be wrapped) |
output | output to the console or a file using cat? |
text | an alternative way to specify the input: if it is NULL, the function will read the source code from the source argument; alternatively, if text is a character vector containing the source code, it will be used as the input and the source argument will be ignored |
width.cutoff | passed to deparse: integer in [20, 500] determining the cutoff at which line-breaking is tried (default to be getOption(“width”)) |
… | other arguments passed to cat, e.g. file (this can be useful for batch-processing R scripts, e.g. tidy_source(source = ‘input.R', file = ‘output.R')) |
如果你還是覺得這些參數太復雜了,就想要無腦靠無腦點擊鼠標就能完成代碼美化工作,那么可以事先安裝好 Shiny
包,而后使用如下代碼,利用交互界面進行代碼美化工作。
library(shiny) tidy_app()
下面是一個例子:
美化前的代碼:
美化后的代碼:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。