[英]Plot multiple-regression line in ggplot2
这里有些新手问题。 我想使用ggplot2绘制我的多元回归模型,但遇到错误。 在决定询问社区之前,我在论坛上做了一些研究。 最初的问题是错误地张贴在错误的论坛上的。
我了解如何绘制简单的线性回归:
ggplot(data, aes(x=X, y=Y))+geom_point()+
geom_smooth(method='lm',formula=Y~X)
但是当我尝试进行多元回归时:
Model<-lm(Y~x1*x2*x3*x4*x5, data, na.action=na.omit)
ggplot(data, aes(x=X, y=Model))+geom_point()+
geom_smooth(method='lm',formula=Y~x1*x2*x3*x4*x5)
我收到此错误:
不知道如何为lm类型的对象自动选择比例。 默认为连续。
错误:美学的长度必须为1或与数据(209)相同:x,y
您是否尝试过使用abline()函数?
尝试使用
abline(Model,lwd=3,col="red")
如果您有两个自变量,则可以尝试进行多元回归,
set.seed(1)
data <- data.frame(x1=rnorm(100, 5, 2), x2=rnorm(100, 10, 5)) # some random data
data$y <- 3*data$x1 + 2*data$x2 + rnorm(100, 2, 5)
lmFit <- lm(y ~ x1 + x2, data = data)
x1 <- seq(from = min(data$x1), to = max(data$x1), by = 0.1)
x2 <- seq(from = min(data$x2), to = max(data$x2), by = 0.1)
y <- outer(X = x1, Y = x2, FUN = function(x1, x2) {
predict(lmFit, newdata = data.frame(x1 = x1, x2 = x2))
})
open3d()
bg3d("white")
material3d(col="black")
persp3d(x1, x2, y, col = "green3", xlab = "x1", ylab = "x2", zlab = "y",theta=50, phi=25, expand=0.75, ticktype="detailed")
points3d(data$x1, data$x2, data$y, col = "red", size=5)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.