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

R语言绘制secretary、driver分组箱线图显示垂直直线异常如何解决

异常原因
  • 箱线图必须指定连续型y轴变量才能完成分布统计:箱线图的核心是展示连续变量的分位分布,需要基于连续数值计算中位数、四分位距、极值、异常值等统计量。你的代码仅在美学映射中指定了x轴的职业变量,没有映射y轴数值变量,不满足箱线图的基础绘制要求。
  • 变量类型转换逻辑错误:你将本属于连续数值型的Qualitative.result通过factor()转为了分类变量,还将其放在fill填充映射中,此时每个x轴职业分组下单个填充分类仅对应1条观测,样本量不足以计算分位统计量,最终只能输出垂直直线。
  • 列名拼写不符合R语法规则:R对大小写敏感,原始数据中的职业列名为小写开头的profession,代码中写为大写开头的Profession,会直接触发对象不存在的运行报错。
调整方案

如果需求是对比secretary、driver两类职业的Qualitative.result分布,按以下逻辑调整即可:

  1. 修正列名拼写,保持和原始数据列名大小写完全一致
  2. 去掉对Qualitative.result的因子转换,保留其连续数值属性
  3. 在ggplot映射中明确将Qualitative.result指定为y轴变量

修正后的完整可运行代码如下:

library(dplyr)
library(ggplot2)

# 示例数据
data <- data.frame(
  profession = c("secretary", "secretary", "driver", "driver"),
  ve.count.descrition = c(0, 0, 1, 0),
  euse.count.description = c(1, 2, 1, 2),
  Qualitative.result = c(-0.5, 1, -1, 0.3)
)

# 正确绘图代码
data %>%
  ggplot(aes(x = profession, y = Qualitative.result)) +
  geom_boxplot()

如果需要额外分组填色,仅需将分类类型的分组变量映射到fill参数即可,不要将y轴的连续数值变量转为因子作为填充映射。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:54:40