专栏首页R语言交流中心R语言windows环境下R包的构建与.gz包的导入

R语言windows环境下R包的构建与.gz包的导入

大家应该很熟悉windows下的R语言,并且也知道如何安装R包。但是呢,如果对于我们这种Linux小白很好奇那些只有在Linux下才能用的包怎么能让我们在windows下体验下呢。那么,作为神一样的R语言简直无所不能,他们开发了Rtool,这个工具不仅是为创建R包用的,同时也可以让那些以gz结尾的R包可以安装在windows环境下。今天我们就来介绍下R语言与Rtool结合后是如何玩转R包的。

首先我们需要下载Rtool软件:

下载链接:https://cran.r-project.org/bin/windows/Rtools/

至于版本的选择,看自己需求了,基本是选择最新的。

那么,Rtool的安装其实就是傻瓜式安装,没有什么需要展示的,但是有一个细节必须提出,那就是见截图:

当安装到这个页面是一定注意要将环境变量打勾,不然等于白安装,很多时候用起来就不方便了。

接下来就是R语言的安装了,这个我就直接略过。接下来进入核心知识。

  1. R包的创建:

首先我们需要编写基本的函数,我们直接借用样例程序:

f <-function(x, y) x+y

g <-function(x, y) x-y

d <-data.frame(a = 1, b = 2)

e <-rnorm(1000)

package.skeleton(list= c("f","g","d","e"), name ="mypkg")

运行后结果:

我们来看下函数package.skeleton的基本构成

从函数我们可以看出,不仅仅是有函数的直接打包,还可以将R文件直接打包,具体的调用方式就是code_files参数等号后面加路径例如code_files="G:/R_test/test.R"。

打包程序运行后那么就会生成几个文件夹

data文件夹保存数据(本例中对应d),R文件夹保存函数(本例中对应f和g),man文件夹存放.Rd文件,用来生成帮助文件。

接下来就是编译R包,编译R包前我们需要先验证时是不是Rcmd所在的文件夹已经在环境变量中否则直接调用Rcmd会出错如图

Rcmd所在的文件夹路径,我是64位所以就是“R-3.4.4\bin\x64”。环境变量设置好,这样就可以编译R包了,可是呢会出现以下错误,原因就是我们需要将所有的man目录下的.Rd里的title必须填写内容。

接下来将是见证奇迹的时刻了,填充好title后再次运行编译程序:

那么我们的R包建好了,当然R包也是gz结尾的,意味着只有Linux下是好用的。既然这样,那么我们正好可以来试验下我们R结合Rtool的强大。直接在window是下导入我们建好的R包,不过提前声明的是如果导入Linux下的R包最好是本地导入,而不是直接在线下载,那样是不会成功的。直接上图

本文分享自微信公众号 - R语言交流中心(R_statistics),作者:一粒沙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-09

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言之肿瘤进化事件选择的算法实现

    我们今天给大家介绍一个通过人类肿瘤的进化条件所选择的事件介绍。其只设计了Linux下的版本所以我们如果需要安装在windows下还是需要利用devtools进行...

    一粒沙
  • R语言获取ArrayExpress数据库数据

    大家可能有一部分人对ArrayExpress数据库是比较熟悉的,当然也有人可能没怎么听说过。今天我么主要介绍一个可以获取ArrayExpress数据库数据的R包...

    一粒沙
  • R语言实现流式细胞数据分析

    流式细胞术通过光学检测系统快速检测多参数的细胞流。许多因素使得流式细胞术能够成功和广泛的应用,比如检测速度(能够允许大量的细胞被检测),高度的准确性和分辨率,低...

    一粒沙
  • 设计模式之外观模式-总结

    凯哥突然感觉,使用家庭影院这个例子不恰当。换个通俗易懂的。去银行存取钱。这个案例大家都遇到过吧。

    凯哥Java
  • 我的2017年度盘点

    https://www.gitbook.com/book/riboseyim/linux-perf-master/details

    RiboseYim
  • R语言之肿瘤进化事件选择的算法实现

    我们今天给大家介绍一个通过人类肿瘤的进化条件所选择的事件介绍。其只设计了Linux下的版本所以我们如果需要安装在windows下还是需要利用devtools进行...

    一粒沙
  • ASP.NET / Core 网站图片防盗链

    作为网站开发者,我们有时候不希望自己网站地上的图片被其他网站直接引用。这在某些场景下会导致自己数据中心里巨大的带宽消耗,也就意味着别人使用我们的图片,而我们要为...

    Edi Wang
  • 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!

    作者:Javen Fang 链接:https://zhuanlan.zhihu.com/p/22222383 简评:给我的最大的印象时,才 25 年,达到这么惊...

    智能算法
  • 学习笔记-小甲鱼Python3学习第五讲

    浮点型:12.234、2.3e5 = 230000.0、1.5e-3 = 0.0015

    py3study
  • 想不到竟然能用 Python 开发出这 10 个区块链项目?

    Python不是主流的区块链底层平台开发语言,但是在DApp 开发、区块链仿真与数据分析、智能合约安全分析等领域,Python 依然是不错的选择。

    Python猫

扫码关注云+社区

领取腾讯云代金券