You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R按分组统计符合条件的观测值 各地点员工数及超40小时工作人数统计

R分组统计符合条件观测值的实现方案

以下提供dplyr和base R两种实现方式:

前置:构造示例数据

你可以直接运行以下代码生成你给出的测试数据,方便验证效果:

df <- data.frame(
  name = c("Bob", "Nick", "Sally", "Patricia", "Tim", "Liz", "Brad", "Sam"),
  hours_worked = c(55, 25, 30, 50, 35, 42, 60, 48),
  location = c("IL", "IL", "IL", "WI", "WI", "OH", "OH", "OH")
)

方法1:dplyr实现(代码更简洁易读)

library(dplyr)
result <- df %>%
  # 按工作地点分组
  group_by(location) %>%
  # 分组统计所需指标
  summarise(
    headcount = n(), # 统计分组内总人数
    over_40 = sum(hours_worked > 40) # 统计满足时长条件的人数,逻辑值求和即计数
  )

方法2:base R实现(无需加载额外包)

# 统计各地点总员工数
headcount_df <- aggregate(name ~ location, df, FUN = length)
colnames(headcount_df) <- c("location", "headcount")

# 统计各地点工作时长超40小时的员工数
over40_df <- aggregate(hours_worked ~ location, df, FUN = function(x) sum(x > 40))
colnames(over40_df) <- c("location", "over_40")

# 合并两个统计结果得到最终表
result <- merge(headcount_df, over40_df, by = "location")

运行上述任意一种方法得到的result就是你期望的输出格式。

内容的提问来源于stack exchange,提问作者bodega18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:57:05