如何使用R语言统计历史数据?

时间:2015-04-11 12:48:24

标签: r

我有一个名为A的data.frame,如下所示:

uid    uname     csttime                   action_type
1      felix     2014-01-01 01:00:00         1
1      felix     2014-01-01 02:00:00         2
1      felix     2014-01-01 03:00:00         2
1      felix     2014-01-01 04:00:00         2
1      felix     2014-01-01 05:00:00         3
2      john      2014-02-01 01:00:00         1
2      john      2014-02-01 02:00:00         1
2      john      2014-02-01 03:00:00         1
2      john      2014-02-02 08:00:00         3
.......

我想统计每个<uid,uname,csttime>组合的历史action_type,例如,对于<1,'felix','2014-01-01 03:00:00'>,我想知道有多少action_types曾发生过。对于<1,'felix','2014-01-01 03:00:00'>action_type_1为1,action_type_2为1。

1 个答案:

答案 0 :(得分:3)

如果我正确理解你的问题,我相信有一个相当简单的dplyr答案。

library(dplyr)

group_by(stack, uid, uname, csttime) %>%
count(uid, action_type)

这将产生:

  uid action_type n
1   1           1 1
2   1           2 3
3   1           3 1
4   2           1 3
5   2           3 1

正如您所看到的,它为您提供了每个唯一ID,它们所采取的动作类型以及次数。如果你想说,改为包括日期,你可以做

group_by(stack, uid, uname, csttime) %>%
    count(uid, csttime, action_type)
希望有所帮助。