使用“pairs()”函数将斜率添加到具有回归线的图中

ehxuflar  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(120)

是否可以找到回归线的斜率系数值并将其添加到该图的上部框架中,而不是相关系数?提前感谢。

reg <- function(x, y, col) abline(lm(y~x), col=col) 

panel.lm =  function (x, y, col = par("col"), bg = NA, pch = par("pch"), 
                      cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...)  {
  points(x, y, pch = pch, col = col, bg = bg, cex = cex)
  ok <- is.finite(x) & is.finite(y)
  if (any(ok)) reg(x[ok], y[ok], col.smooth)}

pairs(iris[1:4], panel = panel.lm, upper.panel=panel.cor)

ttisahbt

ttisahbt1#

这只是从?pairs的帮助文件中修改的一点coef.cor。请随意使其更漂亮。

panel.coef <- function(x, y, digits = 2, prefix = "", cex.cor, ...) {
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(0, 1, 0, 1))

  mdl <- lm(y ~ x)
  txt <- coef(mdl)[2]
  txt <- round(txt, 2)
  
  if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
  text(0.5, 0.5, txt, cex = cex.cor)
}

pairs(iris[1:4], panel = panel.lm, upper.panel=panel.coef)

相关问题