R语言编码气势气魄
当前位置:以往代写 > 其他教程 >R语言编码气势气魄
2019-06-14

R语言编码气势气魄

R语言编码气势气魄

####文件名称

文件名称该当有意义,而且以 .R 作结。

“`
# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
“`

假如是一系列文件,序列号该当在文件之前。

“`
0-download.R
1-parse.R
2-explore.R
“`

####工具名称

变量和方程的名称该当是小写。利用下划线(_)来支解名称内的单词。一般而言,变量的名称该当是名次,而方程的名称该当是动词。定名只管简捷有意义,固然并非易事。

“`
# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
“`

假如大概,要制止反复定名。不然,令读者不解。

“`
# Bad
T <- FALSE
c <- 10
mean <- function(x) sum(x)
“`
—-

##语法

####空格

在运算符(=, +, -, <-, 等)的双方插手空格。这个法则同样合用于函数内挪用时(=)。始终在逗号后加空格,而之前不加(法则同英文写作)。

“`
# Good
average <- mean(feet / 12 + inches, na.rm = TRUE)

# Bad
average<-mean(feet/12+inches,na.rm=TRUE)
“`

有一处破例,在利用 :: 时。:: 和 ::: 不需要空格在困绕。
“`
# Good
x <- 1:10
base::get

# Bad
x <- 1 : 10
base :: get
“`

除了挪用方程时,在括号的左边加一空格。
“`
# Good
if (debug) do(x)
plot(x, y)

# Bad
if(debug)do(x)
plot (x, y)
“`

假如能使等号或定名(<-)对齐,特另外空格则获得倡导。
“`
list(
total = a + b + c,
mean = (a + b + c) / n
)
“`

不要在括号里的代码周围插手空格。
“`
# Good
if (debug) do(x)
diamonds[5, ]

# Bad
if ( debug ) do(x) # No spaces around debug
x[1,] # Needs a space after the comma
x[1 ,] # Space goes after comma not before
“`

####花括号

永远不要使前花括号单唯一行;除了和 else 毗连,永远使后花括号单唯一行。

永远在花括号内缩进。
“`
# Good

if (y < 0 && debug) {
message("Y is negative")
}

if (y == 0) {
log(x)
} else {
y ^ x
}

# Bad

if (y < 0 && debug)
message("Y is negative")

if (y == 0) {
log(x)
}
else {
y ^ x
}
“`

使很短的语句保存在同一行是答允的。
“`
if (y < 0 && debug) message("Y is negative")
“`
—-

##每行的长度

只管使你的代码节制在每行80个字母。这样使打印出来的代码具有客观性。假如你发明你的代码一行乘不下时,这是个好的信号提醒你把代码压缩到一个独立的方程里。

—-

##缩进

当缩进代码时,利用两个空格;不要利用 tab 或 tab 加 空格。

上面法则的独一破例是,当你在写一个方程时。在这种环境下,缩进到方程开始界说的位置。

“`
long_function_name <- function(a = "a long argument",
b = "another argument",
c = "another long argument") {
# As usual code is indented by two spaces.
}
“`
####赋值

利用 <- , 摒弃 = 。
“`
# Good
x <- 5
# Bad
x = 5
“`
—-

##组织

讲明参考

请讲明你的代码。每一个核准以#带一个空格开始。讲明的内容是“为什么”,而不是“是什么”。

利用一行 – 或 = 来支解你的代码,从而更具可读性。

“`
# Load data

    关键字:

在线提交作业