通过改变独特的RHS来实现长期扩展

时间:2015-02-24 12:54:04

标签: r data.table

我们说我有一张如下表:

DT <- data.table(ID1= rep(c("a","b","c"),3),ID2=rnorm(9,4),var = 1:9)

## > DT
##    ID1      ID2 var
## 1:   a 2.630392   1
## 2:   b 3.966620   2
## 3:   c 4.002776   3
## 4:   a 3.188372   4
## 5:   b 4.735084   5
## 6:   c 4.307198   6
## 7:   a 2.830868   7
## 8:   b 4.892684   8
## 9:   c 3.429826   9

我想通过仅考虑每个ID1的应用次数来执行dcast。

不受欢迎的输出:

dcast(DT,ID1~ID2)

期望的输出:

##    ID1 1 2 3
## 1:   a 1 4 7
## 2:   b 2 5 8
## 3:   c 3 6 9

1 个答案:

答案 0 :(得分:2)

尝试

dcast.data.table(DT[,N:=1:.N ,ID1], ID1~N, value.var='var')
#   ID1 1 2 3
#1:   a 1 4 7
#2:   b 2 5 8
#3:   c 3 6 9