绘制数据均值、中位数竖线时遇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
相关产品推荐
相关产品推荐

