我正在处理一个数据集,其格式如下:
Id Date Color
10 2008-11-17 Red
10 2008-11-17 Red
10 2008-11-17 Blue
10 2010-01-26 Red
10 2010-01-26 Green
10 2010-01-26 Green
10 2010-01-26 Red
29 2007-07-31 Red
29 2007-07-31 Red
29 2007-07-31 Blue
29 2007-07-31 Green
29 2007-07-31 Red
我的目标是创建一个像这样的数据集
Color Representation Count Min Max
Red 1 + 1 + 1 = 3 2 + 2 + 3 = 7 2 3
Blue 1 + 1 = 2 1 + 1 1 1
Green 1 + 1 = 2 2 + 1 1 2
数据表现
在第一行第二列(数据表现)中的值为3,因为根据ID和日期的唯一组合,红色被表示了三次。例如,第1行和第2行是相同的,ID(10)和日期(2008-11-17),所以这个组合只被表示一次(1(10, 2008-11-17))。第4行和第7行是相同的,ID(10)和日期(2010-01-26)的组合,所以这个唯一的组合被表示一次(1(10, 2010-01-26))。第8、9和12行是ID(29)和日期(2007-07-31)的相同组合,同样只被表示一次(1(29, 2007-07-31))。因此,在第1行第2列中的值为3。
1(10, 2008-11-17) + 1(10, 2010-10-26) + 1(29, 2007-07-31) = 3
计数
在第一行第三列(计数)中的值为7,因为红色在ID为10的记录中在2008-11-17出现了两次(210, 2008-11-17),在2010-01-26出现了两次(210, 2010-01-26),在ID为29的记录中在2007-07-31出现了三次(329,2007-07-31)。
2(10, 2008-11-17) + 2(10, 2010-10-26) + 3(29, 2007-07-31)
非常感谢您对完成这个唯一频率/计数表的帮助。
数据集
Id = c(10,10,10,10,10,10,10,29,29,29,29,29)
Date = c("2008-11-17", "2008-11-17", "2008-11-17","2010-01-26","2010-01-26","2010-01-26","2010-01-26",
"2007-07-31","2007-07-31","2007-07-31","2007-07-31","2007-07-31")
Color = c("Red", "Red", "Blue", "Red", "Green", "Green", "Red", "Red", "Red", "Blue", "Green", "Red")
df = data.frame(Id, Date, Color)
cbind(data.frame(table(df$Color)), Rep = colSums(!!table(interaction(df$Id, df$Date), df$Color)))
- rawr