开发者社区> 技术小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

干货 | MIT手把手教你一步步创建自己的R程序包

简介: R语言对于数据科学家的重要性不言而喻,但配置R程序包的过程往往让一些菜鸟学习者望而却步,这篇文章将带着你跟着MIT的指导一步步的创建自己的R程序包。 *详细代码请参考文末原文地址喔! 首先打开一个新的R文件,确保你的默认目录是清楚的通过rm进行输入的(list=ls())。
+关注继续查看


image


R语言对于数据科学家的重要性不言而喻,但配置R程序包的过程往往让一些菜鸟学习者望而却步,这篇文章将带着你跟着MIT的指导一步步的创建自己的R程序包。

1.首先打开一个新的R文件,确保你的默认目录是清楚的通过rm进行输入的(list=ls())。查看Is(),确保它是空的(你应该能够清楚的看见(0))。

2.在R文件中可以为你的程序编写代码。你可以创建一个包含所有函数的文件,或者是为每个函数都创建单独的文件。将文件保存到你能快速找到的地方。

3.安装‘devtools’ 安装包,(代码:install.packages(‘devtools’))

4.在RStudio.中打开一个新的项目,在“文件”菜单中的点击“新项目”,然后选择“新目录(New DIrectory)”并选择“R包(R Package)”创建一个新的R包。

5.命名你的安装包,然后上传。在第一步源文件创建包的基础上,创建R文件,点击“创建项目”。


image

6.在屏幕的右下角,你会看到一个文件目录,“R”文件中包含了函数的代码。“man”文件中将包含了文件中函数的所有帮助文件。根据Rstudio的版本,当你在创建R安装包或者R文档时,帮助文件会自动生成。如果“man”文件夹中已经包含.Rd文件,打开每个文件,添加一个标题然后保存.(如果不是,请见步骤7)。你可以返回并在稍后编辑这些内容。但是为了编译你的安装包,你需要在每个.Rd的文件下添加一个标题。

7.如果你的“man”文件夹是空的,那么你需要为每个函数手动创建一个.Rd文件。方法是:打开文件菜单—创建新的文件—选择R文件。输入函数的标题并在Rd template的菜单下选择函数。编辑你的新文件要包含标题域(再次强调,你可以选择现在编辑或者是稍后编辑,如果标题域是空的,那么你的安装包将无法编译)。保存“man”文件夹中的每一个.Rd文件。
注意:如果你需要在你的安装包里添加更多的函数,那么你需要重复以上步骤。即使是在你一开始创建安装包和RStudio自动生成R记录文件的时候。

8.现在你已经可以开始编译你的安装包了。在顶部工具栏里选择创建或者“创建和重载”(注意:你可以用快捷键Ctrl+Shift+B)。如果以上操作有效,你的安装包将会自动加载并且你会在底部的控制台上看到一个库(你的新安装包)。测试你的函数确保其有效运行。

9.返回并为每个函数编辑其记录文件(帮助文件)。打开每一个.Rd文件,为安装包添加一段简短的描述。如果可以的话,至少包含一个实例。接着,重载你的安装包,在R控制台上彻底检验你的文件。注意:每次改变你的函数和文件时,你都会需要重新编译(重复步骤8)。

10.一旦你完成创建你的函数和记录文件时,编译你的安装包,并反复检查函数和帮助文件是否能运行,把包含安装包的完整文件复制到Dropbox (共享网盘程序)并用你的名字命名。

原文链接:https://www.r-bloggers.com/mit-step-by-step-instructions-for-creating-your-own-r-package/

原文发布时间为:2017-09-13
原作者:Data Scientist PakinJa
编译:笪洁琼,张天健,云州
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
程序员的数学【微积分基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。
47 0
MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
45 0
上下求索,白“云”苍狗(二):2015到2019,从5到70,从0到100万,技术推动业务的云实践,我创业的这4年
从2015年到2019年,业务DAU从0到100万,团队从5人到70人,讲述技术人的创业之路,解读如何从技术推动业务,分享作为CTO的心路历程,一同感受创业的五味杂陈。
260 0
[写给程序员的]比特币科普文
区块链是目前技术热点之一,有人将它与互联网媲美,也有人声称区块链没有未来。确定的是在大多数人对区块链的理解仍停留在比特币等加密数字货币概念的时候,已经有公司和个人尝试将其应用于其它领域。若要对一个事物作出合理评价,较深入的了解必不可少,而了解的较快方式是从某个具体应用入手。
1265 0
杨老师课堂之Excel VBA 程序开发第六讲根据部门列创建工作表
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/80331851    课件...
924 0
杨老师课堂之Excel VBA 程序开发第六讲 根据制定列创建相应工作表及数据
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/80282484    课件...
996 0
+关注
技术小能手
云栖运营小编~
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JAVA开发手册1.5.0
立即下载
从零到一:IOS平台TensorFlow入门及应用详解
立即下载
从零到一:IOS平台TensorFlow入门及应用详解(附源
立即下载