R语言的代码类型
R语言的代码类型
R作为一个高级措施语言主要是用来统计计较和做图。对R语言代码举办类型便于代码的易于阅读、分享和验证。下面这些类型整理自google的R社区配合接头的功效(Google’s R Style Guide)
1、一般性法则
制止利用attach
写函数是只管少的利用stop()
界说S3和S4的工具不要混在一起利用
2、文件定名
以.r竣事文件,尽大概的增加信息在文件名内里,好比
Good:
predict_ad_revenue.R
Bad:
foo.R
3、变量名和函数定名法则
留意,在R情况下,巨细写是敏感的。变量名应该都用小写字母,单词间用.脱离;函数名用每个单词用大写字母开头,不消.毗连。常数项跟函数一样定名但以小k开头。
变量:
Good:
avg.clicks
Bad:
avg_Clicks, avgClicks
函数名:
Good:
CalculateAvgClicks
Bad:
calculate_avg_clicks, calculateAvgClicks
用动词定名函数
常数项:kConstantName
4、R语句
这个大概是最快的,使代码外观变”大度”的法则了
每行最长80个字符。
代码缩进时,空两格。
二次运算符(=,+,-,<-,等)两头用空格。
逗号前不消空格,但逗号后必然得用。
GOOD:
tabPrior <- table(df[df$daysFromOpt < 0, “campaignid”])
total <- sum(x[, 1])
total <- sum(x[1, ])
BAD:
tabPrior <- table(df[df$daysFromOpt<0, “campaignid”])
tabPrior <- table(df[df$daysFromOpt < 0,”campaignid”])
tabPrior<- table(df[df$daysFromOpt < 0, “campaignid”])
tabPrior<-table(df[df$daysFromOpt < 0, “campaignid”])
total <- sum(x[,1])
total <- sum(x[ ,1])
这里包括了赋值、逻辑标记以及逗点脱离。
# 在R内里只管罕用 =
括号左边用空格,挪用函数时除外。
Good:
if (debug)
Bad:
if(debug)
可以有多余的空格(一行中有多个空格),假如这可以或许改进标记间的对齐。
plot(x
括号或方括号内不消空格,逗号后头除外。
GOOD:
if (debug)
x[1, ]
BAD:
if ( debug )
x[1,]
大括号{ 开始的{不能单独成行,竣事的}必需单独成行。
单独的一个语句应重新的一行开始。
BAD:
if (is.null(ylim)) ylim <- c(0, 0.06)
if (is.null(ylim)) {ylim <- c(0, 0.06)}
5、代码组织
尤其是做项目标话,以下信息是必需有的:
版权声明
作者注释
文件说明,项目目标,输入和输出的说明
source() 和 library() 说明
函数界说
其他
6、注释
养成精采的注释习惯
单行注释以 # 开头,加一个空格
短注释需要在代码后头空两格,然后 # ,再加一个空格
# Create histogram of frequency of campaigns by pct budget spent.
hist(df$pctSpent,
7、函数界说与挪用
函数界说应该先列出语句中没有默认值,然后是默认值。在函数界说和挪用时,答允每行多个语句,一般只是在赋值时才换行。
GOOD:
PredictCTR <- function(query, property, numDays,
BAD:
PredictCTR <- function(query, property, numDays, showPlot =
8、 函数归档
应该在函数界说的下一行举办注释,包罗描写函数的浸染;描写语句中的参数用Args:描写数据范例;描写返回值用Returns:。注释部门应尽大概具体,以便读者再不看代码时就能应用该函数。好比:
Example Function
CalculateSampleCovarianc
}
9、任务间代码气势气魄应保持一致
TODO(username): Explicit description of action to be taken
结语