r语言和metawin_如何创建R的HelloWorld包(Windows或Linux环境下)
1.Windows環境下
1.2安裝完后,配置系統的path
1.2.1假定R的安裝路徑在:D:\Program Files\R\R-2.5.0\bin;Rtools的安裝路徑在:c:\Rtools\;HTML Help Workshop的安裝路徑在:C:\Program Files\HTML Help Workshop;MikTex的安裝路徑在:C:\Program Files\MiKTeX 2.5\miktex\bin;
1.2.2在系統的PATH里面加上1.2.1里面提到的路徑(必須的,下面用粗體標出),如下
c:\Rtools\bin;c:\Rtools\perl\bin;c:\Rtools\MinGW\bin;C:\Program Files\HTML Help Workshop;C:\Program Files\MiKTeX 2.5\miktex\bin;C:\WINDOWS\system32; C:\WINDOWS;C:\WINDOWS\System32\Wbem;
在下圖中,箭頭所指的區域就是設置PATH的地方,在path中增加路徑時,用分號分開。
1.2.3確認path設置是否有效。如果不知道,可以問旁邊的對計算機比較熟悉的人。鍵入下面的命令,如果正常說明PATH設置有效,
gcc --help
perl --help
TeX?--help
R CMD --help
1.3現在開始編寫R的包,我們用?package.skeleton()這個函數。
1.3.1打開R控制臺
鍵入如下代碼,
`hl`
function() "Hello World!";
`rLove`
function(name) paste("Welcom to R world, ", name, "!", sep = "");
`hl_data`
matrix(rnorm(100), nc = 10);
package.skeleton(name=”helloWorld”, list=c(“hl”, “rLove”, “hl_data”);
1.3.2查看當前工作路徑下面,會出現一個“helloWorld”的目錄,其中
R子目錄:包含*.R文件,就是R代碼,我們前面寫的hl,rLove函數都是在這里面(:_),hl_data呢?);
data子目錄:呵呵,這個就是放*.rda文件的地方,包括我們的hl_data.rda;
man子目錄:放在*.Rd文件,就是包,函數,數據的幫助文檔,tex格式的,不要怕Tex,依葫蘆畫瓢就行了,每個文件一看名字就知道是描述什么內容了;
DESCRIPTION文件:里面的內容我也不解釋了,自己改一下;
Read-and-delete-me文件:這個文件沒有什么用,看完后刪掉。
1.3.3打包或編譯上面的文件
首先,設置一下TMPDIR
D:\Work>set TMPDIR= D:\Work\tmp
然后,有兩種處理方式,
第一種是包的源碼格式(*.tar.gz),下面通常用這種格式安裝
D:\Work>R CMD build helloWorld
* checking for file 'helloWorld/DESCRIPTION' ... OK
* preparing 'helloWorld':
* checking DESCRIPTION meta-information ... OK
* removing junk files
* checking for LF line-endings in source files
* checking for empty or unneeded directories
* building 'helloWorld_1.0.tar.gz'
第二種是包的二進制格式(*.zip),Windows下面是用這種安裝
D:\Work>R CMD build --binary helloWorld
* checking for file 'helloWorld/DESCRIPTION' ... OK
* preparing 'helloWorld':
* checking DESCRIPTION meta-information ... OK
* removing junk files
* checking for LF line-endings in source files
* checking for empty or unneeded directories
* building binary distribution
WARNING
* some HTML links may not be found
installing R.css in D:/Work/tmp/Rinst220096374
Using auto-selected zip options ''
---------- Making package helloWorld ------------
adding build stamp to DESCRIPTION
installing R files
installing data files
installing man source files
installing indices
not zipping data
installing help
>>> Building/Updating help pages for package 'helloWorld'
Formats: text html latex example chm
helloWorld-package????????????????text????html????latex???example chm
hl????????????????????????????????text????html????latex???example chm
hl_data???????????????????????????text????html????latex???example chm
rLove?????????????????????????????text????html????latex???example chm
Microsoft HTML Help Compiler 4.74.8702
Compiling d:\Work\tmp\Rbuild220075595\helloWorld\chm\helloWorld.chm
Compile time: 0 minutes, 2 seconds
5???????Topics
11??????Local links
0???????Internet links
1???????Graphic
Created d:\Work\tmp\Rbuild220075595\helloWorld\chm\helloWorld.chm, 17,193 bytes
Compression increased file by 5,171 bytes.
adding MD5 sums
packaged installation of package 'helloWorld' as helloWorld_1.0.zip
* DONE (helloWorld)
1.3.4:_),你的第一個包helloWorld_1.0.zip大功告成。如何在Windows下面安裝?見下圖
然后在控制臺鍵入命令
library(helloWorld)
hl();
rLove(“Test”);
data(hl_data);
?hl
1.4我們是不是發現問題了?幫助文檔里面都是一些文不對題的言語。是的,在1.3.2步里面提到的文件中,我們必須手動修改man目錄下面的Rd文件(文本格式的,可以用任何文本工具打開)和DESCRIPTION文件。修改完后,重復1.3.3里面的編譯步驟。
1.5如果你不想用package.skeleton()這個函數。可以手工配置helloWorld目錄,所有的文件都是自己寫,寫完后再編譯。這里比較煩的是寫man目錄下面的Rd文件,一個簡單方法如下,
1)把R環境的工作路徑設在你要寫的包的man目錄下;
2)鍵入如下代碼,
`hl`
function() "Hello World!";
`rLove`
function(name) paste("Welcom to R world, ", name, "!", sep = "");
`hl_data`
matrix(rnorm(100), nc = 10);
prompt(rLove) #生成rLove.Rd
prompt(hl) #生成hl.Rd
prompt(hl_data) #生成hl_data.Rd
2.Linux環境下
同Windows下面的做法,除了不用痛苦地配置那些軟件(省略1.1和1.2),因為預先已經配置完了。從1.3開始就行了。安裝包的方式采用命令:R CMD INSTALL helloWorld_1.0.tar.gz
好運。
3.高手進階
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的r语言和metawin_如何创建R的HelloWorld包(Windows或Linux环境下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年月日_C++计算输入的年月日是这一年的
- 下一篇: list筛选数据_Power Query