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()

下面是一个例子:

美化前的代码:

R语言学习代码格式一键美化_第1张图片

美化后的代码:

R语言学习代码格式一键美化_第2张图片

参考

Auto-format R code in RStudio

an introduction to this package, with examples and further notes

以上就是R语言学习代码格式一键美化的详细内容,更多关于R语言代码格式美化的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(R语言学习代码格式一键美化)