我我遇到一个奇怪的“错误”(假设它是不显山露水记录。)如果你保存到一个字符向量data.table的名称,然后从删除列data.table中,名称的字符向量会自动更新。我觉得这很奇怪和违反直觉。这是一个错误?如果不是,它的基本原理是什么?data.table名称特征向量是一个参考
编辑:我问是否不是更好地返回当前名称的COPY,而不是引用,这是一个错误倾向性,并更好地保留的情况下,当有真正的性能优势(如核心数据)。
> library(data.table)
data.table 1.8.8 For help type: help("data.table")
> sessionInfo()
R version 2.15.3 (2013-03-01)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=C LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.8.8
> dt = data.table(a = 1:10, b = 1:10)
> cols = names(dt)
> cols
[1] "a" "b"
> dt[, a := NULL]
> cols
[1] "b"
>
而你问的问题是......? – A5C1D2H2I1M1N2O1R2T1
这是一个错误? – vc273
看起来更像是一个功能,虽然我不一定会预料到它。似乎相当有帮助的是,列在进行“沟通”并在删除列时得到更新。 –