我正在创建一个R包,并想用子目录来组织我的R子目录。由于仅导出了根目录下R文件中定义的函数,因此我将此代码添加到了根目录下的一个文件中:
sourceDir <- function(path, trace = TRUE, ...) {
for (nm in list.files(path, pattern = "\\.[RrSsQq]$")) {
print(nm)
if(trace) cat(nm,":")
source(file.path(path, nm), ...)
if(trace) cat("\n")
}
}
sourceDir("R/DataGenerator")
当我在RStudio上使用“ CRTL + SHIFT + B”时,我看到nm文件是源文件。但是,一旦加载了包,就不能使用::或:::来访问在子目录R / DataGenerator中定义的所有功能。
如何导出R的子目录中定义的函数?可能吗?
使用DESCRIPTION文件中的“整理:”字段来指定要包含的文件的路径
Collate: foo.R bar/baz.R
生成整理线的助手可能类似于
fls = paste(dir(pattern="R", recursive=TRUE), collapse=" ")
cat(strwrap(sprintf("Collate: %s", fls), exdent=4), sep="\n")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句