通过引用检索data.table的哪些属性?

时间:2016-10-03 08:32:56

标签: r data.table

我正在编写一个函数,我保存了data.table的名称,以便以后可以使用它。我发现了以下行为:

library(data.table)
x <- data.table(x=1, y=2)

nx <- names(x)
nx
# [1] "x" "y"

x[, z:=3]
nx
# [1] "x" "y" "z"

这令我感到意外,因为我知道修改data.table会通过引用更改它,我不希望存储在另一个变量中的名称也通过引用指向它!现在我知道我可以使用nx <- names(copy(x))来解决这个问题,但似乎并非data.table的所有方面都被这样的引用所改变。例如:

x <- data.table(x=1, y=2)

cx <- ncol(x)
cx
# [1] 2

x[, z:=3]
cx
# [1] 2

列数不会因引用而改变。使用data.table时需要注意哪些属性以及哪些属性我不需要担心?

0 个答案:

没有答案