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

如何在R中对数据框的统计摘要绘制箱线图

R 多特征分布可视化实现方案

这里提供两种可直接使用的实现方案,完全匹配你展示特征最值范围、均值、识别离群点的需求:

方案1:基于原始数据直接绘制箱线图 推荐

箱线图原生支持展示最小值、四分位数、中位数、最大值,且会自动标记1.5倍四分位距外的离群点,不需要提前计算统计摘要,代码如下:

# 先安装依赖包(已安装可跳过)
# install.packages("tidyverse")
library(tidyverse)

# 替换为你自己的原始数据框即可
df <- structure(list(feat_1 = c(1L, 0L, 0L, 1L, 0L, 2L, 2L, 0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_2 = c(0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L), feat_3 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_4 = c(0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 0L, 0L, 2L, 1L, 0L, 1L, 0L, 2L, 0L, 0L, 0L, 0L
)), row.names = c(NA, 20L), class = "data.frame")

# 宽表转长表适配ggplot绘图逻辑
df_long <- df %>% 
  pivot_longer(cols = everything(), names_to = "feature", values_to = "value")

# 绘制箱线图
ggplot(df_long, aes(x = feature, y = value)) +
  geom_boxplot(fill = "lightblue", outlier.color = "red") + # 离群点标红突出显示
  coord_flip() + # 特征名放在y轴,避免80个特征名重叠
  labs(x = "特征名称", y = "数值", title = "各特征分布箱线图") +
  theme_bw()

方案2:基于已计算的summary统计值绘图

如果你只需要展示最值和均值,不需要看四分位数分布,可以直接用你已经生成的summary统计值绘图:

# 计算统计摘要(和你提供的代码逻辑一致)
summary_df <- as.data.frame(apply(df, 2, summary))

# 转换为绘图适配的长表格式
summary_long <- summary_df %>% 
  rownames_to_column("stat") %>% 
  pivot_longer(cols = -stat, names_to = "feature") %>% 
  pivot_wider(names_from = stat, values_from = value)

# 绘制范围+均值图
ggplot(summary_long, aes(x = feature)) +
  geom_linerange(aes(ymin = Min., ymax = Max.), linewidth = 1, color = "gray") + # 绘制最值范围线
  geom_point(aes(y = Mean), size = 3, color = "darkred") + # 标记均值点
  coord_flip() +
  labs(x = "特征名称", y = "数值", title = "各特征最值范围与均值分布") +
  theme_bw()

使用优化提示

  • 若80个特征的数值量级差异大,可在ggplot代码末尾加scale_y_log10()做对数变换,避免小数值特征被压缩
  • 若特征名过长重叠,可加theme(axis.text.y = element_text(size = 7))调整y轴字体大小
  • 需要额外展示中位数、四分位数范围时,在方案2中添加对应的点/线图层即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:06:03