我已经学会了用r做这种类型的图,并添加从模型预测的回归线。
## Predict values of the model##
p11=predict(model.coh1, data.frame(COH=coh1, espajpe=1:4))
p12=predict(model.coh1, data.frame(COH=coh2, espaje=1:4))
p11
1 2 3 4
1.996689 2.419994 2.843298 3.266602
p12
1 2 3 4
1.940247 2.414299 2.888351 3.362403
##PLOT##
plot(espapli~espaje, mydata)
lines(1:4,p11, col="red")
lines(1:4,p12, col="green")
现在,我想用ggplot做类似的事情,这可能吗?也就是说,为这些特定值引入回归线。
答案 0 :(得分:1)
@gennaroTedesco使用内置的平滑方法给出答案。我不确定是否遵循OP。您可以通过geom_line
# example data
set.seed(2125)
x <- rnorm(100)
y <- 1 + 2.5 *x + rnorm(100, sd= 0.5)
lm1 <- lm(y~x)
x2 <- rnorm(100)
p1 <- predict(lm1, data.frame(x= x2), interval= "c")
library(ggplot2)
df <- data.frame(x= x2, yhat= p1[,1], lw= p1[,2], up= p1[,3])
# plot just the fitted points
ggplot(df, aes(x= x, y= yhat)) + geom_line()
# also plot the confidence interval
ggplot(df, aes(x= x, y= yhat)) + geom_line() +
geom_line(aes(x= x, y= up, colour= "red")) +
geom_line(aes(x= x, y= lw, colour= "red")) +
theme(legend.position= "none")
# only the last plot is shown
答案 1 :(得分:0)
作为一般规则,可以使用函数ggplot
将回归线添加到geom_smooth
。请参阅完整文档here。如果要拟合的值与一般美学中使用的值相同,那么
p <- ggplot(data, aes(x = x, y = y)
p <- p + geom_smooth(method = 'lm')
完成这项工作。否则,您需要在geom_smooth
美学中完全指定数据集和模型。