[英]R data.table “j” reference to “by” variables very unintuitive?
我只是在做data.table datacamp練習,確實有些事情干擾了我的邏輯理解。 以某種方式將“ by”運算符引用的列與其他列區別對待?
使用的數據表如下:
DT
x y z
1: 2 1 2
2: 1 3 4
3: 2 5 6
4: 1 7 8
5: 2 9 10
6: 2 11 12
7: 1 13 14
當我輸入DT [,sum(x),x]時,我會期望:
x V1
1: 2 8
2: 1 3
但我得到:
x V1
1: 2 2
2: 1 1
對於其他列,我得到了預期的組總和:
> DT[,sum(y),x]
x V1
1: 2 26
2: 1 23
解決此問題的一種方法是使用不同的名稱命名分組變量
setnames(DT[, sum(x), .(xN=x)], "xN", "x")[]
# x V1
#1: 2 8
#2: 1 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.