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

绘制数据均值、中位数竖线时遇unexpected symbol报错求助

问题解决:ggplot绘制均值/中位数竖线报错

你的代码存在三处语法错误,直接导致了unexpected symbol报错:

  • geom_vline(data = gap (aes(...))处误用括号代替逗号,应改为data = gap, aes(...),用逗号分隔data参数与aes映射
  • aes(xintercept = mean(infant_mortality))col = "#92d6d5"处,aes()与col参数之间缺少逗号,需添加逗号分隔
  • 最后一行geom_vline语句未闭合括号,末尾缺失一个)

修正后的完整代码:

gap %>%
  ggplot(aes(x = infant_mortality, col = region)) +
  geom_histogram(binwidth = 10) + 
  geom_vline(data = gap, aes(xintercept = mean(infant_mortality)), col = "#92d6d5") +
  geom_vline(data = gap, aes(xintercept = median(infant_mortality)), col = "#a4c27f")

额外补充:若想按region分组绘制各组的均值/中位数竖线,可先对数据分组汇总,再传入geom_vline,示例如下:

summary_gap <- gap %>% 
  group_by(region) %>% 
  summarize(mean_im = mean(infant_mortality), median_im = median(infant_mortality))

gap %>%
  ggplot(aes(x = infant_mortality, col = region)) +
  geom_histogram(binwidth = 10) + 
  geom_vline(data = summary_gap, aes(xintercept = mean_im, col = region)) +
  geom_vline(data = summary_gap, aes(xintercept = median_im, col = region), linetype = "dashed")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:01:17