R包制作指南

  • 准备工作
  • 开始创建R包
  • 在Rstudio内完成R包构建

   先前与大家分享过如何安装和使用R包,也与大家分享过自定义函数,这些都是R包的基础。一般来说,会将写好的函数进行封装,打包起来,制作成包,然后上传到各大平台便于推广和使用。今天我也大家分享一下自己制作R包的全过程,包教包会!~

准备工作

  1. 首先将所需打包的函数 (能够完成某一目的/功能的R函数) 保存为".R" ( 以R结尾 ) 文件;如图所示:
  2. 打开对应函数,每个".R"文件中必须添加"标题"、“描述”、“参数”、“作者和联系方式"及"例子和函数主体"等信息:

    温馨提醒:Examples完成后,紧跟函数及其主体。这意味着整个函数包含的内容均要在这个以”.R"结尾的文件中。
  3. 需要下载包"roxygen2"、以及安装"Rtools"(https://cran.r-project.org/bin/windows/Rtools)和"MikteX"(https://miktex.org)两个程序软件

开始创建R包

  1. 打开rstudio 按部就班:

    点击file —> new project —> new directory —> R packages
    对R 注意:在packages里的package name填写自己想要创建的R包名称;目录不需要改,默认路径会在电脑c盘"文档"创建对应函数名"文件夹",选中后确定。

    成功后可以在C盘—>文档—>找到你自己创建的R包。

    这一步将在该目录中创建以下文件(该目录为文档)。所有代码将存储在R 文件夹中,而手册和说明文件将储存在主文件夹中。
  2. 上述内容完成后关闭Rstudio; 以 rstudio 方式打开 DESCRIPTION 文件,编辑内容以准确地匹配包的描述。其他细节可以根据需要填写。
  3. R文件里放入已经编好的函数包括compare_revalue.R和cal_repeat.R并删除hello.R。
    每个函数需要按照以下格式填好:(注意#’ 后面的空格要存在
  4. 将创建的包如DailyTools文件中除了已编辑好的如R文件夹内的文件DESCRIPTION 文件,其余所有文件均删除。(只保留编辑过的文件,其它未编辑的文件全部删除。

在Rstudio内完成R包构建

1)建立man文件和NAMESPACE文件
在R语言中设置该包所在的路径;设置为该包的"home";然后运行以下代码:

rm(list = ls()) # 清除当前环境所有变量
setwd(choose.dir()) # 这一步设置到文档即可

设置好路径后,如下图(正确打开方式):可以看到是一个~的路径,与刚刚创建R包名称那时的路径是一模一样的(切记)。

2)进一步构建R包

library("roxygen2")
roxygenize("DailyTools") # 对R包名进行构建


运行结果如下表明已经完成了Man和NAMESPACE两个文件的配置。如下:

3)在系统中创建包:

system("R CMD build DailyTools")

得到如下结果,表明创建成功:

4)检查R包(上传CRAN前的必经之路,不能有任何错误)

system("R CMD check DailyTools")

若该过程存在ERROR报错,请先删除R包中的man和NAMESPACE文件,并重新构建然后再依次步骤运行。

5)可选择创建PDF手册

system("R CMD Rd2pdf DailyTools")


6)最后进行本地安装R包

system("R CMD INSTALL DailyTools")
library(DailyTools)
?DailyTools::cal_repeat

