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() == ){ # 类似于python中的 if __name__ == "__main__":
args <- commandArgs() # 获取命令行参数
if(is.na(args[6]) | args[6] == "-h"){
usage(args)
quit()
}
args01 <- args[]
args02 <- args[]
args03 <- args[]
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
R程序书写规范的更多相关文章
- JAVA书写规范
java程序书写规范 命名规范 1.一般概念 1.尽量使用完整的英文描述符 2.采用适用于相关领域的术语 3.采用大小写混合使名字可读 4 ...
- 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8 简介:为什么要强调 书写规范 ?这其实并不关乎"美丑",而是为了 更高的效率(代码阅读.开发.维护 ...
- [转]JavaScript程序编码规范
原文:http://javascript.crockford.com/code.html 作者:Douglas Crockford 译文:http://www.yeeyan.com/articles/ ...
- 20151009 C# 第一篇 程序编写规范
20151009 程序编写规范 1. 代码书写规则: 1).尽量使用接口,然后使用类实现接口. 2).关键语句写注释 3).避免写超过5个参数的方法,如果要传递多个参数,则使用结构 4).避免代码量过 ...
- [Java拾遗一] XML的书写规范与解析.
前言今天天气大好, 起了个大早开始总结一些常用的基础知识. XML一直来说都很陌生, 使用大多是用于配置文件, 之前并没有细究过其中的约束规范, 今天刚好没事来学习并总结下. 1,XML基础介绍 XM ...
- Java初认识--Java语言的书写规范及基本的运算符
一.Java中名称的规范和书写程序的规范. 1.Java中的名称规范: (1)包名全是小写:xxyyzz: (2)类名接口名:首字母大写:XxxYyy: (3)变量名和函数名:变量名不能是关键字:多单 ...
- JavaEE程序编码规范
JavaEE程序编码规范 目 录 JAVA程序编码规范1 1变量的命名规则1 1.1常量(包含静态的)1 1.2类变量(静态变量)及实例变量1 1.3局部变量1 1.4参数2 1.5其它2 2方法 ...
- (转)Java代码书写规范
0. 安装阿里代码规范的eclipse插件 https://www.cnblogs.com/caer/p/7753522.html 1.基本原则 强制性原则: 1.字符串的拼加操作,必须使用S ...
- css书写规范以及如何写出赏心悦目的代码
css书写规范: 1. 编码统一为utf-8;2. 协作开发及分工: i根据各个模块, 同时根据页面相似程序, 事先写好大体框架文件,同时根据页面相似程序,事先写好大体框架文件.共用css文件base ...
随机推荐
- idea中maven项目打jar包
从Eclipse换成Idea的小伙伴们可能会找不到Eclipse中Maven项目打jar包的方法,因为eclipse只需要在工程上点击右键,右键菜单中就有Maven打包的相关选项. 然而Idea的右键 ...
- 使用SonarQube和SonarQube Scanner分析项目
一.概述 SonarQube的安装,请参考链接:https://www.cnblogs.com/xiao987334176/p/12011623.html 配置好sonar的服务端后,接下来就要使用s ...
- linux服务器可以访问IP访问不了域名地址
1.curl www.baidu.com报错,curl 183.232.231.173可以或者nslookup+域名,nslookup+IP2.这个是因为linux服务器没有配置DNS域名服务器地址导 ...
- json传的解析,二维数据解析
下载地址:https://share.weiyun.com/447eda75fdd46cb87f6622ecdce4c3ac
- Qt选择文件路径
QString file_path = QFileDialog::getExistingDirectory(this, "请选择文件路径...", "./"); ...
- HP服务器重装centeos 6.3红屏错误码 Illegal Opcode
公司组装一个服务器要装centos 6.3 .出现一个问题 如果自动引导一切正常.如果手动分区重启后就会,红屏错误码 Illegal Opcode. 去网上问度娘各种不靠谱,有时说要 升级BIOS,从 ...
- 汉诺塔问题深度剖析(python实现)
当我们学习一门编程语言的时候,都会遇到递归函数这个问题.而学习递归的一个经典案例就是汉诺塔问题.通过这篇文章,观察移动三个盘子和四个盘子的详细过程,您不仅可以深刻的了解递归,也更加熟悉了汉诺塔的游戏的 ...
- Fluter基础巩固之Dart语言详解<三>
继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...
- isaster(Comet OJ - Contest #11D题+kruskal重构树+线段树+倍增)
目录 题目链接 思路 代码 题目链接 传送门 思路 \(kruskal\)重构树\(+\)线段树\(+\)倍增 代码 #include <set> #include <map> ...
- JS高阶---简介+数据类型
首先看下大概流程 [一]基础 接下来看下数据类型分类和判断 (1)数据类型分类 基本类型/值类型5种 ---字符串String.数字Number.布尔值Boolean.未定义undefined.空nu ...