R 固定源的缩进并使其干净

R 固定源的缩进并使其干净,r,indentation,R,Indentation,有没有合适的程序来修复已经编写的R脚本的缩进 例如,如果向其提供如下脚本: foo = function(x) { a = 1 print(a) } 它将其转换为: foo = function(x) { a = 1 print(a) } 还是更好?是的,用一辉的包装 演示之前和之后: R> system("cat /tmp/fex.R") foo = function(x) { a = 1 print(a) } R> R> librar

有没有合适的程序来修复已经编写的R脚本的缩进

例如,如果向其提供如下脚本:

foo = function(x) {
a = 1
    print(a)
 }
它将其转换为:

foo = function(x) {
    a = 1
    print(a)
}
还是更好?

是的,用一辉的包装

演示之前和之后:

R> system("cat /tmp/fex.R")
foo = function(x) {
a = 1
    print(a)
 }
R>
R> library(formatR)
R> tidy.source("/tmp/fex.R",replace.assign=TRUE)
foo <- function(x) {
    a <- 1
    print(a)
} 
R> 
R>系统(“cat/tmp/fex.R”)
foo=函数(x){
a=1
印刷品(a)
}
R>
R> 图书馆(格式化程序)
R> tidy.source(“/tmp/fex.R”,replace.assign=TRUE)

foo除了德克的答案之外,大多数体面的编辑器都允许您更正脚本的缩进。例如,在RStudio中,如果打开了脚本,则可以使用Ctrl+i来更新所选内容的缩进。

是的,当然可以,但更难自动化和批处理。也不会对
=
@DirkEddelbuettel执行
=
你是对的-不会(但他们也没有要求这样做)。但我认为你的答案更符合他们的要求,但我想我还是把这个也扔掉。因为有些人满足于使用RGui,对我来说,这是错误的,我能做的任何事情都能让他们转向更好的东西,在我看来是件好事。我完全没有意识到这一点。谢谢分享!