亲宝软件园·资讯

展开

R语言代码格式美化 R语言学习代码格式一键美化

Kanny广小隶 人气:0
想了解R语言学习代码格式一键美化的相关内容吗,Kanny广小隶在本文为您仔细讲解R语言代码格式美化的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:R语言学习,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

加载全部内容

相关教程
猜你喜欢
用户评论