当前位置:首页 » 编程软件 » rcmd怎么编译

rcmd怎么编译

发布时间: 2023-02-04 03:22:37

㈠ 如何在windows下使用Rtools生成包,并安装包

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.e.cn/cran Beijing Jiaotong University, Beijing
http://cran.dataguru.cn Dataguru (a, Guangzhou
http://mirrors.ustc.e.cn/CRAN/ University of Science and Technology of China
http://mirrors.xmu.e.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环境中直接添

linux环境下,java怎么调用R语言

1、下载wgethttp://mirror.bjtu.e.cn/cran/src/base/R-3/R-3.0.1.tar.gz2、解压:tar-zxvfR-3.0.1.tar.gzcdR-3.0.13、安装(当然也可以跳过)yuminstallreadline-develyuminstalllibXt-devel./configure4、配置环境并编译安装#如果使用rJava需要加上--enable-R-shlib(这个我不需要,所以加入到后面)#如果3没安装,那么后面加上:--with-readline=no--with-x=no./configure--prefix=/usr/R-3.0.1make$$makeinstall5、配置环境变量并生效vi.bash_profileexportR_HOME=/usr/R-3.0.1exportPATH=.:$R_HOME/bin:$PATH#试环境变量生效source.bash_profile6、命令行测试[admin@JDsoftware]$RWARNING:ignoringenvironmentvalueofR_HOMERversion3.0.1(2013-05-16)--"GoodSport"Copyright(C):x86_64-unknown-linux-gnu(64-bit)R是自由软件,不带任何担保。在某些条件下你可以将其自由散布。用'license()'或'licence()'来看散布的详细条件。R是个合作计划,有许多人为之做出了贡献.用'contributors()'来看合作者的详细情况用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或用'help.start()'通过HTML浏览器来看帮助文件。用'q()'退出R.>q()7、创建脚本测试(t.R)cd/opt/script/Rvimt.R#!/path/to/Rscript#第一行x<-c(1,2,3)#R语言代码y<-c(102,299,301)model<-lm(y~x)summary(model)8、测试:执行脚本RCMDBATCH--args/opt/script/R/t.Rmore/opt/script/R/t.Rout#查看执行的结果或者第二种方式Rscript/opt/script/R/test.R#结果直接输出到终端

㈢ 创建R包时出现Rcmd不是内部命令是怎么回事

rcmd应该是一个命令行工具,你可以找给你材料的人要

㈣ 如何在windows中编写R程序包

在Windows环境下如何编写R程序包,即生成供linux环境编译运行的tar.gz文件,也生成供windows下使用的.zip文件呢?其实并不复杂,只要下载一些工具软件,按照相应的步骤填写相应的“表格”,继而运行一些简单的指令,就可以生成R的程序包了。

编写R程序包通常包括以下几步:

(1) 工具软件Rtools的安装和备选软件的安装。
(2) r脚本的准备,也就是用来生成程序包的函数脚本。
(3) 利用R中自带的package.skeleton()函数,生成制作包所需要的Description 文件和帮助文件帮助文件.rd。
(4) 编辑该函数生成的Description 文件和帮助文件.rd
(5) 在windows cmd的命令行中输入相应的命令,生成zip文件或者.tar.gz

下面我们来一起建立只有一个函数的R程序包,来详细说明:

一 工具软件安装和配置
制作r包的工具软件包括Rtools,HTML编译器,MikTeX 或Cte等(备选软件不一定要安装):

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格式的帮助文件
下载地址:http://go.microsoft.com/fwlink/?LinkId=14188

(3) MikTeX 或CteX(备选)
用来生成PDF格式的帮助文件
下载地址:http://www.miktex.org/ www.ctex.org/
分别按照要求安装好。

2 设置文件启动路径:
我的电脑>属性>高级>环境变量>系统变量 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:\CTEX\Ghostscript\gs8.64\bin;C:\CTEX\GSview\gsview;C:\CTEX\WinEdt;C:\Program Files\R\R-2.9.0\bin\;
设置启动路径的目的是在cmd命令行可以直接调用相应的exe文件。

如果只是简单制作一个个人使用的包,只需将c:\Rtools\bin;c:\Rtools\perl\bin;c:\Rtools\MinGW\bin; 添加到系统路径即可

二 R脚本的准备
假如现在我们已经有了一个编好的R函数,用来给出回归的精确结果,存成了r脚本的格式,文件名为linmod.r
其内容如下所示,那么该如何制作R程序包呢?

linmod<- function(x, y)
{
## compute QR-decomposition of x
qx <- qr(x)
## compute (x'x)^(-1) x'y
coef <- solve.qr(qx, y)
## degrees of freedom and standard deviation of resials
df <- nrow(x)-ncol(x)
sigma2 <- sum((y - x%*%coef)^2)/df
## compute sigma^2 * (x'x)^-1
vcov <- sigma2 * chol2inv(qx$qr)
colnames(vcov) <- rownames(vcov) <- colnames(x)
list(coefficients = coef,
vcov = vcov,
sigma = sqrt(sigma2),
df = df)
}

三 R包框架的准备
1 生成准备文件
登陆R :开始>所有程序>R>R.2.9.0
(1)清除内存中的对象:
rm(list=ls())
(2)设定工作目录,这里设定为 c:/pa
setwd("c:/pa")
(3)将制作包的源文件 linmod.r拷贝到c:/pa/文件夹下,
之后输入:
package.skeleton(name="linmod",code_files="c:/pa/linmod.r")

