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

如何使用dplyr实现病假天数超2天人群的年龄分组统计?

没问题!用dplyr来完成这个统计不仅代码更整洁,还能无缝衔接后续的可视化操作,我给你两种实用的实现方式:

方式1:直接统计两组人数

这种方法和你原来的操作逻辑完全对应,一步算出你需要的两个数值:

library(dplyr)

# 执行统计
summary_stats <- data %>%
  filter(Sick.days > 2) %>%  # 筛选病假天数超过2天的记录
  summarize(
    35岁以上人数 = sum(Age > 35),
    35岁及以下人数 = sum(Age <= 35)
  )

# 查看结果
summary_stats

运行后会得到一个包含两列的dataframe,直接呈现你之前得到的115和36这两个统计值。

方式2:分组统计(更适合绘图)

如果接下来要绘制柱状图,这种分组方式会更方便,直接生成适合可视化的结构化数据:

library(dplyr)

# 生成分组统计数据
grouped_data <- data %>%
  filter(Sick.days > 2) %>%
  # 创建年龄分组变量
  mutate(age_group = case_when(
    Age > 35 ~ "35岁以上",
    Age <= 35 ~ "35岁及以下"
  )) %>%
  # 统计每个分组的人数
  count(age_group)

# 查看结果
grouped_data

输出的结果是一个两列的表格,一列是分组名称,一列是对应人数。要是你用ggplot2画柱状图,直接用这个数据就行,示例代码如下:

library(ggplot2)

grouped_data %>%
  ggplot(aes(x = age_group, y = n)) +
  geom_col(fill = "#4A90E2") +
  labs(title = "不同年龄组病假超2天的人数对比",
       x = "年龄分组",
       y = "人数") +
  theme_minimal()

这样不管是统计还是后续可视化,用dplyr都能轻松搞定~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:30:18