使用 abline 函数将表中的几条回归线插入到图中

问题描述

我想生成一个显示 500 条不同回归线的图。回归线的截距和斜率值之前确定,并在表中。您可以看到下表的第一行。

我可以用下面的代码创建一个基本的图

plot(x=NA,type="n",ylim=c(1,9),xlim=c(1,4),xlab="x-lab",ylab="y-lab")

使用 abline 函数,我可以将单个回归添加到图中。例如像这样:

abline(a=4.951170,b=0.8342761,col="red")

但是如何将表中的 500 个不同值 a(截距)和 b(斜率)自动添加到绘图中?然后目的是生成一个显示所有 500 条回归线的图。 问候

n 拦截 坡度
16 5.577343 0.5459211
16 5.421676 0.6770537
16 5.056463 0.8671691
16 4.495589 1.0685088
16 5.527734 0.5559211
16 5.432168 0.7770537
16 5.156463 0.9671691
16 4.595589 1.1685088
16 5.477343 0.6459211
16 5.321676 0.5770537
16 5.156463 0.9671691
16 4.395589 1.1685088

解决方法

一个简单的循环可以拯救你

df=data.frame(
  "intercept"=rnorm(5),"slope"=rnorm(5)
)

plot(x=NA,type="n",ylim=c(1,9),xlim=c(1,4),xlab="x-lab",ylab="y-lab")

for (i in 1:nrow(df)) {
  abline(coef=df[i,])
}