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

原作者:Data Scientist PakinJa

编译:笪洁琼,张天健,云州

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文件,点击“创建项目”。

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/

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

Java程序排查问题利器之Btrace

4244
来自专栏Coding迪斯尼

java开发操作系统:一个程序向另一个程序伸出的咸猪手

1634
来自专栏运维

Nginx1.10.2稳定版本tcp四层负载安装配置过程略解

nginx1.10.2(2016.10.18)是最新稳定版,适合线上运行,最新开发版为1.11.8(2016.12.27)

1171
来自专栏pythonlove

FTP使用MariaDB完成虚拟用户认证

文件传输协议(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議。它属于网络传输协议的应用层。FTP是一...

1094
来自专栏极客猴

Django 学习笔记之初识

上篇文章讲述 Django 环境搭建, 在文章最后部分还有 6 篇 Django 简单入门的文章。后来我自己以一个新手的角度来阅读文章,发现前面三篇文章能被够消...

611
来自专栏JavaEdge

Java开发必备linux命令集锦文件管理磁盘管理文档编辑系统管理rpm -aq|grep phpgrep someText *ifconfigenvexportechonetstat -npllso

34310
来自专栏Java后端技术

GitLab配置ssh key

  当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选...

1103
来自专栏Spark学习技巧

高性能:MYSQL异步客户端

实时处理领域,当需要使用外部存储数据染色的时候,需要慎重对待,不能让与外部系统之间的交互延迟对流的整个进度取决定性的影响。

3302
来自专栏互联网技术栈

Redis 队列

举例: 队列主要用在系统解耦、流量削峰、异步处理、数据顺序处理等场景。新手在使用时可能会犯一些常见的错误。下面讲一个新手容易犯的错误,在这个示例中把队列的入...

3735
来自专栏游戏杂谈

rtx登录内网系统

公司内部使用rtx进行沟通和交流,经常遇到订餐的问题,用php写了一个订餐系统,实现rtx上点击链接打开系统就自动登录了,无需再次输入用户名和密码。

2851

扫码关注云+社区

领取腾讯云代金券