开发一个R包
R最强大的莫过于统计分析和可视化,关键是完全的开源免费啊。有时候使用多了以后,会积累一些函数或者是数据库,而这些函数和数据库通常能够帮助到别人,这时候就可以把这些函数或者是数据库打包成R包,上传到CRAN、Bioconductor或者是GitHub,让 其他的使用者使用自己的包。
我开发的第一个包是riceidconverter,主要的用途是水稻的ID转换。整个包的开发断断续续经历了两个月,包括数据的爬取(Python脚本见GitHub))、整理、函数的构思,以及最艰难的调试。

主要流程
我的开发流程是软件安装、构思R包、准备数据、编写R包、调试代码、R包提交。下面就从这几方面一一道来我这个小白的经验。
软件安装
MikTex
MikTex
主要是用于编译后面的pdf文档,如果包只是自己用,就不用安装这个软件。软件的下载地址是MikTex。安装的话一路默认就OK。
roxygen2
roxygen2
是个R包,通过注释的方式,生成文档。直接install。package('roxygen2')
即可。
devtools
这个包主要是用来build
和check
R包的。直接install。package('devtools')
即可。
构思R包
这个比较难说清楚,每个R包都有一定的功能的,构思的过程就是R包功能完善的过程。
准备数据
这个环节,也是很难说清除。如果数据要内嵌到R包,而且包里面的函数会用到数据,那表头名称和函数中的变量名称要保持一致。
编写R包
创建项目
直接用RStudio创建R Package即可
:File→New Project→New Directory→R Package
。需要注意的是选择的路径不可以有中文字符!会生成下面的文件:

比较重要的是man
、R
和DESCRIPTION
这三个文件(夹)。其他的几个可以删除。
编写DESCRIPTION
这个文件是用来描述一些基本信息的,这些信息也是必填的一些信息。

下面这是我的包的一些描述:

另外需要注意的是在Description
部分,每个缩写都需要有详细的解释,如果有链接,还需要将链接放在<>
里面,而不是()
。
编写函数
在R
这个文件夹下面创建对应的.R
文件。比如想实现的功能是t
检验,那就创建一个t.test.R
。打开以后还是有几行#'
开头的描述,这些是必须的:

@name
是指这个函数的名称,其他的就是和DESCRIPTION
类似的;@param
表示的是参数;@example
表示的是函数使用的例子;@return
表示的是返回的结果;接着下一行编写函数就行:


1 |
|
1 |
|
1 |
|
1 |
|
这个就比较简单了,直接在https://cran.r-project.org/submit.html按照要求提交tar.gz
文件就行。
最后,等着邮件吧。
💌lixiang117423@gmail.com
💌lixiang117423@foxmail.com