在 R 中保存没有拟合值的模型

Save model without fitted values in R

假设我有一个这样的线性回归模型

a <- rnorm(100)
b <- rnorm(100)
fit <- lm(a ~ b)

拟合对象是一个列表,包含系数和数据以及拟合值等等。但是,如果我想预测看不见的数据,我只需要模型本身,所以基本上是系数。在这个例子中,这真的无关紧要,但我实际上有(不必要地)数百 MB 大的模型。

如何在看不见的数据上只保留真正需要预测的东西?

...并且仍然可以使用 predict()

你是对的,这个列表的一些元素可以用 NULL 替换。这不应该影响预测,因此可以正确使用。您只需确保预测中不需要这些元素。

例如,您可以这样做:

fit$data <- NULL
fit$y <- NULL
fit$linear.predictors <- NULL
fit$weights <- NULL
fit$fitted.values <- NULL
fit$model <- NULL
fit$prior.weights <- NULL
fit$residuals <- NULL
fit$effects <- NULL

此 link 中提供了更多详细信息。 http://blog.yhat.com/posts/reducing-your-r-memory-footprint-by-7000x.html