此时,R控制台中显示
Creating directories ...
Creating DESCRIPTION ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './linmod/Read-and-delete-me'.
>

可以看到c:/pa文件夹下新出现了一个linmod文件夹
该文件夹下的内容就是R包的框架,包括data文件夹,man文件夹,只要按要求将其填写完整,再进行相应的编译即可。
首先查看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建立和检查相应的包
查看更多信息,应该阅读Writing R Extensions

2 编辑Description文件和rd文件
(1) Description文件的编辑
按照提示,填好各项

Package: linmod
Type: Package
Title: test for linear regression
Version: 1.0
Date: 2009-07-20
Author: helixcn
Maintainer: helixcn <[email protected]>
Description: To give the exactly results of linear regression.
License: GNU 2 or later
LazyLoad: yes

(2)man文件夹中.rd文件编辑
man文件夹中包含两个文件 linmod.Rd和linmod-package.Rd,分别是对linmod()函数和linmod包的介绍,下面逐项填写:

1) linmod.Rd
\name{linmod}
\Rdversion{1.1}
\alias{linmod}
%- Also NEED an '\alias' for EACH other topic documented here.
\title{
linear regression
}
\description{
to give the more exactly results of linear regression
}
\usage{
linmod(x, y)
}
%- maybe also 'usage' for other objects documented here.
\arguments{
\item{x}{
a numeric design matrix for the model
}
\item{y}{
a numeric vector of responses
}
}
\details{
%% ~~ If necessary, more details than the description above ~~
}
\value{

%% ~Describe the value returned
%% If it is a LIST, use
%% \item{comp1 }{Description of 'comp1'}
%% \item{comp2 }{Description of 'comp2'}
%% ...
}
\references{
Friedrich Leisch,2008 Creating R Packages: A Tutorial
}
\author{
helixcn
}
\note{
Please read Friedrich Leisch,2008
}
%% ~Make other sections like Warning with \section{Warning }{....} ~

\seealso{
%% ~~objects to See Also as \code{\link{help}}, ~~~
}
\examples{
##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (x, y)
{
qx <- qr(x)
coef <- solve.qr(qx, y)
df <- nrow(x) - ncol(x)
sigma2 <- sum((y - x \%*\% coef)^2)/df
vcov <- sigma2 * chol2inv(qx$qr)
colnames(vcov) <- rownames(vcov) <- colnames(x)
list(coefficients = coef, vcov = vcov, sigma = sqrt(sigma2),
df = df)
}
}
% Add one or more standard keywords, see file 'KEYWORDS' in the
% R documentation directory.
\keyword{ ~kwd1 }
\keyword{ ~kwd2 }% __ONLY ONE__ keyword per line

2)linmod-package.Rd
\name{linmod-package}
\Rdversion{1.1}
\alias{linmod-package}
\alias{linmod}
\docType{package}
\title{Linear Regression Modification}
\description{to Give the more exactly output of linear regression rather than R default}
\details{
\tabular{ll}{
Package: \tab linmod\cr
Type: \tab Package\cr
Version: \tab 1.0\cr
Date: \tab 2009-07-20\cr
License: \tab GNU 2.0 or later\cr
LazyLoad: \tab yes\cr
}
~~The aim of the package was to give the more exactly output of linear regression~~ linmod~~
}
\author{helixcn
Maintainer: helixcn <[email protected]>}
\references{
Friedrich Leisch,2008,Creating R Packages: A Tutorial
}
\seealso{lm}
\examples{
data(cats, package="MASS")
mod1 <- linmod(Hwt~Bwt*Sex, data=cats)
mod1
summary(mod1)
}

四 通过cmd创建R包

开始>运行>cmd
键入 cd c:\pa\ 将工作目录转移到c:/pa下

键入 Rcmd build --binary linmod 制作window zip包
键入 Rcmd build linmod 制作linux平台下可运行的tar.gz包
命令运行完之后可以发现,在c:/pa/文件夹下分别生成了linmod.zip和linmod.tar.gz压缩包。

注意R CMD 系列命令是在windows控制台下运行,而非R控制台

参考网址
[1]http://www.robjhyndman.com/researchtips/building-r-packages-for-windows/
[2]http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf
[3]http://faculty.chicagobooth.e/peter.rossi/research/bayes%20book/bayesm/Making%20R%20Packages%20Under%20Windows.pdf
[4]http://www.biostat.uni-hannover.de/teaching/fallstudien/schaarschmidt2.pdf

热点内容
功能点估算法是 发布:2024-05-02 16:24:38 浏览:165
b站非法访问 发布:2024-05-02 16:09:59 浏览:456
宝马523压缩机 发布:2024-05-02 16:00:40 浏览:611
冒险岛m韩服安卓汉化包哪里搞 发布:2024-05-02 16:00:24 浏览:955
云服务器托管平台 发布:2024-05-02 15:55:16 浏览:860
linux查看服务状态 发布:2024-05-02 15:55:15 浏览:933
phpfirebird 发布:2024-05-02 15:45:55 浏览:125
思科服务器怎么修改imc地址 发布:2024-05-02 15:35:27 浏览:770
强制删除文件夹的工具 发布:2024-05-02 15:34:34 浏览:770
sql存储过程调用存储过程 发布:2024-05-02 15:34:33 浏览:897