📜  如何在 R 中执行 SUMIF函数?(1)

📅  最后修改于: 2023-12-03 15:38:24.836000             🧑  作者: Mango

如何在 R 中执行 SUMIF 函数?

在 Excel 中,SUMIF 函数可以根据指定的条件计算指定范围内的数据总和。在 R 中,我们可以使用 summarisefilter 函数来实现类似的功能。

下面是一个示例数据集:

data <- data.frame(
  name = c("Alice", "Bob", "Charlie", "David", "Evelyn"),
  age = c(25, 30, 35, 40, 45),
  salary = c(50000, 60000, 70000, 80000, 90000),
  gender = c("F", "M", "M", "M", "F")
)

我们可以使用下面的代码,计算所有男性员工的平均薪资:

library(dplyr)
data %>%
  filter(gender == "M") %>%
  summarise(avg_salary = mean(salary))

输出结果为:

  avg_salary
1      70000

这段代码的含义是:

  • 使用 filter 函数筛选出所有 gender 列等于 "M" 的行;
  • 使用 summarise 函数计算 salary 列的平均值,并将结果命名为 avg_salary

这相当于在 Excel 中执行以下公式:

SUMIF(gender_range, "M", salary_range) / COUNTIF(gender_range, "M")

其中,gender_rangesalary_range 分别代表 gender 列和 salary 列的数据范围。

如果要计算所有女性员工的平均薪资,只需要将代码中的 "M" 改成 "F" 即可。

总结一下,在 R 中执行 SUMIF 函数,可以使用 filtersummarise 函数结合,根据条件过滤数据之后再进行聚合计算。