我尝试使用两种方法在 data.table 中添加一列,它返回了不同的结果。但是我不明白为什么,请您给我一个提示吗?方式一:
avg_tvd <- dev_survey4[Grp==0 | Grp==1, .(avgTVD = mean(TVDmASL, na.rm=TRUE)),
by = .(Grp,WELL,APA_Pair_ID)]
结果如下:
方式二:
avg_tvd <- dev_survey4[Grp==0 | Grp==1, avgTVD := mean(TVDmASL, na.rm=TRUE),
by = .(Grp,WELL,APA_Pair_ID)]
以下是结果:
方式1的结果是我想要的。但是为什么方式2有不同的结果?它们之间有两个区别:
- 方式 2 的列多于方式 1;
- 方式 2 的行除了 0 和 1 之外还有 Grps。