如何在windows中編寫R程序包 如何在windows中編寫R程序包
編寫R程序包通常包括以下幾步:
(1) 工具軟件Rtools的安裝和備選軟件的安裝。
(2) r腳本的準(zhǔn)備,也就是用來生成程序包的函數(shù)腳本。
(3) 利用R中自帶的package.skeleton()函數(shù),生成制作包所需要的Description 文件和幫助文件幫助文件.rd。
(4) 編輯該函數(shù)生成的Description 文件和幫助文件.rd
(5) 在windows cmd的命令行中輸入相應(yīng)的命令,生成zip文件或者.tar.gz
下面我們來一起建立只有一個(gè)函數(shù)的R程序包,來詳細(xì)說明:
一 工具軟件安裝和配置
制作r包的工具軟件包括Rtools,HTML編譯器,MikTeX 或Cte等(備選軟件不一定要安裝):
1 工具軟件安裝
(1)Rtools(制作R包的主要工具)
Rtools是在windows下制作R包的一系列工具,其中包括
1) CYGWIN 在Windows下模擬UNIX環(huán)境
2) MinGW編譯器,可用來編譯C和Fortran語(yǔ)言。
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 設(shè)置文件啟動(dòng)路徑:
我的電腦>屬性>高級(jí)>環(huán)境變量>系統(tǒng)變量 PATH一項(xiàng),點(diǎn)擊“編輯”,檢查是否具有以下路徑,如果沒有,需要手工添加:
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\;
設(shè)置啟動(dòng)路徑的目的是在cmd命令行可以直接調(diào)用相應(yīng)的exe文件。
如果只是簡(jiǎn)單制作一個(gè)個(gè)人使用的包,只需將c:\Rtools\bin;c:\Rtools\perl\bin;c:\Rtools\MinGW\bin; 添加到系統(tǒng)路徑即可
二 R腳本的準(zhǔn)備
假如現(xiàn)在我們已經(jīng)有了一個(gè)編好的R函數(shù),用來給出回歸的精確結(jié)果,存成了r腳本的格式,文件名為linmod.r
其內(nèi)容如下所示,那么該如何制作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 residuals
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包框架的準(zhǔn)備
1 生成準(zhǔn)備文件
登陸R :開始>所有程序>R>R.2.9.0
(1)清除內(nèi)存中的對(duì)象:
rm(list=ls())
(2)設(shè)定工作目錄,這里設(shè)定為 c:/pa
setwd("c:/pa")
(3)將制作包的源文件 linmod.r拷貝到c:/pa/文件夾下,
之后輸入:
package.skeleton(name="linmod",code_files="c:/pa/linmod.r")
此時(shí),R控制臺(tái)中顯示
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文件夾下新出現(xiàn)了一個(gè)linmod文件夾
該文件夾下的內(nèi)容就是R包的框架,包括data文件夾,man文件夾,只要按要求將其填寫完整,再進(jìn)行相應(yīng)的編譯即可。
首先查看Read-and-delete-me文件
文件內(nèi)容如下:
* 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 的源代碼應(yīng)該放入src文件夾下
需要在登錄時(shí)載入包
可以運(yùn)行R CMD建立和檢查相應(yīng)的包
查看更多信息,應(yīng)該閱讀Writing R Extensions
2 編輯Description文件和rd文件
(1) Description文件的編輯
按照提示,填好各項(xiàng)
Package: linmod
Type: Package
Title: test for linear regression
Version: 1.0
Date: 2009-07-20
Author: helixcn
Maintainer: helixcn <zhangjl@ibcas.ac.cn>
Description: To give the exactly results of linear regression.
License: GNU 2 or later
LazyLoad: yes
(2)man文件夾中.rd文件編輯
man文件夾中包含兩個(gè)文件 linmod.Rd和linmod-package.Rd,分別是對(duì)linmod()函數(shù)和linmod包的介紹,下面逐項(xiàng)填寫:
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 <helixcn@163.com>}
\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創(chuàng)建R包
開始>運(yùn)行>cmd
鍵入 cd c:\pa\ 將工作目錄轉(zhuǎn)移到c:/pa下
鍵入 Rcmd build --binary linmod 制作window zip包
鍵入 Rcmd build linmod 制作linux平臺(tái)下可運(yùn)行的tar.gz包
命令運(yùn)行完之后可以發(fā)現(xiàn),在c:/pa/文件夾下分別生成了linmod.zip和linmod.tar.gz壓縮包。
注意R CMD 系列命令是在windows控制臺(tái)下運(yùn)行,而非R控制臺(tái)
參考網(wǎng)址
[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.edu/peter.rossi/research/bayes%20book/bayesm/Making%20R%20Packages%20Under%20Windows.pdf
[4]http://www.biostat.uni-hannover.de/teaching/fallstudien/schaarschmidt2.pdf
電腦畫圖在哪里電腦里Window的畫圖工具在哪里
雖然微軟已經(jīng)為它頒發(fā)了退休令,但畫圖何時(shí)離開崗位還尚不可知,微軟暫時(shí)未公布從Windows 10里剔除畫圖程序的具體時(shí)間,不過從今年秋季更新起,就是Paint 3D的時(shí)代了。‘肆’ 電腦畫圖工具在哪里 畫圖工具在windows菜單中,可以通過“運(yùn)行”來打開,具體使用方式如下:1、鉛筆功能。首先打開畫圖功能,選擇...
EXE與MSI文件有何區(qū)別
這兩種文件類型通常與安裝程序包相關(guān)聯(lián),實(shí)際上它們?cè)诤艽蟪潭壬舷嗷ヒ蕾嚒?如果沒有 Windows Installer,EXE 文件無法安裝任何東西,反之,如果沒有 EXE,您也無法運(yùn)行已安裝的程序。雖然它們有一些相似之處,但它們也有很多不同之處。 值得慶幸的是,在大多數(shù)情況下它不需要成為一個(gè)選擇。推薦:Shopify ...
在WinRAR中,常用壓縮文件的方法有哪幾種?
“解壓到”就是將壓縮包解壓出去,其他功能可以自行探索。「天貓手機(jī)館」-熱銷爆款手機(jī),嗨購(gòu)超低價(jià)!廣告 編輯于2018-12-31,內(nèi)容僅供參考并受版權(quán)保護(hù) 贊踩分享 Winrar使用教程 壓縮軟件是為了使文件的大小變得更小便于交流而誕生的。WinRAR 是在 windows 的環(huán)境下對(duì).rar 格式的文件(經(jīng)WinRAR壓縮形成...
windows下有哪些免費(fèi)的程序打包軟件
不過,軟件打包思路有點(diǎn)陳舊,還是使用Win2000時(shí)代的安裝部署方式,需要再Windows 的System目錄下安插一個(gè)Uninstall程序,搞得每次做出來的安裝包都有一個(gè)在系統(tǒng)目錄植入文件的操作。而目前,各類殺毒軟件對(duì)這種操作比女性私處還敏感,你這么大張旗鼓地安裝個(gè)文件,殺毒軟件還不都刷刷刷地出來報(bào)警,你讓一般啥都不懂的電腦...
電腦上的win10許可證在哪查看win10電腦激活是否有數(shù)字許可證_百度知 ...
3、從Microsoft網(wǎng)站獲取數(shù)字副本。產(chǎn)品密鑰在購(gòu)買后收到的確認(rèn)電子郵件中。或者,如果購(gòu)買了Windows10,產(chǎn)品密鑰會(huì)作為數(shù)字許可證分配,在此情況下不會(huì)包含產(chǎn)品密鑰。密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)。密鑰分為對(duì)稱密鑰與非對(duì)稱密鑰。1、按下【W(wǎng)in+R】打開運(yùn)行...
電腦激活密鑰在哪里產(chǎn)品密鑰在電腦的哪里
另外在最新版本的aida64中,操作系統(tǒng)被單獨(dú)羅列出來,如圖所示,所以我們可以更方便的查詢出完整密鑰。方法四:Proct Key軟件查詢還有個(gè)方法,就是利用軟件“產(chǎn)品密鑰查詢工具Proct Key”,下載安裝后運(yùn)行ProKey.exe主程序,就可以查詢當(dāng)前系統(tǒng)的OEM 25位完整密鑰。3. windows10激活密鑰在哪看 Win10系統(tǒng)...
如何在Win1110中利用任務(wù)計(jì)劃程序執(zhí)行批處理文件
任務(wù)計(jì)劃程序允許您觸發(fā)批處理文件在特定時(shí)間或發(fā)生指定事件時(shí)運(yùn)行。您還可以獲得大量可配置選項(xiàng)來定義文件的運(yùn)行方式。我們假設(shè)您已經(jīng)創(chuàng)建了批處理文件,因此在本文中,我們將向您展示如何安排該批處理文件的運(yùn)行。為什么在 Windows PC 上安排批處理文件在您的 PC 上安排批處理文件的原因有無數(shù)。一個(gè)很好...
程序語(yǔ)言,操作系統(tǒng),編譯器三者之間有何關(guān)系?
對(duì)于高級(jí)語(yǔ)言:翻譯的過程叫做編譯,翻譯工具叫做編譯程序或編譯器。 我覺得 這樣看的話 是選擇A 操作系統(tǒng)和語(yǔ)言程序的關(guān)系 操作系統(tǒng)是系統(tǒng)軟件,不是編程語(yǔ)言。軟件是由編程語(yǔ)言編寫。常用的語(yǔ)言如匯編,C,C++,VC,VB,JAVA,DELPHI等。大部分應(yīng)用程序都應(yīng)在一定的系統(tǒng)平臺(tái)(Windows,Unix,LInux)下工作。并不是說一定要有...
電腦設(shè)置默認(rèn)在哪里找電腦上怎么把word設(shè)置為默認(rèn)應(yīng)用
6、此時(shí),如果電腦中安裝了360,可能會(huì)出現(xiàn)警告,這時(shí)只需要點(diǎn)擊允許就可以了。④ 電腦默認(rèn)程序設(shè)置在哪 具體方法如下:1、點(diǎn)擊開始圖標(biāo)→控制面板;2、在控制面板中點(diǎn)擊→程序;3、進(jìn)入程序點(diǎn)擊→默認(rèn)程序;4、按Windows+R組合鍵調(diào)出運(yùn)行窗口,輸入命令(點(diǎn)擊確定)也能打開該項(xiàng)目:5、進(jìn)入設(shè)置默認(rèn)程序界...
如何使用Hysolate在虛擬環(huán)境中運(yùn)行高風(fēng)險(xiǎn)Windows應(yīng)用程序
Windows 完成安裝過程后,Hysolate 將成為您啟動(dòng)應(yīng)用程序的一部分。 這會(huì)顯著降低您的 PC 速度。 因此,如果您不想要這個(gè),您可以將其從啟動(dòng)應(yīng)用程序列表中刪除,以便您可以手動(dòng)啟動(dòng)它。switch-from-your-primary-environment-to-hysolate-39-s-virtual-environment-in-windows-11"如何在 Windows 11 中從...
相關(guān)評(píng)說:
柳河縣工件: ______ 在Windows下編寫基于Posix標(biāo)準(zhǔn)的多線程程序的方法:1、進(jìn)入pthread-win32開源庫(kù)官網(wǎng),單擊pthread-win32-2-9-1-release.zip進(jìn)行下載2、下載后的文件解壓縮后,進(jìn)行二次開發(fā)只需要里面的Pre-built.2文件夾里面的內(nèi)容 Pre-built.2文件夾下面...
柳河縣工件: ______ 一、首先,按住鍵盤上的Win+R組合鍵,調(diào)出win7旗艦版運(yùn)行窗口,然后在運(yùn)行窗口中輸入CMD命令,按下回車鍵調(diào)出命令提示符面板. 二、在雨林木風(fēng)win7旗艦版DOS面板里面,比如你要打開酷狗,那么你就在DOS界面中輸入“cd c:\program files”命令,接著在屏幕會(huì)彈出在c:\program files路徑下執(zhí)行命令,你再輸入“cd kugou”,接著屏幕會(huì)將其路徑定位到c:\program files\KuGou目錄中.然后再輸入“cd kgmusic”命令,按下回車鍵. 三、接著就是要啟動(dòng)深度win7下KUGOU.EXE程序,所以在這邊直接輸入命令KUGOU或者KUGOU.EXE命令.
柳河縣工件: ______ 使用start /b +命令即可,具體方法如下: 1. 按windows和r組合鍵打開運(yùn)行面板; 2. 在運(yùn)行框內(nèi)輸入cmd,再按回車鍵進(jìn)入命令提示符中; 3. 在命令提示符中輸入“ start /b 命令 " 再按回車,即可后臺(tái)運(yùn)行該命令.
柳河縣工件: ______ 編譯程序windows上的vc/vs環(huán)境使用的 是cl.exe這個(gè)編譯程序. 直接在命令行執(zhí)行 cl xx.cpp即可.
柳河縣工件: ______ 打開windows系統(tǒng)的系統(tǒng)服務(wù),有以下幾種方式:1、右擊我的電腦/計(jì)算機(jī),點(diǎn)擊管理,打開計(jì)算機(jī)管理.依次選擇服務(wù)和應(yīng)用程序——服務(wù).2、使用快捷鍵和命令:同時(shí)按下win+r鍵,在運(yùn)行窗口中輸入services.msc,即可打開服務(wù).用以上兩種方法打開服務(wù)后,雙擊想要打開的的服務(wù),選擇啟動(dòng).以windows updata為例:在服務(wù)狀態(tài)選擇“啟動(dòng)”,就可以打開服務(wù),根據(jù)是否需要開機(jī)啟動(dòng),啟動(dòng)類型可以選擇自動(dòng)或者手動(dòng),自動(dòng)為開機(jī)自啟.
柳河縣工件: ______ 點(diǎn)評(píng):假如你在打開游戲或者軟件時(shí)提示缺少某個(gè).dll文件,通常是下載這個(gè)dll文件復(fù)制到“ X:\Windows\system32 ”,大部分人的系統(tǒng)是裝在C盤,就把文件復(fù)制到 “ C:\Windows\system32 ”下. 假如你在打開游戲或者軟件時(shí)提示缺少某個(gè)....
柳河縣工件: ______ 網(wǎng)上找找《Exploratory Multivariate Analysis》這本書,用R編的
柳河縣工件: ______ 首先我們隨便在哪個(gè)磁盤分區(qū)新建一個(gè)文件夾,名稱隨便,我這里給建個(gè)快捷方式的文件夾“shortcut” 將我們常用的一些軟件快捷方式拖入這個(gè)文件夾中,取一個(gè)好記的名稱,例如酷狗就改成kugo、QQ跟YY什么的就不變了,反正怎么好記改...
柳河縣工件: ______ 你將會(huì)發(fā)現(xiàn)我提倡Linux、Mac以及Java(排序沒有先后之分).不過,我在馬尼拉... 同樣,你不能把為Mac操作系統(tǒng)編寫的程序在Windows上運(yùn)行.然而,用Java編寫的程...