R 用ggplot2绘制回归模型的置信带

R 用ggplot2绘制回归模型的置信带,r,ggplot2,R,Ggplot2,我想用ggplot2绘制指数模型的95%置信区间。我使用下面的代码来实现这一点 x <- seq(1,3,0.01) y <- exp(x)+ rnorm(n=length(x)) exp.model <- lm(log(y)~x) predictions <- predict(exp.model, interval="confidence") df <- data.frame(x,y,exp(predictions)) p <- ggplot(data=d

我想用ggplot2绘制指数模型的95%置信区间。我使用下面的代码来实现这一点

x <- seq(1,3,0.01)
y <- exp(x)+ rnorm(n=length(x))
exp.model <- lm(log(y)~x)
predictions <- predict(exp.model, interval="confidence")
df <-  data.frame(x,y,exp(predictions))
p <- ggplot(data=df, aes(x=x, y=y)) +
     geom_point() + 
     geom_smooth(aes(y=fit, ymin=lwr, ymax=upr), stat="identity")
print(p)

我的问题是如何避免此警告?

您已经有了一个模型,请使用
geom_ribbon
作为置信区间,使用
geom_line
作为拟合值,而不是
geom_smooth
geom_smooth
用于希望
ggplot
拟合模型(默认为黄土或GAM)。谢谢,这很有意义。但是,尽管它抱怨未知的美学ymin和ymax,
geom_smoth
绘制了正确的置信区间。尽管有警告,
geom_smooth
似乎正在成功地将这些美学传递给
geom_ribbon
。因此,我认为您的选择是:(a)忽略警告,(b)将
geom_平滑
调用包装在
suppressWarnings()
,或者(c)使用
geom_功能区和
geom_线
而不是
geom_平滑
Warning: Ignoring unknown aesthetics: ymin, ymax