进阶必看 | R包制作指南-windows系统相关推荐

  1. 进阶必看 | R包上传github指南

    如何用git程序将本地R包上传到github 上传前的准备工作 1) 下载git程序 2) 创建github用户 3) 修改github用户的branch类型 上传的详细步骤指导 1) 使用git创建 ...

  2. 自学python买什么教材-从入门到进阶必看,51本Python精品书籍免费送!

    原标题:从入门到进阶必看,51本Python精品书籍免费送! 源 /网络 Python是一种多功能语言.它经常用作Web应用程序的脚本语言,嵌入到软件产品中,以及人工智能和系统任务管理.它既简单又强大 ...

  3. 干货丨如何准确找到剪辑点?后期剪辑进阶必看

    干货丨如何准确找到剪辑点?后期剪辑进阶必看 初级剪辑师在剪辑时可能会聚焦在已有影视素材的整理,但优秀的剪辑师关注的点应该更加巧妙细致,要真正做好剪辑,知道"什么时候该剪"很重要. ...

  4. CIO必看:跨国集团采购部报表系统的建设经验分享

    CIO必看:跨国集团采购部报表系统的建设经验分享 引言 福耀集团是国内最具规模.技术水平最高.出口量最大的汽车玻璃生产供应商,产品"FY"商标是中国汽车玻璃行业第一个"中 ...

  5. route 不同路由器 windows_常用网络命令ping、arp、tracert、route详细用法,新手进阶必看...

    网络相关的从业人员,都需要面对检测和解决网络故障的各种问题,实际案例中因为网络导致的故障也是最多的,今天我们和大家一起来学习一下解决网络故障时使用最多的四个网络命令.希望对大家以后的实际工作中的故障排 ...

  6. MAC OS进阶必看——这10个技巧让你秒变MAC达人

    文章内容及图片来源于:什么值得买,如果涉及版权问题,请联系作者删除 文章收录于:风云社区(提供上千款各类mac软件的下载) 使用mac系统也有好几个年头,出色的办公效率以及越来越广的兼容性让mac成为 ...

  7. linux系统启动盘怎么制作工具,windows系统制作linux启动盘工具介绍

    Linux发行版排行榜: http://iso.linuxquestions.org/ http://distrowatch.com/dwres.php?resource=major&lang ...

  8. 【bat批处理脚本命令】2分钟看懂,一键主机windows系统远程连接控制阿里云等windows系统的云服务器(保姆级图文+实现代码)

    目录 1.实现效果 2.实现代码 3.使用代码新建一个bat脚本文件 总结 欢迎关注 『bat批处理脚本命令』 系列,持续更新中 欢迎关注 『bat批处理脚本命令』 系列,持续更新中 本来阿里云服务器 ...

  9. 固态硬盘母盘制作 linux,Windows系统母盘制作教程

    Windows系统母盘制作教程 认识有限,仅供参考! 制作系统母盘,就是根据不同的需求对原版系统映像文件的内容做一些修改,再保存修改过的映像文件,修改过的系统映像文件安装之后再次修改,然后进行封装,在 ...

最新文章

  1. Linux环境PHP7.0安装
  2. ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
  3. robots协议是什么?对网站SEO有什么好处?
  4. Ardino基础教程 21_LCD1602液晶屏
  5. mysql有选择地输出数据_有条件地选择MYSQL列
  6. centos7 nat模式配置静态ip_Manjaro 配置静态网络IP
  7. 《深入理解Nginx 模块开发与架构解析》之高级数据结构摘录
  8. stripe pay_J2Pay –入门
  9. python的一些基础小结总结
  10. 新手干货:Vue - 事件修饰符
  11. mysql5.7企业版下载_MySQL v5.7.20 官方正式版(32/64位 安装版与zip解压版)
  12. 隔离模块介绍-隔离信号模块-光耦
  13. Cisco wlan controlller配置
  14. 如何系统磁盘和raid卡的槽位对应起来
  15. 【Unity】使用事件实现自动开关门
  16. Unity的C#编程教程_61_委托和事件 Delegates and Events 详解及应用练习
  17. 【小知识】字符编码笔记:ASCII,Unicode 和 UTF-8
  18. SRRC认证的产品有哪些?
  19. Win10更新完毕。C盘图片已经微信缓存全部消失如何解决?
  20. 洋桃电子STM32物联网入门30步笔记三、CubeMX图形化编程、设置开发板上的IO口

热门文章

  1. 自定义高德地图导航界面
  2. Python爬虫案例:爬取微信公众号文章
  3. SpringBoot使用Kafka生产者、消费者
  4. 找出TCGA中的配对样本并正确展示数据
  5. 亚马逊跟卖僵尸listing无主asin采集软件工具爬虫运营软件
  6. Windows gmssl生成SM2证书 + java bc库签名验签
  7. 有趣的前端项目——一个暴躁萌的大眼仔
  8. 大数据时代 书评及书摘
  9. 政考网:考教师编制都需要哪些条件?
  10. 快餐互联网化营销案例分析