我目前正在处理一个大型数据集(n>10百万)。我发现最固定的软件包非常有助于快速运行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=TRUE和mem.clean=TRUE减肥。我还要消除模型的线性预测器和工作残差分量,如下所示:
f1$linear.predictors <- NULL
f1$working_residuals <- NULL通过做所有这些步骤,我成功地减少了很多脂肪。模型最初是1.2GB,但我设法把它压缩到了200 GB
print(object.size(f1), units = "auto")
218.3 Kb当我试图将模型保存为rda文件时会出现问题。保存操作应该花一秒钟时间。相反,它需要几分钟,并将模型保存为一个臃肿的300 MB文件。
我做错了什么?我想保持最固定的对象在它的小220 Kb大小。
谢谢
发布于 2022-02-20 21:06:56
谢谢劳伦特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"谢谢你的帮助,并创造了一个完美的包,最固定的是。
发布于 2022-02-17 20:25:07
将family、fml和fml_all设置为NULL,它应该可以工作。
问题是,这些项目指的是环境,即使它们不包括环境。但是,在应用保存时,也会保存这些值所引用的环境,从而导致文件大小较大。
这是一个问题,我将尝试解决在包中。顺便说一句,在包的下一个版本(0.10.2)中,项目linear.predictors和working_residuals将被适当地擦除。
https://stackoverflow.com/questions/71119432
复制相似问题