繁体   English   中英

为什么 R 函数“lm()”和“lm.fit()”之间的计算残差不同

[英]Why do calculated residuals differ between R functions `lm()` and `lm.fit()`

我正在尝试从lm()切换到更快的lm.fit()以便更快地从大矩阵计算 r² 值。 (我不认为我可以使用cor() ,根据Function 来计算 R 中的 R2(R 平方) ,当x是矩阵时。)

为什么lm()lm.fit()计算不同的拟合值和残差?

set.seed(0)
x <- matrix(runif(50), 10)
y <- 1:10
lm(y ~ x)$residuals
lm.fit(x, y)$residuals

我无法穿透lm()源代码来找出可能导致差异的原因......

?lm.fit x “应该是维度 n * p 的设计矩阵”,其中p是系数的数量。 因此,您必须为截距传递一个向量以获得相同的 model。

因此估计

lm.fit(cbind(1,x), y)

将给出相同的参数

lm(y ~ x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM