我想根据像这样的数据帧中的id计算平均值:
id | value
1 100
2 200
3 100
1 100
1 100
3 200
2 300
这是我到目前为止编写的代码:
ids <- unique(df$id)
for(i in ids){
...
}
我怎样才能只调用每个id的值来计算均值?
上面示例值的结果(平均值)应为:1 = 100、2 = 250、3 = 150
答案 0 :(得分:0)
您可以使用tapply
:
tapply(df$value, df$id, mean)
答案 1 :(得分:0)
您可以按ID列分组,然后轻松计算平均值或任何其他汇总指标:
library(tidyverse)
df_summary <- df %>%
group_by(id) %>%
summarise(id_mean = mean(value))