用speedlm显示残差

Bas*_*Bas 0 r lm

由于我必须使用的数据集的大小Speedlm,fastLmbiglm.不幸的是我坚持使用speedlm作为fastlm不具有update的功能,并且biglm只支持单核心.

使用speedlm我想显示所有残差.我知道,lm或者fastlm我可以简单地使用该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"
Run Code Online (Sandbox Code Playgroud)

有没有办法显示所有残差speedlm

尝试print(residuals(lmfit))时只打印一个NULL

编辑:

当使用@Roland提到的方法时,它返回纯粹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
Run Code Online (Sandbox Code Playgroud)

Rol*_*and 5

library(speedglm)
Run Code Online (Sandbox Code Playgroud)

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

fit <- speedlm(Sepal.Length ~ Species, data = iris, fitted = TRUE)
iris$Sepal.Length - predict(fit)
Run Code Online (Sandbox Code Playgroud)

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

fit1 <- speedlm(Sepal.Length ~ Species, data = iris)
iris$Sepal.Length - predict(fit1, newdata = iris)
Run Code Online (Sandbox Code Playgroud)

  • 当然,调查你为何缺乏等级. (2认同)