R 绘制与系数k相乘的拟合线性回归

R 绘制与系数k相乘的拟合线性回归,r,R,绘制一个简单的线性回归有代码 plot(X,Y, pch=16) 式中,Y_i=b_0+b_1X_i,安装的管路为 abline(lm(Y~X)) 那么,如果X乘以系数k,拟合值Y_hat的代码是什么? 是吗 abline(k*lm(Y~X)) 因为k*Y_hat=k*b_0+k*b_1*X_i?这不会直接以这种方式工作,因为不能将“lm”对象与某个对象相乘。但是,您可以使用不同的方法绘制回归线,使用stats:::plot.lm方法、截距和斜率,并绘制(有序)拟合值 ## baselin

绘制一个简单的线性回归有代码

plot(X,Y, pch=16)
式中,Y_i=b_0+b_1X_i,安装的管路为

abline(lm(Y~X))
那么,如果X乘以系数k,拟合值Y_hat的代码是什么? 是吗

abline(k*lm(Y~X))

因为k*Y_hat=k*b_0+k*b_1*X_i?

这不会直接以这种方式工作,因为不能将
“lm”
对象与某个对象相乘。但是,您可以使用不同的方法绘制回归线,使用
stats:::plot.lm方法
、截距和斜率,并绘制(有序)拟合值

## baseline regression
(fit0 <- lm(y ~ x, d))$coe
# (Intercept)           x 
#    1.111633    3.427159 

op <- par(mfrow=c(1, 3))  ## set pars

plot(y ~ x, d, main="line.fit")
abline(fit0)  ## line by stats:::plot.lm method

plot(y ~ x, d, main="line.coef")
abline(a=fit0$coefficients[1], b=fit0$coefficients[2])  ## intercept and slope

plot(y ~ x, d, main="line.fitted")
lines(sort(d$x), fit0$fitted.values[order(d$x)])  ## (ordered) fitted values
我们只能看到与
fit0
相比的斜率变化,它被
k
除以。截距保持不变。因此,我们将这一观点应用到绘图方法中

plot(y ~ xk, d, main="line.fit");abline(fit.k)

plot(y ~ xk, d, main="line.coef")
abline(a=fit.k$coefficients[1], b=fit.k$coefficients[2], col="black")
abline(a=fit0$coefficients[1], b=fit0$coefficients[2]/k, lty=2, col="red")

plot(y ~ xk, d, main="line.fitted");lines(sort(d$xk), fit0$fitted.values[order(d$x)])

par(op)  ## reset pars

中间的图显示,
fit.k
的拟合线与我们将
fit0
的截距乘以
k
的直线重合


示例数据:

set.seed(42)

d这不会直接以这种方式工作,因为不能将
“lm”
对象与某物相乘。但是,您可以使用不同的方法绘制回归线,使用
stats:::plot.lm方法
、截距和斜率,并绘制(有序)拟合值

## baseline regression
(fit0 <- lm(y ~ x, d))$coe
# (Intercept)           x 
#    1.111633    3.427159 

op <- par(mfrow=c(1, 3))  ## set pars

plot(y ~ x, d, main="line.fit")
abline(fit0)  ## line by stats:::plot.lm method

plot(y ~ x, d, main="line.coef")
abline(a=fit0$coefficients[1], b=fit0$coefficients[2])  ## intercept and slope

plot(y ~ x, d, main="line.fitted")
lines(sort(d$x), fit0$fitted.values[order(d$x)])  ## (ordered) fitted values
我们只能看到与
fit0
相比的斜率变化,它被
k
除以。截距保持不变。因此,我们将这一观点应用到绘图方法中

plot(y ~ xk, d, main="line.fit");abline(fit.k)

plot(y ~ xk, d, main="line.coef")
abline(a=fit.k$coefficients[1], b=fit.k$coefficients[2], col="black")
abline(a=fit0$coefficients[1], b=fit0$coefficients[2]/k, lty=2, col="red")

plot(y ~ xk, d, main="line.fitted");lines(sort(d$xk), fit0$fitted.values[order(d$x)])

par(op)  ## reset pars

中间的图显示,
fit.k
的拟合线与我们将
fit0
的截距乘以
k
的直线重合


示例数据:

set.seed(42)
D