繁体   English   中英

访问R-package中的“examples”子目录

[英]Accessing “examples” subdirectory in R-package

我使用CRAN包,其中包含一个包含文件“ex.txt”的子目录“examples /”。 我如何访问此文件?

我试过了

require("XX")
read.table(paste(.path.package("XX"), "/examples/ex.txt", sep=""), header=TRUE, sep="\t")

但后来找不到该文件。 当我查看包的安装目录时,我确实看不到“examples /”子目录。 但是,当我在包源上运行R CMD检查和R CMD INSTALL时,我没有收到有关“examples /”子目录的警告。 所以包安装没有问题,但省略了示例。 为了访问“examples /”中的文件,我该怎么办?

起初我误解了你的问题,并认为你是包的作者。 问题是,您注意到安装时不会复制示例。 解决方案是让包作者将文件夹放在/ inst / examples而不是/ examples中。 由于您无法控制,我们可以通过下载源然后使用它来创建变通方法。

# Downloads the source code for a package
# Extracts it to a temporary directory
downloadAndExtract <- function(package, tdir = tempdir()){
    down <- download.packages(package, destdir = tdir)
    targz <- down[,2]
    untar(targz, exdir = tdir)
    file.path(tdir, package)
}

path <- downloadAndExtract("XX")
filepath <- file.path(path, "examples", "ex.txt")
dat <- read.table(filepath, header = TRUE, sep = "\t")

显然这并不理想,但由于您在安装的软件包中找不到该文件,我们需要采取某种解决方法......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM