重新安装R包后刷新sysdata.rda

时间:2017-05-01 21:00:11

标签: r r-package

我正在开发一个包含内部数据的R(3.3.2)软件包。数据通过

添加到./R/sysdata.rda
devtools::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在何处被缓存,如何清除它或至少强制刷新?

1 个答案:

答案 0 :(得分:0)

您需要在干净的 R 会话中记录并安装包,以便正确刷新 sysdata.rda。

回答,因为我刚刚遇到了同样的问题,并在寻找解决方案时到达此页面。