计算 R 中每个 id 的平均重复次数

Hat*_*tem 0 r data-science

我的数据如下所示:

ID 日期
1 一种
1 一种
1
1 C
1 C
1 C
2 z
2 z
2 电子
2 X

我想计算每个 id 重复次数的平均值,即对于 id=1 我们有 2a 1b 3c 我希望输出为 2。结果应该是这样的:

ID 意思
1 2
2 1.333

Ron*_*hah 5

您可以使用mean(table(date))获取计数的平均值,将其应用于每个id值。

使用 dplyr -

library(dplyr)

df %>%
  group_by(id) %>%
  summarise(mean = mean(table(date)))

#     id  mean
#  <int> <dbl>
#1     1  2   
#2     2  1.33
Run Code Online (Sandbox Code Playgroud)

或者使用基数 R aggregate

aggregate(date~id, df, function(x) mean(table(x)))
Run Code Online (Sandbox Code Playgroud)