在windows中建设R措施包简明指南
当前位置:以往代写 > 其他教程 >在windows中建设R措施包简明指南
2019-06-14

在windows中建设R措施包简明指南

在windows中建设R措施包简明指南

R软件中CRAN镜像迄今已经保藏了2300多个措施包,险些涉及了统计编程的所有规模,每个措施包既有源代码,又有编译好的Windows可能MacOS平台下的措施。在编写R函数较多时,较好将其建造成措施包,便于打点和利用。假如愿意,还可以将R措施包提交到CRAN,与世界各地的用户分享成就。

在Windows情况下如何编写R措施包?也就是生成供Linux情况编译运行的tar.gz文件,也生成供windows下利用的.zip文件?这一进程并不巨大,但要下载一些东西软件,凭据相应的步调填写相应的“表格”,继而在节制台中输入一些指令。假如你是R的用户,相信这些不该该生疏了。

在Windows下编写R措施包凡是包罗以下几步:

(1)东西软件Rtools的安装和备选软件的安装。

(2)r剧本的筹备,也就是用来生成措施包的函数剧本。

(3)操作R中自带的package.skeleton()函数,生成建造包所需要的Description 文件和辅佐文件.rd 。

(4)按要求填写生成的Description 文件和辅佐文件.rd

(5)在windows cmd的呼吁行中输入相应的呼吁,生成zip文件可能.tar.gz,并举办相应的查抄。

下面我们来建设最简朴的一个R措施包,个中只包括一个函数。

一 东西软件安装和设置

建造r包的东西软件包罗Rtools,HTML编译器(R2.10后不需要HTML编译器),MikTeX 或 Ctex (假如不想得到pdf手册,则不需要安装)

1 东西软件安装

(1)Rtools(建造R包的主要东西)

Rtools是在windows下建造R包的一系列东西,个中包罗

1) CYGWIN 在Windows下模仿UNIX情况

2) MinGW编译器,可用来编译C和Fortran语言。

3) Perl

下载地点: http://www.murdoch-sutherland.com/Rtools/

(2) 微软HTML编译器(备选):

用来从源文件生成HTML名目标辅佐文件(2.10今后的版本则不需要)

下载地点:http://go.microsoft.com/fwlink/?LinkId=14188

(3) MikTeX 或CteX(备选)

用来生成PDF名目标辅佐文件

下载地点:http://www.miktex.org/ www.ctex.org/

别离凭据要求安装好。

2 配置文件启动路径:

配置启动路径的目标是在cmd呼吁行可以直接挪用Rtools等相应软件。

右键点击:

我的电脑>属性>高级>情况变量>系统变量 PATH一项,点击“编辑”,查抄是否具有以下路径。凡是软件在安装时已经自动设置好了启动路径。假如没有,需要手工添加:

c:\Rtools\bin;c:\Rtools\perl\bin;c:\Rtools\MinGW\bin; C:\CTEX\MiKTeX\miktex\bin;C:\CTEX\CTeX\ctex\bin;C:\CTEX\CTeX\cct\bin;C:\CTEX\CTeX\ty\bin; C:\Program Files\R\R-2.11.0\bin\;

#p#分页标题#e#

图1 配置启动路径

二 R剧本的筹备

如果此刻我们已经有了一个编好的R函数freq,用来计较物种呈现的相对频度,存成了r剧本的名目,文件名为freq.r

其内容如下所示

##############################################

freq <-

function(matr){

matr <- as.matrix(matr)

if(!is.matrix(matr)){

stop(“The input data must be matrix!\n”)

}

if(any(is.na(matr))){

matr <- na.omit(matr)

print(paste(“NA found in matrix, and have been removed\n”))

}

matr[matr>1] <- 1

result <- apply(matr, 2, sum)/nrow(matr)

return(result)

}

##############################################

下面是用R自带的package.skeletons()函数生成R措施包的框架

三 R包框架的筹备

1 生成筹备文件

登岸R :开始>所有措施>R>R.2.9.0

(1)排除内存中的工具,目标删除R内存中所有不需要的数据或函数:

rm(list=ls())

(2)设定事情目次,这里设定为 c:/pa

setwd(“c:/pa”)

(3)先用source()函数将r剧本中的函数读取。

假如要建设的R包中有许多函数,则发起先将各函数存在一个剧本文件,再用source()函数读取该剧本中的各函数,并将需要的数据读取到内存中。用package.skeleton (name=”packname”, list = ls())生成相应的包框架。

这里,我们要建设一个名为freq的R包。则输入以下呼吁:

package.skeleton(name=”freq”, list = ls())

此时,R节制台中显示

> package.skeleton(name=”freq”, list = ls())

Creating directories …

Creating DESCRIPTION …

Creating Read-and-delete-me …

Saving functions and data …

Making help files …

Done.

Further steps are described in ‘./freq/Read-and-delete-me’.

>

可以看到c:/pa文件夹下新呈现了一个freq文件夹

该文件夹下的内容就是R包的框架,包罗Read-and-delete-me,DESCRIPTION文件,r文件夹,man文件夹,只要按要求将其填写完整,再举办相应的编译即可。

Read-and-delete-me 包罗如何建设R包

DESCRIPTION 是对R包的扼要先容

r文件夹中存放的是.r文件,即各函数的源代码

man文件夹下存放的是Rd文件,也就是R辅佐的源代码

首先查察Read-and-delete-me文件

文件内容如下:

####################################################################################

* Edit the help file skeletons in ‘man’, possibly combining help files for multiple functions.

* Put any C/C++/Fortran code in ‘src’.

* If you have compiled code, add a .First.lib() function in ‘R’ to load the shared library.

* Run R CMD build to build the package tarball.

* Run R CMD check to check the package tarball.

Read “Writing R Extensions” for more information.

####################################################################################

大抵意思如下:

可以man文件夹下编辑辅佐文件

C/C++/Fortran 的源代码应该放入src文件夹下

需要在登录时载入包

可以运行R CMD成立和查抄相应的包

注:这里的R CMD说的是在Linux的终端输入的呼吁,实际上在Windows情况中应该输入 Rcmd

Rcmd build packname 给源措施打包,

Rcmd build –binary packname成立zip包。

Rcmd check packname 查抄措施包的错误。

查察过该文件之后,需要将其删除。

2 编辑Description文件和rd文件

(1) Description文件的编辑

凭据提示,填好各项

Description文件是该措施包的简介,这一名目是Debian Linux的作者发现的。

内容如下:

赤色部门是需要手工编辑的。

需要出格留意的是,本措施包的例子中利用了vegan措施包的数据,则应该在Description文件中插手Suggests:vegan,

    关键字:

在线提交作业