2012-04-21 63 views
2

我一直努力使自己的軟件包成爲可能。我按照上面的問題在how to develop package for layman的計算器上按照指令操作。以下是我在上一個問題之後工具的步驟。新鮮R對話在Windows/Linux中爲Mac創建軟件包

  1. 運行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") 
    
  2. 安裝Rtools安裝R包utils

  3. Pefrom R中的以下任務

    require(utils) 
    package.skeleton(list = c("randDNA","dna2rna", "compSeq", "myseqdata"), 
    name = "dnatool",environment = .GlobalEnv, path = "c:", force = FALSE) 
    
  4. 編輯系統環境可變路徑在命令行窗口7

    C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin; 
    C:\Program Files\R\R-2.14.2\bin\x64; 
    

    (類型>path以下來檢查路徑被適當地設定。

  5. 複製步驟的文件夾dnatool(3),並把在名爲rpackage新的文件夾,現在將目錄更改到該文件夾​​(在DOS)

    c: \ repackage> R CMD build dnatool 
    c: \ repackage> Rcmd build dnatool 
    

    編輯:我有時讓dnatool.zip但其他時間dnatool.tar.gx

  6. 在命令行檢查包(DOS)

    c: \ repackage> R CMD check dnatool 
    

我能夠在Windows中將它打包爲「dnatool.zip」。

如何編譯爲MAC或unix源代碼?哪些步驟不同?

Unix source:  dnatool.tar.gz 
Mac OS X binary: dnatool.tgz 

我需要Mac電腦做的。我有Linux的virtualbox和安裝Ubuntu的呢?

編輯:

我應該使用以下commad擺脫步驟(3)文件夾dnatool sourcode二進制?

$ tar -zcvf dnatool.tar.gz/home/dnatool 

回答

2

這是使用R CMD build創建的包可安裝在其他操作系統類型。即使你的軟件包包含除R(c或C++)以外的源代碼,情況也是如此。只有當您創建二進制分發版(我認爲通過向r cmd build調用添加--binary),該軟件包纔會變成特定平臺。構建軟件包所需的工具通常已經安裝在linux或mac下。所以如果你創建一個源代碼發行版,它應該在所有主要發行版下運行。要創建一個mac二進制文件,你需要一個mac,或者創建一個交叉編譯環境。第二種選擇可能是一個相當大的挑戰,我說你可以給谷歌。請注意,如果您將包裝上傳到CRAN,則所有包裝的包裝都將爲您完成。

+0

謝謝,你的意思是「dnatool.zip」可以用在unix環境中嗎? – jon 2012-04-21 13:13:10

+0

「請注意,如果您將包裝上傳到CRAN,則所有包裝都將爲您完成。」什麼應該加載到CRAN?對於簡單的問題抱歉 – jon 2012-04-21 13:14:56

+0

壓縮文件是一個Windows二進制文件,只需創建一個源碼分發(tar.gz),並且在Windows,Mac或Linux下應該沒問題。請注意,在這種情況下,用戶需要安裝構建工具。但是,在Linux下,通常情況下,在Mac和Windows下安裝它們非常容易。一旦你的軟件包在CRAN上(如果你計劃的話),所有這些問題都會消失,用戶可以使用'install.packages'來安裝它。 – 2012-04-21 13:16:06