我要附加,分离和重新附加RODBC和data.table。当我按顺序对这些软件包执行此过程时,出现以下错误:

Error : .onLoad failed in loadNamespace() for 'data.table', details:
  call: address(x)
  error: object 'Caddress' not found


我正在使用这些软件包的最新版本。这是我的初始会话信息:

R version 3.1.0 (2014-04-10)
Platform: i386-w64-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base




pkgs <- c('RODBC', 'data.table') # Note, c('data.table', 'RODBC') will work
for (pkg in pkgs) library(pkg, character.only=TRUE)
for (pkg in paste0('package:', pkgs)) detach(pkg, unload=TRUE, character.only=TRUE)
for (pkg in pkgs) library(pkg, character.only=TRUE)

最佳答案

现在,此问题已在commit 1332v1.9.3中修复。从NEWS


添加了.onUnload方法以正确卸载data.table的共享库。由于共享库的名称是“ datatable.so”而不是“ data.table.so”,因此“ detach”无法正确卸载。这就是该问题在SO上报告here的原因。关闭#474。感谢Matthew Plourde的汇报。

07-24 09:51
查看更多