我想将具有指定斜率的线性回归线拟合到数据集。我读过this thread关于使用显式拦截进行相同操作的信息。0+
禁止截距的拟合;斜坡的对应技巧是什么?
例如,为使坡度为1.5的线适合我尝试了以下方法
set.seed(6)
x <- runif(100, -3, 3)
y <- 2 + x + rnorm(100)
model1<-lm(y ~ x)
plot(x,y)
abline(model1,col="red")
abline(coef(model1),1.5,col="dark green")
但是第二个abline函数仅采用来自model1和斜率1.5的截距。而我希望回归线的斜率为1.5,找到最适合数据点的位置,然后从该回归线计算截距。
最佳答案
我想一种方法是从1.5*x
中减去y
,然后仅使用拦截项来拟合y
:
mod2 <- lm(I(y-1.5*x)~1)
plot(x, y)
abline(mod2$coefficients, 1.5)
这代表固定斜率1.5时的最佳线性拟合。当然,这种拟合在视觉上不是很吸引人,因为模拟的斜率是1,而固定的斜率是1.5。
关于r - 具有指定斜率的线性回归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33292969/