【发布时间】:2021-11-22 19:27:58
【问题描述】:
背景
我有这个 R 数据框,d:
d <- data.frame(ID = c("a","a","a","a","a","a","b","b"),
event = c("G12","G12","G12","B4","B4","A24","L5","L5"),
stringsAsFactors=FALSE)
看起来像这样:
如您所见,其中有 2 个不同的 ID,每个都有 events,其中一些重复 / 重复任意次数。
问题
我想弄清楚这个数据帧中每个ID 的重复event 的平均数量是多少。
一目了然,您会看到id= a 有 2 个重复的事件 - G12,重复两次(总共 3 个条目)和 B4,重复一次(总共有 2 个条目)。 id= b 有 1 重复事件:L5。请注意,每次重复/重复发生多少次与我无关;重要的是每个ID 至少有一个重复的event。
所以我想要的结果是该平均值的简单列表:
(2 个重复事件 + 1 个重复事件)/2 人 = 1.5
我的尝试
感谢this 之类的帖子,我已经有点接近了,但我还不太了解:
d %>% summarise(mean = mean(duplicated(event)))
这会运行,但它没有考虑到重复发生在 ID 内的事实(或者至少,我是这么认为的)。
【问题讨论】:
标签: r dplyr duplicates