我试图在 R 中保存修剪后的 GLM 对象(即所有“非必要”特征设置为 NULL,例如残差、prior.weights、qr$qr)。
举个例子,看看我需要执行此操作的最小对象:
print(object.size(glmObject))
168992 bytes
save(glmObject, "FileName.RData")
在全局环境中分配此对象并保存会生成约 6KB 的 RData 文件。
但是,我实际上需要在函数内创建和保存 glm 对象,该对象本身也在函数内。所以代码看起来像这样:
subFn <- function(DT, otherArg, ...){
glmObject <- glm(...)
save(glmObject,"FileName.RData")
}
mainFn <- function(DT, ...){
subFn(DT, otherArg, ...)
}
mainFn(DT, ...)
尽管对象本身大小相同,但这会导致 RData 文件大得多,大约 20 MB。
所以我知道这是一个环境问题,但我很难准确地查明它是如何发生的以及为什么会发生。生成的文件大小似乎变化很大。我尝试过使用 saveRDS,同样我也尝试过通过
我对 R 环境的理解显然不是很好,如果有人能提出解决这个问题的方法,我将非常感激。谢谢。