gpt4 book ai didi

r - geom_ribbon不起作用-eval(expr,envir,enclos): object 'variable' not found中的错误

转载 作者:行者123 更新时间:2023-12-04 12:12:01 24 4
gpt4 key购买 nike

我尝试将geom_ribbon对象添加到我的ggplot2图中。在我的数据框中,我有NA值(我想)可能会引起问题。这是我拥有的数据帧的可复制示例:

base <- c(1:10, rep(NA, 10))
output1 <- c(rep(NA, 9), 10 - 0:10)
output2 <- c(rep(NA, 9), 10 + 0:10)
xaxis <- 1:20

df <- data.frame(xaxis, base, output1, output2)
df

xaxis base output1 output2
1 1 1 NA NA
2 2 2 NA NA
3 3 3 NA NA
4 4 4 NA NA
5 5 5 NA NA
6 6 6 NA NA
7 7 7 NA NA
8 8 8 NA NA
9 9 9 NA NA
10 10 10 10 10
11 11 NA 9 11
12 12 NA 8 12
13 13 NA 7 13
14 14 NA 6 14
15 15 NA 5 15
16 16 NA 4 16
17 17 NA 3 17
18 18 NA 2 18
19 19 NA 1 19
20 20 NA 0 20

我试图用 ggplot2绘制 geom_ribbon对象:
  dfm <- melt(df, id=1)
ggplot(dfm, aes(x = xaxis, y = value, colour = variable)) +
geom_line(aes(group=variable)) +
geom_ribbon(data=df, aes(group = 1, ymin=output1, ymax=output2))

最终,我遇到了 错误,无法处理:
Error in eval(expr, envir, enclos) : object 'variable' not found

预先感谢您的任何建议。

最佳答案

之所以出现此错误,是因为variable用于aes()函数的ggplot()中的颜色。当您将geom_ribbon()与新数据框添加在一起时,geom_ribbon()会尝试在新数据框中查找variable以将其用于颜色。要忽略此变量,请在inherit.aes=FALSE内添加geom_ribbon()-因此,您要告知所有参数都应独立使用-这样,您应该在x=xaxis中再次设置geom_ribbon()

ggplot(dfm, aes(x = xaxis, y = value, colour = variable)) + 
geom_line(aes(group=variable)) +
geom_ribbon(data=df, aes(group = 1, x = xaxis,ymin=output1, ymax=output2),
inherit.aes=FALSE)

关于r - geom_ribbon不起作用-eval(expr,envir,enclos): object 'variable' not found中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19891637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com