我自己努力制作一个r包。我在how to develop package for layman上的stackoverflow中按照上一个问题中的说明进行操作。以下是我按照上一个问题工具的步骤。
在新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")
Pe来自R
中的以下任务require(utils)
package.skeleton(list = c("randDNA","dna2rna", "compSeq", "myseqdata"),
name = "dnatool",environment = .GlobalEnv, path = "c:", force = FALSE)
在Windows 7中编辑以下系统环境变量路径
C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin;
C:\Program Files\R\R-2.14.2\bin\x64;
(在命令行中键入>path
以检查路径是否已正确设置。
在步骤(3)中复制文件夹dnatool并输入名为rpackage的新文件夹,现在将目录更改为此文件夹(在DOS中)
c: \ repackage> R CMD build dnatool
c: \ repackage> Rcmd build dnatool
编辑:我有时会得到dnatool.zip,但有时候dnatool.tar.gx
在命令行(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得到从步骤sourcode二进制(3)夹dnatool?
$ tar -zcvf dnatool.tar.gz/home/dnatool
答案 0 :(得分:2)
使用R CMD build
创建的包可以安装在其他操作系统类型上。即使您的软件包包含R(c或c ++)以外的源代码,也是如此。只有在创建二进制分发时(我认为通过在r cmd构建调用中添加--binary),包才会变为特定于平台。构建软件包所需的工具通常已经安装在linux或mac下。因此,如果您创建源分发,它应该在所有主要发行版下工作。要创建mac二进制文件,您需要一个mac,或者创建一个交叉编译器环境。第二种选择可能是一个很大的挑战,我说你可以给谷歌。请注意,如果您将包上传到CRAN,则会为您完成所有包的构建。