我有流行病学数据。我试图描绘回归:
y = 76.450438 + 0.047259 * x_1 + 0.882275 * x_2
我使用我的数据从分析中发现了这种回归。我曾尝试使用plot3d,planes3d,plotly和许多其他命令来绘制这个平面(这是一个平面,对吗?)。是的,我确保没有关于库或其他语法的错误。我正处于RStudio接受输入的位置,但是3D绘图是空的,没有框,没有点,只是字母x y和z在空气中。
此外,是否可以在同一个3D图中将一个回归平面覆盖在另一个回归平面上?如果可能的话,我想在同一个图中比较两个回归模型。是否也可以将回归平面覆盖在数据的散点图上?
非常感谢任何建议。谢谢。
EpiSimulationRelevant$age <- x
EpiSimulationRelevant$totchol <- y
EpiSimulationRelevant$sysbp <- z
fit <- lm(z ~ x + y)
coefs <- coef(fit)
a <- coefs["x"]
b <- coefs["y"]
c <- -1
d <- coefs["(Intercept)"]
答案 0 :(得分:2)
与标准基础图形不同,plot3D或rgl中的绘图功能不会将函数作为输入,因此您必须自己创建点,然后绘制具体结果。
即。这有效:
x1 <- runif( 1000 )
x2 <- runif( 1000 )
f <- function( x1, x2 ) { 76.450438 + 0.047259 * x1 + 0.882275 * x2 }
m <- cbind( x1, x2, f( x1, x2 ) )
rgl::plot3d( m )
编辑:由于您使用lm函数创建了回归,因此该函数的结果是一个模型对象,它具有自己的绘图通用方法。你应该玩这些,看看其中一些是否符合你的需求。您是否只是尝试plot( fit )
?