前言

R语言程序包是R语言的灵魂,是R语言的核心,每一个R语言用户都会使用到R包。2006年3月15日,第一个R包(coxrobust)加入CRAN,截止2020年5月17日,已经有超过15000个R包,这些R包涵盖了各个领域,解决了各种各样的问题。

R包的易用性是R广受欢迎的重要原因,R包开发简单、易学,使得各行各业的从业者,即使是非计算机人员,都可以加入到R的编程中来,带来了R繁荣的景象。

既然这么多R包,那还有写包的必要吗?答案是肯定的,现实中的问题千千万万,15000个R包并不能解决所有问题。

如果R包足够实用,确实帮大家解决科研中遇到的统计和可视化问题,大家在应用你的R包的时候自然会引用你介绍R包的文章,自然文章引用量会指数级上涨!

本教程将从零教你如何制作、发布自己的R包。

写包的好处

• 彰显自己的实力!你说你会R,凭啥?有了自己的R包,也是一种实力的体现

• 创造!code changes world!学会写代码,那么你就可实现自己的想法,甚至做出创新的事物

• 软件著作权!你的原创代码可以申请软件著作权,进一步提升自己

• 发表论文!如果你的包是一个创新,可以写论文发表,让更多的人使用

• 完善方法学!不断地修正自己的代码,不断的完善,会加深你对代码和方法学的理解

• 方便自己!即使你不准备发布你的R包,也能方便自己的工作

安装必备工具

制作R包需要的工具有:电脑1台、R软件、RStudio软件、Rtools软件、devtools包、roxygen2包。下面我来详细讲一下安装过程。

1 电脑、R软件、RStudio软件自行安装

电脑的系统可以是windows、macos、linux。R软件及RStudio软件推荐使用最新版本。

2 Rtools软件的安装

许多人误以为Rtools是一个R包,所以会使用install.packages("Rtools")命令来安装,其实是不对的,Rtools其实是windows系统下的软件。

在windows和macos中,Rtools会随着安装RStudio的时候一起安装,如果没有安装,那么windows系统需要自行安装Rtools,macos需要安装Xcode。他们的作用是编译和解析命令。

windows系统Rtools软件的网址是:https://mirrors.tuna.tsinghua.edu.cn/CRAN/ ,根据自己当前使用的R版本,下载对应版本的Rtools软件。比如,我当前使用的R版本是3.6.2,那么我选择下载Rtools35.exe。

下载完成后,双击Rtools35.exe进行安装。

Rtools并不支持中文,我们可以选择英语,点击OK即可。

接下来会告诉你Rtools主要用来创建R语言的应用,对于windows系统来说,需要将其添加入环境变化。

安装的默认地址是C:Rtools,建议不要修改。

安装的形式,我们直接使用推荐的就可以。

最关键的一步:Add rtools to system PATH,一定要勾上,表示加入电脑的环境变量。

这里问我们要不要修改环境变量,我们看到C:Rtoolsin已经被加入到了PATH中,我们不需要再次对其进行编辑。

再次核对一下安装信息。点击Install,开始安装。

开始安装。

安装成功!

3 安装依赖包

R包的制作依赖于devtools包和roxygen2包,在这两个包出现之前,制作R包是一件十分繁琐的事情,许多事情需要手动完成,一有不慎,就会出错,修改说明文档更加痛苦。

devtools包的出现,尤其是在RStudio软件加入了devtools的功能后,R包制作变得十分简单。

如果说devtools包让制作变得简单,那么roxygen2包彻底解放了R包开始者,我们再也不用为复杂的注释而头疼,可以一边写函数,一边写注释,将精力集中到写代码中,最后运行devtools::document()命令,就可以直接将所有注释写入R的说明文档。

devtools包和roxygen2包的安装命令是

install.packages(c("devtools","roxygen2"))

检查

最后,我们使用命令devtools::has_dev()来检查一下准备工作。运行这行命令,返回“Your system is ready to build packages! ”表示一切准备就绪,可以开始了。

  1. library(devtools)
  2. has_devel()

小结

工欲善其事必先利其器,今天和大家分享了R包制作的必备工具,这些准备工作做好了,就可以开始制作R包了。

致谢

再次致谢R语言及RStudio软件开发团队,他们出色的工作给我们带来了极大的便利。

放眼望去,近几年,很多人都有这样一种感受,那就是现在的科研要求越来越高,论文发表越来越难

这主要是因为当前竞争越来越大,优质科研成果及高水平论文越来越多,学术市场水涨船高。现在,要想在学术生涯获得良好发展,手握高分论文已经成了通行证。这不仅是对科研人员,对硕博生们也是如此。对于硕博生们来说,优质的论文更是获到学术自信,确保顺利毕业、获得满意工作的决定因素,根本无法忽视。

但是说到这里,很多人可能就抱怨了:现在发论文,真的很难很难啊!

