R程序书写规范
suppressMessages(library(xxx)) # 导入所需的R包 suppressMessages(library(xxx)) # 导入所需的R包 fucntion02 <- function(args){ # 定义函数 该函数有一个参数 # 执行代码 }
function01 <- function(args01, args02, args03){ # 定义函数 该函数有3个参数 # 执行代码 function02(args04) # 调用函数 }
usage <- function(args){ # 简易的帮助信息
script <- substring(args[4], 8) # 获取脚本名称
cat("Usage:\nRscript", script, "argument1 argument2 ... \n")
cat("Example:\nRscript", script, "argument1 argument2 ... \n\n")
}
if (sys.nframe() == 0){ # 类似于python中的 if __name__ == "__main__": args <- commandArgs() # 获取命令行参数
if(is.na(args[6]) | args[6] == "-h"){
usage(args)
quit()
} args01 <- args[6] args02 <- args[7] args03 <- args[8] function01(args01, args02, args03) # 调用函数 }
1. 少用循环多用R自带的向量化运算,R的循环效率极低。
2. 使用驼峰命名法 或者 用点号分隔 avg.cliks
3. 函数命名第一个字母大写
4. 所有的二元运算符的两侧加空格,逗号后面添加空格
5. 使用 <- 进行赋值,不用 = 赋值 用 = 进行传值
6. 函数的定义应该首先列出无默认值的参数,然后再列出有默认值的参数。
7. 分号用于分隔语句,但是当一行中只有一条语句时,可以不用分号。尽量不要用分号结束一行
参考 Google's R Style Guide
https://google.github.io/styleguide/Rguide.xml