我想包含一个" config"我正在构建的R包中的文件。但是,我想要实现的是每次加载包时都要将文件加载到内存中,并且可以在包安装文件夹中使用该文件,供用户根据需要进行更改。
例如,如果此软件包的用户想要修改配置文件,他可以在他的" library / package"中找到它。目录,进行必要的更改,重新加载包并查看其更改的效果。
我已实施以下解决方案。在inst / extdata中添加配置文件并使用read.csv读取它,并将其作为.onLoad函数的一部分分配给全局变量。在这种情况下,程序包的用户可以在不重建程序包的情况下应用更改。
这就是我在zzz.R文件中的内容:
.onLoad <- function(libname, pkgname) {
config_resources <<-
read.csv(file = system.file("extdata", "config.csv", package = "TSTpkg"),
stringsAsFactors = FALSE)
}
这是实现我想做的正确方法吗?如果没有,那么正确的方法是什么?最后,有没有办法让这些数据在内部可用,同时仍然保持用户按需更改此功能的能力?类似于sysdata.rda的东西,但不需要重建包以使更改生效。