问题描述
我想生成一个显示 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,])
}