【发布时间】:2017-08-25 15:29:29
【问题描述】:
我的问题是这个问题的延伸:Create a column with a count of occurrences in R
以他们的例子为例,我想看看每个人拥有的每种产品的数量。
我有一个非常大的数据集,其结构如下:
df <- c(Contact.ID, Date.Time, Week, Attendance, WeeklyAT)
Contact.ID Date Time Week Attendance *WeeklyAT
1 A 2012-10-06 18:54:48 44 30 *2
2 A 2012-10-08 20:50:18 44 30 *2
3 A 2013-05-24 20:18:44 21 30 *1
4 B 2012-11-15 16:58:15 46 40 *1
5 B 2013-01-09 10:57:02 2 40 *3
6 B 2013-01-11 17:31:22 2 40 *3
7 B 2013-01-14 18:37:00 2 40 *3
8 C 2013-02-22 17:46:07 8 5 *1
9 C 2013-02-27 11:21:00 9 5 *1
10 D 2012-10-28 14:48:33 43 12 *1
我正在尝试查找 WeeklyAT 列,计算每个 ID 出现周数的频率(这是与另一个问题的区别,因为我没有查看每个 ID 的一般出现或周数)
我已经尝试了这两种方法以及它们的组合,但似乎找不到合适的方法:
df <- transform(df, WeeklyAT = ave(seq(nrow(df)), Gym$Week, FUN=length))
df <- within(df, {
WeeklyAT = ave(df$Week, df$Contact.ID, FUN = function(x) length(unique(x)))
})
非常感谢任何帮助或提示 :) 非常感谢。
【问题讨论】:
-
ave(df$Week, df$Week, df$Contact.ID, FUN = length) -
见
group_by和tally或在dplyr中查看n。 -
@d.b 非常感谢!
标签: r