如安在windows下利用Rtools生成包,并安装包
我先看了这篇文章:
http://www.biosino.org/R/R-doc/Rm/RpackageBuild/Rpackage.html
讲的很是具体,可是其利用的rtools的版本较量旧了,再一个我也以为对初学者有点巨大
厥后我在本论坛上搜到一篇利用简朴要领生成包的文章:
http://f.dataguru.cn/forum.php?mod=viewthread&tid=4427
前半部门很有用,可是后半部门有点差异,在这里写出来,权当给各人提个醒吧,遇到这些问题时不要走了弯路,不要被生成安装进程中的繁琐操纵否决了我们前进的步骤,究竟研究怎么做一个有代价的包是一件更有意义的工作
前泰半部门内容整理自http://f.dataguru.cn/forum.php?mod=viewthread&tid=4427,感激作者的无私奉献,让我少走了许多弯路
R通过挪用各类package可以实现许多新的应用。富厚的package资源正是R如此受追捧的一个很重要的原因。每位R User在利用R的时候城市积聚一些本身编写的常用的函数,将它们打成一个package是一个很是好的步伐。固然做成一个尺度的R包并宣布在CRAN上较量贫苦,可是假如仅仅是做成一个简朴的package供本身利用长短常容易的。本文先容最简朴的建造R包的要领。
这里主要先容在windows下的操纵进程,Linux下的请自行搜索
1、下载Rtools
Rtools的下载点是:
Please choose a CRAN mirrornear you, and follow the “Download R for Windows” link to
<CRAN mirror>/bin/windows/Rtools
找到CRAN镜像的网址:
China
http://ftp.ctex.org/mirrors/CRAN/ | CTEX.ORG |
http://cran.csdb.cn/ | Computer Network Information Center, CAS, Beijing |
http://mirror.bjtu.edu.cn/cran | Beijing Jiaotong University, Beijing |
http://cran.dataguru.cn | Dataguru (a, Guangzhou |
http://mirrors.ustc.edu.cn/CRAN/ | University of Science and Technology of China |
http://mirrors.xmu.edu.cn/CRAN/ | Xiamen University |
在网址后头添加/bin/windows/Rtools 即可
好比: http://cran.csdb.cn/bin/windows/Rtools/
我们下载版:Rtools215.exe
2、安装Rtools
安装的进程很傻瓜,不外有一点要留意:这个选项必需要选中,不然不会自动添加情况变量的
安装完成之后,打开一个cmd窗口,输入gcc –help,无误则说明情况变量配置正确。有的时候需要重启计较机,情况变量才生效
留意:我安装的Rtools是没有perl和TeX的
3、编写包
假设我们有自界说函数f1和f2以及数据矩阵d1,将其做成package,名字为test1,利用package.skeleton会在事情路径下自动生成package的框架。如下所示:
setwd(“D:/RData/workdir”)
f1 <- function(aa){return (aa)}
f2 <- function(aa){return(aa+2)}
d1 <- matrix(1:6,2,3)
package.skeleton(name=”test1″, list=c(“f1″,”f2″,”d1”))
我们会在D:\RData\workdir内发明新生成了文件夹test1,内里包括data、man和R三个子文件夹以及DESCRIPTION和Read-and-delete-me这两个文件。个中Read-and-delete-me可以通过文本东西打开阅读后删除,DESCRIPTION可以参照尺度的类型举办修改后生存(不做修改也不影响正常运行)。data文件夹生存数据(本例中对应d1),R文件夹生存函数(本例中对应f1和f2),man文件夹存放.Rd文件,用来生成辅佐文件。我们只需要修改每个.Rd文件就行,用文本东西打开并定位到“title”开头这一行,写入该函数可能数据的名称即可(好比d1),生存封锁。其实凭据尺度的做法,下面的description和examples之类的都要补全,可是只有title是必需补全的,不然编译会堕落。
修改title这块:
原始数据是:
\title{
What the package does (short line)
~~ package title ~~
}
我修改为:
\title{
my test r package
}
4、编译包
打开CMD,定位到D:\RData\workdir,举办编译,如下所示:
D:
cd D:\RData\workdir
Rcmd build test1
留意:假如没有把R语言的路径添加到情况变量中,运行Rcmd是会报错的,这时有两个步伐:
A。把Rcmd.exe地址路径添加到系统路径中
B。运行时添加Rcmd.exe的全路径,好比:
“C:\Program Files\R\R-2.15.0\bin\i386\Rcmd.exe” build test1
运行之后,查察D:\RData\workdir 目次下多了一个文件:
test1_1.0.tar.gz
(留意,凭据之前帖子里的说法是运行Rcmd build –binary test1 之后会生成zip文件,可是我添加了–binary参数之后报错,最终生成的也是tar.gz名目标,不知道是为什么)
tar.gz名目标无法RGui情况中直接添加(RGui情况中,只能选择Zip包安装,如下图)