【发布时间】:2021-11-22 20:25:06
【问题描述】:
背景
这是一个 R 数据框 d:
d <- data.frame(ID = c("a","a","a","a","a","a","b","b"),
event = c("G12","R2","O99","B4","B4","A24","L5","J15"),
stringsAsFactors=FALSE)
看起来像这样:
您看到由ID 代表的 2 个人,每个人都有 >1 个事件。 ID=a 有 6 个事件,但只有 5 个不同的事件,而 ID=b 有 2 个事件,都是不同的。
问题
我想计算d 中每人不同/唯一events 的平均数量。在这种情况下,算法是这样的:
(5 个唯一事件 + 2 个唯一事件)/ 2 个不同的 ID's = 3.5 个每个人的唯一事件,这就是我正在寻找的答案。
我的尝试
到目前为止,我已经尝试过这样的事情:
d %>%
group_by(ID) %>%
summarise(mean = mean(tally(unique(event))))
但这会引发错误。
【问题讨论】:
-
大声笑,我的数学错了!这里已经很晚了。将在原帖中更正。