我的数据如下所示:
| 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 |
您可以使用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)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |