R語言學習代碼格式一鍵美化
當寫R代碼時,很多時候寫的代碼或者看到的代碼縮進都很難統一到標準的格式。這時為瞭規范化代碼,我們需要再代碼中一行一行查代碼,將其修改成標準的格式。
那麼我們有沒有一鍵代碼整理的方式或者R包呢?
答案是有的!
下面我們介紹兩種方法。
RStudio 快捷操作
如果你使用的是RStudio
寫代碼的話,那麼隻用全選代碼(Ctrl + A
),而後輸入如下命令:
Ctrl + Shift + A
即可簡單調整縮進與格式。
但這樣的操作知識對現有代碼的微調,不能將代碼中的=
統一成<-
,也不能將函數或者循環後面的大括號{ }
換行或者空格。同樣也不能很好的完美調整縮進。
這時我們推薦另一個神器,謝益輝大神的 formatR
包。
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 包使用
如果你還是覺得這些參數太復雜瞭,就想要無腦靠無腦點擊鼠標就能完成代碼美化工作,那麼可以事先安裝好 Shiny
包,而後使用如下代碼,利用交互界面進行代碼美化工作。
library(shiny) tidy_app()
下面是一個例子:
美化前的代碼:
美化後的代碼:
參考
Auto-format R code in RStudio
an introduction to this package, with examples and further notes
以上就是R語言學習代碼格式一鍵美化的詳細內容,更多關於R語言代碼格式美化的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- R語言入門在CentOS服務器上配置RStudio Server
- 大數據分析R語言RStudio使用超詳細教程
- Rcpp入門R代碼提速方法過程
- R語言讀取柵格數據的方法(raster包讀取)
- FFmpeg Principle學習open_output_file打開輸出文件