R data.table在非目标data.tables中生成列
这似乎是非常不可取的行为。假设我创建了一个data.table a,其中包含x列和y列 这个新变量new.var显示在data.table对象a和b中。我从来没有告诉a创建这个专栏,它似乎是从b自动添加的。我的问题是,为什么这是令人向往的行为?各数据表的标题如下:R data.table在非目标data.tables中生成列,r,data.table,R,Data.table,这似乎是非常不可取的行为。假设我创建了一个data.table a,其中包含x列和y列 这个新变量new.var显示在data.table对象a和b中。我从来没有告诉a创建这个专栏,它似乎是从b自动添加的。我的问题是,为什么这是令人向往的行为?各数据表的标题如下: > head(a) y x new.var 1: 0.1369316 -2.0992072 -0.2874478 2: -0.1074927 -0.8418876 0.0904
> head(a)
y x new.var
1: 0.1369316 -2.0992072 -0.2874478
2: -0.1074927 -0.8418876 0.0904968
3: -0.8530955 -1.3860180 1.1824057
4: -1.8503559 0.3464916 -0.6411328
5: -0.9671240 -2.7080326 2.6190034
6: 1.8149524 -1.3655645 -2.4784345
> head(b)
y x new.var
1: 0.1369316 -2.0992072 -0.2874478
2: -0.1074927 -0.8418876 0.0904968
3: -0.8530955 -1.3860180 1.1824057
4: -1.8503559 0.3464916 -0.6411328
5: -0.9671240 -2.7080326 2.6190034
6: 1.8149524 -1.3655645 -2.4784345
b b
b <- a
b[,new.var := x*y]
> head(a)
y x new.var
1: 0.1369316 -2.0992072 -0.2874478
2: -0.1074927 -0.8418876 0.0904968
3: -0.8530955 -1.3860180 1.1824057
4: -1.8503559 0.3464916 -0.6411328
5: -0.9671240 -2.7080326 2.6190034
6: 1.8149524 -1.3655645 -2.4784345
> head(b)
y x new.var
1: 0.1369316 -2.0992072 -0.2874478
2: -0.1074927 -0.8418876 0.0904968
3: -0.8530955 -1.3860180 1.1824057
4: -1.8503559 0.3464916 -0.6411328
5: -0.9671240 -2.7080326 2.6190034
6: 1.8149524 -1.3655645 -2.4784345