2012-04-21 62 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