R,DataFrame - 按多行分组

时间:2014-04-06 18:13:32

标签: r dataframe

我有data.frame个帖子如下:

 post_id   group_id hour(when posted) likes
 1         1        13                  5
 2         1        13                  6
 3         1        23                  3
 4         2        12                  30
 5         2        13                  34
 6         2        22                  10

我想在每个小组中按小时绘制喜欢分布的内容,所以我需要像这样的data.frame

          0 ... 12 13 ... 22 23   <- hours
gorup#1         0  11         3   <- sum of likes in group#i in xx hour
group#2         30 34     10  0

如何按小组和按小时分组?

1 个答案:

答案 0 :(得分:1)

假设您的data.frame被称为“mydf”,也许您可​​以尝试xtabs(因为您只是在寻找sum):

> xtabs(likes ~ group_id + hour, mydf)
        hour
group_id 12 13 22 23
       1  0 11  0  3
       2 30 34 10  0

要获得“小时”的所有级别,即使所有组的总和为“0”,也要先{“1}}”小时“列。

另一个方便的替代方法是使用“reshape2”包中的factor