5

更新するたびにR何かが発生する必要があります...とにかく、今回は(明らかにdata.table、他のpackgのようなもの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 名前空間をアンロードできません:\n ", # sQuote(pkgname)), conditionMessage(e), call. = FALSE, domain = NA)) # ここで 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 に答える