R:Fixest class 模型在保存时体积膨胀

R: Fixest class models bloat in size when saved

我目前正在处理一个大数据集 (n>1000 万)。我发现 fixst 包对 运行 logit 固定效应模型快速 (feglm) 非常有帮助。

f1 <- feglm(result ~ log(rate1) + 
sex + 
age + 
development + 
pop + 
acad + 
size | state, se= "standard",  family=c("logit"), lean =TRUE, mem.clean = TRUE, data=total)

最初的问题是我的模型太大了。我尝试使用 lean=TRUEmem.clean=TRUE 来减少它们。我还必须像这样消除模型的线性预测变量和工作残差分量:

f1$linear.predictors <- NULL
f1$working_residuals <- NULL

通过执行所有这些步骤,我成功地 trim 胖了很多。该模型最初是 1.2 GB,但我设法将其压缩到 ~200kb

print(object.size(f1), units = "auto")
218.3 Kb

当我尝试将模型保存为 rda 文件时出现问题。 保存操作应该需要一瞬间。相反,它需要几分钟并将模型保存为一个 300 MB 的臃肿文件。

我做错了什么?我想将最固定的对象保留在 220 Kb 的小尺寸中。

谢谢

familyfmlfml_all 设置为 NULL,它应该可以工作。

问题是这些项目 引用 环境,即使它们不 包括 环境。 但是,当应用保存时,这些值所指的环境也会被保存,导致文件较大。

这是一个我将尝试在包中解决的问题。顺便说一句 linear.predictors working_residuals 将在下一版本的软件包 (0.10.2) 中被适当删除。

谢谢 Laurent B. 为我指明了正确的方向。我根据您的建议将模型的几个组件设置为 NULL.

f1.1$linear.predictors <- NULL
f1.1$working_residuals <- NULL
f1.1$family <- NULL
f1.1$fml <- NULL
f1.1$fml_all <- NULL
f1.1$family$family = "binomial"
f1.1$family$family = "logit"
f1.1[["fml"]][[2]] = "emigration"

感谢您的帮助和创建 fixst 的精彩包。