R ggplot2得到“错误:美学必须是长度一,或与dataProblems相同的长度”

时间:2015-08-04 19:14:58

标签: r ggplot2

我收到了错误

Error: Aesthetics must either be length one, or the same length as the dataProblems:Average, Average, Average

尝试在具有多个水平箱图的图片中放置垂直线

这是data.frame gs1_domain的一部分,用于绘制箱图是

enter image description here

这里是data.frame R_18,用于将垂直线放在图中

enter image description here

下面是我绘制箱线图的代码

bp_domain <- ggplot(gs1_domain, aes(x=gs1_domain$Domain, y=gs1_domain$Average))
bp_domain + stat_boxplot(geom='errorbar') + geom_boxplot(outlier.shape = 1) + 
  coord_flip() + xlab("Domínio") + ylab("Média") + ggtitle("Box plot das médias por domínios")

使用此代码,我得到以下图表

enter image description here

我正在尝试在每个箱图中放置垂直线,并使用data.frame Average中的列R_18中的数据。

现在,在一些google pages后面我添加了函数geom_errorbar上面的代码,新代码是

bp_domain_R_18 <- ggplot(gs1_domain, aes(x=gs1_domain$Domain, y=gs1_domain$Average))
bp_domain_R_18 + stat_boxplot(geom='errorbar') + geom_boxplot(outlier.shape = 1) +
  geom_errorbar(data=R_18, aes(y=Average, ymax=Average, ymin=Average)) +
  coord_flip() + xlab("Domínio") + ylab("Média") + ggtitle("Box plot das médias por domínios")

但是我收到了错误消息。 我已经从gs1_domain删除了NA。

有人可以告诉我出了什么问题?

1 个答案:

答案 0 :(得分:2)

尝试替换

aes(x=gs1_domain$Domain, y=gs1_domain$Average)

aes(x=Domain, y=Average)

已经指定了数据框,我们只需要在aes

中指定列名