【发布时间】:2012-08-12 05:27:15
【问题描述】:
我已经为使用相对路径的包编写了一些函数,例如:
"./data/foobar.rds"
这是一个示例函数:
foo <- function(x) {
x <- readRDS("./data/bar.rds")
return(x)
}
现在,如果我要在包的开发路径中工作,这将按我的预期工作。但是当我加载包时,这个路径使用的是当前工作目录,而不是包的相对路径。
如何设置它以使包中函数的路径保持它们在包中的相对路径?
【问题讨论】:
-
见
?system.file和?.path.package -
那么,像
x <- readRDS(paste(system.file(package="pkgName"),"/data/bar.rds",sep=""))? -
如果你想要一些独立于操作系统的东西,试试 x readRDS(file.path(system.file(package = "pkgName"), "data", "bar.rds"))