我想lm()在一个包含2个预测变量的50M +观测值的大型数据集上运行.分析在远程服务器上运行,只有10GB用于存储数据.我已经对从数据中采样的10K观测值测试了'lm()',结果对象的大小为2GB +.
我需要从lm()ONLY 返回的类"lm"的对象来生成model(summary(lm_object))的摘要统计信息并进行预测(predict(lm_object)).
我做了一些实验用的选项model, x, y, qr的lm.如果我将它们全部设置为FALSE我将尺寸减小38%
library(MASS)
fit1=lm(medv~lstat,data=Boston)
size1 <- object.size(fit1)
print(size1, units = "Kb")
# 127.4 Kb bytes
fit2=lm(medv~lstat,data=Boston,model=F,x=F,y=F,qr=F)
size2 <- object.size(fit2)
print(size2, units = "Kb")
# 78.5 Kb Kb bytes
- ((as.integer(size1) - as.integer(size2)) / as.integer(size1)) * 100
# -38.37994
Run Code Online (Sandbox Code Playgroud)
但
summary(fit2)
# Error in qr.lm(object) : lm object does not have a proper 'qr' component.
# Rank zero or should …Run Code Online (Sandbox Code Playgroud)