大家应该很熟悉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语言的安装了,这个我就直接略过。接下来进入核心知识。
- 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.4binx64”。环境变量设置好,这样就可以编译R包了,可是呢会出现以下错误,原因就是我们需要将所有的man目录下的.Rd里的title必须填写内容。
接下来将是见证奇迹的时刻了,填充好title后再次运行编译程序:
那么我们的R包建好了,当然R包也是gz结尾的,意味着只有Linux下是好用的。既然这样,那么我们正好可以来试验下我们R结合Rtool的强大。直接在window是下导入我们建好的R包,不过提前声明的是如果导入Linux下的R包最好是本地导入,而不是直接在线下载,那样是不会成功的。直接上图