我一直在玩data.tables并注意到一些奇怪的行为&不确定我是否做错了。
如果我将data.table重新分配给另一个名称,然后从新表中删除一列,它也会从第一个表中删除它。例如:
a <- data.table(x=rnorm(10,3),y=rnorm(10,3),z=rnorm(10,3))
> dim(a)
[1] 10 3
b <- a
b[,z:=NULL]
> dim(a)
[1] 10 2
> dim(b)
[1] 10 2
然而,如果我使用data.frame方法,它不会影响a。例如:
> b$z <- NULL
> dim(a)
[1] 10 3
> dim(b)
[1] 10 2
我在使用data.tables做错了还是只是一个怪癖?