【发布时间】:2013-01-31 08:56:06
【问题描述】:
我有这个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
我需要扩展它,以便 data.frame 中的每个 by 组长度相等(用零填充),如下所示:
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
【问题讨论】:
-
再一次,除了这些表之外,如果有代码可以为您提供
data.frame(使用dput或通过复制您的代码),那将是很好的。 -
@Arun,第一行代码不够吗?
-
啊哈,完全注意到这一点。诚挚的歉意!