所以,我很想把一个优质的课程推荐给大家!一个可能改变所有医学生一生的课程

10天领悟3分SCI套路

点击下方

解螺旋服务号

免费报名

—END—

R语言 image.binarization: 包_想提高文章的引用率?写个R包吧!- 工具准备篇相关推荐

  1. r语言 林元震_林木多地点半同胞子代测定遗传分析 R语言程序包及其应用

    [1]孔繁浩,阮梓材.半同胞子代测定的试验设计和分析[j].广东林业科技,1988(1):32-35.kongfh,ruanzc.theexperimentaldesignandanalysisofh ...

  2. r语言 柱状图加星号_如何在地图上添加柱形图(R语言)

    首先,了解一下ESRI Shapefile(shp)格式文件: 用于描述几何体对象:点,折线与多边形.例如,Shapefile文件可以存储井.河流.湖泊等空间对象的几何位置.除了几何位置,shp文件也 ...

  3. r语言java环境安装_【R语言入门】R语言环境搭建

    说明 R 语言是一个功能十分强大的工具,几乎绝大多数的数据分析工作都可以在 R 中完成,并且拥有很极强的绘图功能支持,能让你手中的数据以各种姿势进行可视化呈现,而且支持 Windows.Mac OS. ...

  4. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮满足条件的线图、并保留其它线图的色彩(而不是灰色)自定义非高亮线图的透明度

    R语言ggplot2可视化绘制线图(line plot).使用gghighlight包突出高亮满足条件的线图.并保留其它线图的色彩(而不是灰色)自定义非高亮线图的透明度 目录

  5. R语言ggplot2可视化分面直方图(faceting histogram)、使用gghighlight包突出高亮突出每个分面中的一个分组的直方图

    R语言ggplot2可视化分面直方图(faceting histogram).使用gghighlight包突出高亮突出每个分面中的一个分组的直方图(highlight histogram in fac ...

  6. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)

    R语言ggplot2可视化绘制线图(line plot).使用gghighlight包突出高亮线图的满足条件的线图.设置高亮线图不显示默认自动显示的文本标签(use_direct_label = FA ...

  7. R语言ggplot2可视化为组合图添加综合图例实战:使用ggpubr包ggarrange函数实现综合图例、使用patchwork包实现综合图例

    R语言ggplot2可视化为组合图添加综合图例实战:使用ggpubr包ggarrange函数实现综合图例.使用patchwork包实现综合图例 目录

  8. r语言library什么意思_医学统计与R语言:百分条图与雷达图

    微信公众号:医学统计与R语言如果你觉得对你有帮助,欢迎转发 百分条图-输入1: library(ggplot2) 结果1: year 输入2: percentbar <- gather(perc ...

  9. r语言boxcox异方差_基于R语言进行Box-Cox变换

    原标题:基于R语言进行Box-Cox变换 作者简介 作者:吴健中国科学院大学 R语言.统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享 个人公众号:统计与编程语言 Q: 为什么要进行Bo ...

最新文章

  1. 50万奖金+京东数科offer,JDD-2018全球总决赛冠军诞生
  2. sklearn基于make_scorer函数为Logistic模型构建自定义损失函数并可视化误差图(lambda selection)和系数图(trace plot)+代码实战
  3. BufferedReader 和BufferedWriter
  4. 我的世界服务器反作弊不起作用,我的世界服务器反作弊怎么搞 | 手游网游页游攻略大全...
  5. C++——重载运算符和重载函数
  6. tensorflow就该这么学--5( 神经网络基础)
  7. thymeleaf入门简介
  8. Qt Creator查找和更换
  9. 没光驱怎么重装电脑系
  10. matlab创建nc文件怎么打开,MATLAB打开nc文件并读取nc文件数据
  11. FPGA学习笔记---3种乘法器的比较
  12. activiti 学习由浅入深
  13. 开发板上rmmod卸载驱动的时候,常见的错误总结
  14. Ubuntu 安装宋体
  15. 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持机型介绍
  16. 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
  17. 【秃头系列】-【本科生毕设论文格式Word】自动生成目录并调整目录
  18. linux中文显示乱码情况解决
  19. JVM虚拟机概述(2)
  20. 工作6年多的码农ios职位面试总结(续)

热门文章

  1. 交互设计基本功!5个值得学习的APP交互方式
  2. 使用java抓取金山词霸的每日一句
  3. div实现拖动时候出现禁止图标解决——e.preventDefault e.preventDefault();
  4. 重拾java之线程1
  5. tipask二次开发总结_WeCenter和Tipask的智能问答系统的区别
  6. 静态pc端页面,你一定用得上的技巧
  7. css实现3d正方体旋转
  8. cobbler源码安装
  9. AMD锐龙7 7745HX和i9-12900HX选哪个 r77745HX和i912900HX对比
  10. 乐高太多没处放?解放女朋友双手,1 个顶 100 个的乐高智能分拣机来了!