如果第 1 列具有特定值,如何计算第 2 列的平均值? R

How to count mean of a column 2 if column 1 has a specific value? R

如果第 1 列的值为 "UK",我如何计算第 2 列的平均值?

Column1  | Column2
-------------------
USA      | 4.5
UK       | 4.3
UK       | 2.4
UK       | 1.3
GERMANY  | 4.4
FRANCE   | 2.3

所以我想得到英国第 2 列的平均值。

我们可以根据 'Column1' 值 o 'UK' 对 'Column2' 进行子集化,得到 mean

with(df1, mean(Column2[Column1 == 'UK']))

或者如果我们需要为 'Column1'

的所有唯一元素获取 'Column2' 的 mean
aggregate(Column2 ~ Column1, df1, mean)

dplyr

library(dplyr)
df1 %>%
  group_by(Column1) %>%
  summarise(Column2 = mean(Column2, na.rm = TRUE))