我正在开发一个包含内部数据的R(3.3.2)软件包。数据通过
添加到./R/sysdata.rdadevtools::use_data(dataset, pkg = 'pkgName', internal = TRUE, overwrite = TRUE)
在包中我添加并导出了一个简单的函数:
show.R
show = function() {
print(dataset)
)
我在本地安装软件包:
devtools::install(pkg = 'pkgName',
args = paste('--library=', installLocation, sep = ''),
reload = TRUE,
local = FALSE)
最后,我可以毫无问题地致电show:
library(pkgName, lib.loc = installLocation)
show()
# ...output as expected
当我更改 sysdata.rda中的数据时,我遇到了麻烦。无论我以什么方式尝试ONLY方式,我都可以从已安装的软件包中加载新数据,这是在重新启动R之后的初始库()加载。
我试过了:
detach('package:pkgName', unload = TRUE)
unloadNamespace(pkgName)
remove.packages(pkgName, lib = installLocation)
我还确认源位置的数据已更新:
load(sysdata.rda) # looks good
内部sysdata在何处被缓存,如何清除它或至少强制刷新?
答案 0 :(得分:0)
您需要在干净的 R 会话中记录并安装包,以便正确刷新 sysdata.rda。
回答,因为我刚刚遇到了同样的问题,并在寻找解决方案时到达此页面。