當前位置:首頁 » 編程軟體 » 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

熱點內容
1500元組裝伺服器電腦 發布:2024-04-19 11:47:25 瀏覽:468
qq改密碼怎麼改手機 發布:2024-04-19 11:39:17 瀏覽:968
電腦上如何看wifi密碼 發布:2024-04-19 11:34:14 瀏覽:415
java性能測試腳本 發布:2024-04-19 11:25:24 瀏覽:980
存儲成本與性能 發布:2024-04-19 11:16:18 瀏覽:168
linux根文件系統製作 發布:2024-04-19 11:16:12 瀏覽:746
光遇夏日活動什麼時候安卓上線 發布:2024-04-19 11:08:15 瀏覽:854
Java開羅 發布:2024-04-19 10:50:55 瀏覽:959
linux音頻驅動 發布:2024-04-19 10:50:04 瀏覽:715
資料庫的表怎麼看 發布:2024-04-19 10:43:52 瀏覽:563