5

每次我更新都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'
4

1 回答 1

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 namespace cannot be unloaded:\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 对此)。

于 2013-10-29T16:36:32.063 回答