根据数据框计算每个国家/地区的平均值

时间:2019-07-10 12:47:05

标签: r

我正在处理一个名为“ df”的数据框。 “ df”中的两列是“国家”和“异议”。我需要计算每个国家/地区的异议平均数。遍历数据框并按国家/地区计算平均值的最有效方法是什么?

我尝试过循环,但是它不起作用,而且我也不认为这是最有效的方法。

1 个答案:

答案 0 :(得分:2)

tidyverse提供了最简单的IMO

df %>% group_by(country) %>% summarize(avg = mean(dissent, na.rm = TRUE))

如问题所示(如果不建议这样做),如果您真的打算“迭代”:

avg <- NULL
for (i in 1:length(unique(df$country))) {
  avg[i] <- mean(df[df$country == unique(df$country)[i], "dissent"], na.rm=TRUE)
}