用speedlm显示残差

时间:2015-10-19 09:36:19

标签: r lm

由于我的数据集的大小,我必然会使用SpeedlmfastLmbiglm。 不幸的是,我坚持使用df_abs <- mutate(df_data, interval = cut(varC, df_abs$interval)) %>% group_by(interval) %>% summarise(count=n(), sum=sum(varC)) # interval count sum #1 (-Inf,-60] 1 -81.0 #2 (-30,0] 4 -80.0 #3 (0,30] 3 65.2 #4 (30,60] 3 146.8 #5 (200, Inf] 1 256.3 df_rel <- mutate(df_data_arranged, interval = cut(observationPercent, df_rel$interval)) %>% group_by(interval) %>% summarise(count=n(), sum=sum(varC)) # interval count sum #1 (5,15] 1 -81.0 #2 (15,50] 5 -64.7 #3 (50,75] 3 92.6 #4 (75,95] 2 104.1 #5 (95,100] 1 256.3 因为speedlm没有fastlm功能,update只支持单核。

使用speedlm我想显示所有残差。我知道,对于biglmlm,我可以简单地使用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" 显示所有残差?

尝试speedlm时,只会打印print(residuals(lmfit))

修改

当使用@Roland提到的方法时,它纯粹返回NULL

NA

1 个答案:

答案 0 :(得分:5)

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)