将最小二乘法和 LMS 线添加到图中

Adding least squares and LMS lines to a plot

我已经从包 library (robustbase) 中加载了数据集 Animals2,我对处理这些数据的对数很感兴趣。

library(robustbase)
x<-log(Animals2)
plot(x, main="Plot Animals2", col="darkgreen")

现在我需要添加最小二乘线、LMS 线和线 Siegel,通过使用不同的颜色。最后,我还想展示两个具有估计的二维密度的图。第一个图应该是密度的 3D 可视化(我试图使用命令 persp),第二个图使用命令 image(应用于 密度估计)。

我有点卡住了,希望得到一些帮助。

假设 mblm() 使用 Siegel 模型,您可以使用这个:

  library(robustbase)
  library(mblm)
  data(Animals2)
  x <- log(Animals2)
  plot(x, main="Plot Animals2", col="darkgreen")
  abline(lm(brain ~ body, data=x), col="red")
  abline(MASS::lqs(brain ~ body, data=x, method="lms"), col="blue")
  abline(mblm(brain ~ body, data=x, repeated=TRUE), col="black")
  legend("topleft", c("LM", "LMS", "Siegel"), 
         col = c("red", "blue", "black"), 
         lty = c(1,1,1), 
         inset=.01)



d2 <- MASS::kde2d(x$body, x$brain)
persp(d2)

image(d2, xlab="body", ylab="brain")

reprex package (v2.0.1)

于 2022-05-20 创建