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) +
...
我 运行 在用 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) +
...