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

如何使用Tidyverse处理马拉松数据并绘制按class分组的时间中位数柱状图

假设你筛选出Category为M40的观测值后的数据集命名为marathon_m40,后续步骤代码如下:

分组统计并按maxWeeks降序排序

使用dplyr的分组、汇总、排序函数实现需求:

library(tidyverse)

stat_result <- marathon_m40 %>%
  # 按class字段分组
  group_by(class) %>%
  # 统计对应指标,假设数据集中马拉松完赛时间的列名为`time`,若你的数据集列名不同请自行替换
  summarise(
    medianTime = median(time, na.rm = TRUE),
    maxWeeks = max(km4week, na.rm = TRUE)
  ) %>%
  # 按maxWeeks降序排列
  arrange(desc(maxWeeks))

na.rm = TRUE参数用于忽略列中的缺失值,避免统计结果返回NA,若你确认对应列无缺失值可删除该参数

绘制分类完赛时间中位数柱状图

使用ggplot2绘制柱状图:

ggplot(stat_result, aes(x = class, y = medianTime)) +
  geom_col(fill = "#2E86AB") +
  labs(
    x = "分类",
    y = "马拉松完赛时间中位数",
    title = "各分类马拉松完赛时间中位数分布"
  ) +
  # 可选配置:x轴标签旋转45度避免重叠
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:09:03