找不到包名时创建

时间:2013-10-04 17:38:23

标签: r data.table rcpp

每当我更新R时,必须发生一些事情......无论如何,这次(显然仅适用于data.table,其他包装如ggplot2以及所有其他包装都很好)我得到这个:

> library("data.table", lib.loc="C:/Program Files/R/R-3.0.2/library")
data.table 1.8.10  For help type: help("data.table")
> detach("package:data.table", unload=TRUE)
Warning messages:
1: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found
2: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found
3: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found
4: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found
5: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found
6: In FUN(X[[2L]], ...) :
  Created a package name, ‘2013-10-04 18:33:03’, when none found

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

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

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

loaded via a namespace (and not attached):
[1] tools_3.0.2

卸载软件包并使用Rtools从源重新安装时输出相同。他们只是warnings我知道但我很好奇/有点担心这是否会暗示其他事情。

编辑:还有Rcpp(30条警告),与data.table不同,Rpcc无效:

> evalCpp('2 * M_PI')
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput,  : 
  SET_VECTOR_ELT() can only be applied to a 'list', not a 'symbol'

1 个答案:

答案 0 :(得分:4)

警告由getPackageName()函数发送,当被调用时,例如在data.table命名空间的parent.env上。

这是调用堆栈的相关部分:

# where 3: sapply(where, getPackageName)
# where 4: findClass(what, classWhere)
# where 5: .removeSuperclassBackRefs(cl, cldef, searchWhere)
# where 6: methods:::cacheMetaData(ns, FALSE, ns)
# where 7: unloadNamespace(pkgname)

...     #where 11:tryCatch(unloadNamespace(pkgname),error = function(e)warning(gettextf(“%s命名空间无法卸载:\ n”,     #sQuote(pkgname)),conditionMessage(e),call。 = FALSE,domain = NA))     #where 12:detach(“package:data.table”,unload = TRUE)

例如,尝试:

getPackageName(parent.env(getNamespace('data.table')))

findClass('data.frame', getNamespace('data.table'))

它固定在R-devel中(未经我自己验证,但我相信J. Chambers就此而言)。