ggplot2 facet_wrap 没有找到变量但是形状找到了

ggplot2 facet_wrap doesn't find a variable but shape does

我 运行 在用 ggplot2 绘制一些数据时遇到了一些问题:我想在变量 AdultInputProp 上使用 facet_wrap,但是 R没有找到变量,而是 returns 一个 Error in as.quoted(facets) : object 'AdultInputProp' not found。现在我明白这只是意味着 R 在用于绘制的数据集中找不到这个变量, 但是 如果我要求 ggplot2 改为使用相同的变量来创建shape 规模,它工作得很好。知道问题出在哪里吗?

抱歉,我不太确定如何从头开始使用生成的 df 制作一个最小的工作示例,所以这里是 the df I'm using 和下面的代码。我也试过使用 facet_grid 而不是 facet_wrap 但 运行 遇到同样的问题。

这里的代码有分面returns 上面提到的错误:

df.plot.GBPperAIP <- ggplot(df.sum.GBPperAIP,
                            aes(x=TestIteration, y=Error,
                                colour=GoalBabblingProp,
                                group=interaction(GoalBabblingProp,
                                                  AdultInputProp))) +
  facet_wrap(AdultInputProp) +
  xlab("Step") + ylab("Mean error") + theme_bw(base_size=18) +
  scale_colour_discrete(name = "Goal babbling proportion") +
  geom_line(position = position_dodge(1000)) +
  geom_errorbar(aes(ymin=Error-ci,
                    ymax=Error+ci),
                color="black", width=1000,
                position = position_dodge(1000)) +
  geom_point(position = position_dodge(1000),
             size=1.5, fill="white")

除了删除 facet_wrap 行并添加 shape 之外,其他代码完全相同:

df.plot.GBPperAIP <- ggplot(df.sum.GBPperAIP,
                            aes(x=TestIteration, y=Error,
                                colour=GoalBabblingProp,
                                shape=AdultInputProp,
                                group=interaction(GoalBabblingProp,
                                                  AdultInputProp))) +
  xlab("Step") + ylab("Mean error") + theme_bw(base_size=18) +
  scale_colour_discrete(name = "Goal babbling proportion") +
  geom_line(position = position_dodge(1000)) +
  geom_errorbar(aes(ymin=Error-ci,
                    ymax=Error+ci),
                color="black", width=1000,
                position = position_dodge(1000)) +
  geom_point(position = position_dodge(1000),
             size=1.5, fill="white")

facet_wrap 需要一个公式,而不仅仅是一个裸变量名。所以你应该把它改成

...
facet_wrap(~ AdultInputProp) +
...