簡體   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