从R中的频率表中获取阵列(或标记的矢量)

时间:2014-03-03 00:03:30

标签: r frequency

我有一个频率表如下:

group    time    event
a         1       0
a         2       1
a         3       0
a         4       2  
a         5       0
b         1       1
b         2       0
b         3       2
b         4       1
b         5       0

我希望获得一个表格,该表格仅代表观察事件并链接到该组的时间......如下所示:

group   time (n times, depending how many events occurred for each time)
a       2
a       4
a       4 
b       1
b       3
b       3
b       4 

我只获得了一个带有“rep”功能的矢量,但我松开了该组的标签。 由于我的原始数据包含数千行,我真的需要一种快速的方法来完成 R 中的工作。 我非常感谢你的建议!

1 个答案:

答案 0 :(得分:4)

鉴于您的数据

x <- data.frame(group=c(rep("a", 5), rep("b", 5)), 
                time=rep(1:5, 2), 
                event=c(0,1,0,2,0,1,0,2,1,0))

你想:

x[rep(seq_len(nrow(x)), x$event), 1:2]