2011-09-18 11 views
1

我從來沒有做過,但想開發[R包裝用具:說明對R包開發一個外行

例如以下是我的函數和數據:

# random DNA function 
randDNA = function(n){ 
paste(sample(c("A", "C", "T", "G"), n, replace = TRUE), collapse = "") 
} 
# DNA to RNA function 
dna2rna <- function(inputStr) { 
    if (!is.character(inputStr)) 
    stop("need character input") 
    is = toupper(inputStr) 
    chartr("T", "U", is) 
} 

# complementary sequence function 
compSeq <- function(inputStr){ 
chartr("ACTG", "TGAC", inputStr) 
} 

# example data 
dnaseq1 <- c("ATTGTATCTGGGTATTTCCCTTAATTGGGGCCTTT") 
dnaseq2 <- c("TGGGGTAAACCCGGTTTAAAATATATATATTTTT") 
myseqdata <- data.frame(dnaseq1, dnaseq2) 
save(myseqdata, file = "myseqdata.RData") 

我試着使用utils包開發框架,但有一個問題:

require(utils) 

package.skeleton(list = c("randDNA","dna2rna", "compSeq", "myseqdata"), 
    name = "dnatool",environment = .GlobalEnv, path = "c:", force = FALSE) 



Creating directories ... 
    Creating DESCRIPTION ... 
    Creating Read-and-delete-me ... 
    Saving functions and data ... 
    Making help files ... 
    Error in .find.package(pkgName, lib.loc, verbose = verbose) : 
     there is no package called 'dnatool' 
    Error in package.skeleton(list = c("randDNA", "dna2rna", "compSeq", "myseqdata"), : 
     Error in .find.package(pkgName, lib.loc, verbose = verbose) : 
     there is no package called 'dnatool' 

我有問題,爲什麼我得到這個錯誤。當我看着C:\ dnatool時,我可以看到用data和r函數創建的文件夾。

現在我想編譯成包。由於我讀的指示,我用命令提示符來收拾它:我使用Windows 7

c:\> R CMD build dnatool 

顯然是行不通的。這是由於上述問題?我應該走什麼路?哪裏有爲R EXE或C:或C:\ dnatool

我會感謝您的幫助,如果你能在R 「門外漢」 式的幫助...謝謝...

EDITS: 我下載Rtools Rtools212.exe爲來自R版本2.12.2: http://www.murdoch-sutherland.com/Rtools/ 該工具安裝在C:\ Rtools

Directory of c:\Rtools 

09/18/2011 08:08 AM <DIR>   . 
09/18/2011 08:08 AM <DIR>   .. 
09/18/2011 08:07 AM <DIR>   bin 
03/31/2010 09:50 AM   18,347 COPYING 
09/18/2011 08:08 AM <DIR>   MinGW 
09/18/2011 08:09 AM <DIR>   MinGW64 
10/04/2010 10:21 AM    1,836 README.txt 
10/07/2010 08:26 AM    3,676 Rtools.txt 
09/18/2011 08:10 AM   728,889 unins000.dat 
09/18/2011 08:07 AM   1,182,143 unins000.exe 
       5 File(s)  1,934,891 bytes 
       5 Dir(s) 36,454,875,136 bytes free 

我包的骨架是在C:\ dnatool:

Directory of c:\dnatool 

09/17/2011 11:14 PM <DIR>   . 
09/17/2011 11:14 PM <DIR>   .. 
09/17/2011 11:14 PM <DIR>   data 
09/17/2011 11:14 PM    304 DESCRIPTION 
09/17/2011 11:14 PM <DIR>   man 
09/17/2011 11:14 PM <DIR>   R 
09/17/2011 11:14 PM    385 Read-and-delete-me 
       2 File(s)   689 bytes 
       5 Dir(s) 36,455,153,664 bytes free 

我的R程序是C:\ R ....

我的困惑在於下列指令:哪裏應該執行它們?我相信命令提示符。在哪個目錄下?

* Run R CMD build to build the package tarball. 
* Run R CMD check to check the package tarball. 

************編輯2:部分解決方案,但有新錯誤*********************** ******* 第一輪問題已經通過路徑建議解決了。我必須手動將路徑更改爲:

C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin; 
    C:\Program files\R\R-2.12.2\bin\x64; 

我將骨架存儲到新目錄。通過運行在命令提示符下鍵入以下命令:

C:\Users\Owner\Documents\rpackages> Rcmd INSTALL --build dnatool 

* installing to library 'C:/PROGRA~1/R/R-212~1.2/library' 
* installing *source* package 'dnatool' ... 
** R 
** data 
** preparing package for lazy loading 
** help 
Warning: C:/Users/Owner/Documents/rpackages/dnatool/man/dnatool-package.Rd:34: A 
ll text must be in a section 
Warning: C:/Users/Owner/Documents/rpackages/dnatool/man/dnatool-package.Rd:35: A 
ll text must be in a section 
*** installing help indices 
Error in Rd_info(db[[i]]) : Rd files must have a non-empty \title. 
See chapter 'Writing R documentation' in manual 'Writing R Extensions'. 
* removing 'C:/PROGRA~1/R/R-212~1.2/library/dnatool 

我沒有成功創建包,看到上面的窗口中的錯誤。這是什麼意思。我添加了相關的信息行34和35的文件dnatool-package .Rd ...幫助...謝謝...

+0

IIRC,你要記得設置路徑。老版本的RTools沒有爲你做這個,你必須手動完成。不知道這是否仍然如此。 –

+0

我如何在哪裏設置路徑? – SHRram

+0

請查看我對Rtools和其他信息的新編輯。 – SHRram

回答

1

我自己回答我的問題,以便它將保持未答覆,如果事實部分它是。

C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin; 
    C:\Program files\R\R-2.12.2\bin\x64; 
I stored the skeleton to new directory. 

通過運行在命令提示符下鍵入以下命令:這裏的建議,這個問題已經通過設置以下變化路徑解決

C:\Users\Owner\Documents\rpackages> Rcmd INSTALL --build dnatool 
+1

如果以上解決了您的問題,請將其標記爲已接受的答案。 –