簡體   English   中英

R data.table“ j”對“ by”變量的引用非常不直觀嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM