用我拥有的方程绘制平面

  • 本文关键字:绘制 平面 方程 拥有 r
  • 更新时间 :
  • 英文 :


我有流行病学数据。我正在尝试绘制回归图:

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)"]

与标准基础图形不同,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 )吗?

最新更新