私はこのdata.frameを持っています:
df <- data.frame(id=c('A','A','B','B','B','C'), amount=c(45,66,99,34,71,22))
id | amount
-----------
A | 45
A | 66
B | 99
B | 34
B | 71
C | 22
by
data.frame内の各グループが同じ長さになるように(ゼロで埋める)、次のように展開する必要があります。
id | amount
-----------
A | 45
A | 66
A | 0 <- added
B | 99
B | 34
B | 71
C | 22
C | 0 <- added
C | 0 <- added
これを行う最も効率的な方法は何ですか?
ノート
私が得た実際の100万行のdata.frameで提供されるソリューションのいくつかをベンチマークします。
plyr | data.table | unstack
-----------------------------------
Elapsed: 139.87s | 0.09s | 2.00s