用 speedlm 显示残差

Show residuals with speedlm

由于我的数据集的大小,我必须使用 Speedlm, fastLm or biglm。 不幸的是,我坚持使用 speedlm,因为 fastlm 没有 update 功能,并且 biglm 仅支持单核。

我想使用 speedlm 显示所有残差。我知道对于 lmfastlm 我可以简单地使用 residuals() 函数。然而事实证明 speedlm 不支持这个。

lmfit  <- speedglm(formula , res)
print(names(lmfit))
[1] "coefficients" "coef"         "df.residual"  "XTX"          "Xy"           "nobs"         "nvar"         "ok"           "A"            "RSS"          "rank"         "pivot"        "sparse"       "yy"           "X1X"          "intercept"    "method"       "terms"        "call"

lmfit <- fastLm(formula, res)
print(names(lmfit))
[1] "coefficients"  "stderr"        "df.residual"   "fitted.values" "residuals"     "call"          "intercept"     "formula"

有没有办法使用speedlm显示所有残差?

当尝试 print(residuals(lmfit)) 时,它只打印 NULL

编辑:

使用@Roland提到的方法时,returns纯粹是NA

lmfit  <- speedlm(formula , res, fitted=TRUE)
resids <- res$Daily_gain - predict(lmfit, newdata=res)
print(summary(resids))

# Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's
#   NA      NA      NA     NaN      NA      NA  829780
library(speedglm)

存储拟合值(需要更多 RAM):

fit <- speedlm(Sepal.Length ~ Species, data = iris, fitted = TRUE)
iris$Sepal.Length - predict(fit)

或者不存储它们(需要更多 CPU 时间):

fit1 <- speedlm(Sepal.Length ~ Species, data = iris)
iris$Sepal.Length - predict(fit1, newdata = iris)