【发布时间】:2014-07-09 19:13:22
【问题描述】:
我的问题涉及使用 R
中的 dplyr 包编写代码我有一个相对较大的数据框(大约 500 万行),包含 2 列:第一列带有单独的标识符 (id),第二列带有日期 (date)。目前,每一行表示在日期列中的日期发生的动作(id 列中的个人所采取的)。大约有 300,000 个独特的个体,以及大约 2600 个独特的日期。例如,数据的开头是这样的:
id date
John12 2006-08-03
Tom2993 2008-10-11
Lisa825 2009-07-03
Tom2993 2008-06-12
Andrew13 2007-09-11
我想重新调整数据,以便为每个可能的id x date 对设置一行,另外一列计算发生的事件总数(可能取值 0)在给定日期列出的个人。
我使用 dplyr 包取得了一些成功,我用它来将数据中观察到的 id x 日期计数制成表格。
到目前为止,这是我用来统计 id x date 计数的代码:(我的数据框称为 df)
reduced = df %.%
group_by(id, date) %.%
summarize(length(date))
我的问题是(正如我上面所说)我想要一个数据集,其中还包含 id x 日期对的 0,这些日期对没有任何关联的操作。例如,如果在 2007 年 10 月 10 日没有观察到 John12 的操作,我希望输出为该 id x date 对返回一行,计数为 0。
我考虑过创建上面的框架,然后与一个空框架合并,但我相信一定有一个更简单的解决方案。任何建议都非常感谢!
【问题讨论】:
标签: r dplyr frequency interaction large-data