【发布时间】:2019-07-14 13:53:46
【问题描述】:
我正在分析一个包含超过 450k 行的数据集,由于无响应和其他随机因素,我正在查看的其中一列 (pa1min_) 中大约 100k 行具有 NA 值。本专栏以分钟为单位处理锻炼时间。
我认为用平均值或中位数填充NA 值是没有意义的,因为它几乎占数据的四分之一并且可能产生偏差。我想用线性回归来估算缺失的观察结果。但是,我收到一条错误消息:
Error: vector memory exhausted (limit reached?)
In addition: There were 50 or more warnings (use warnings() to see the first 50)
这是我的代码:
# imputing using multiple imputation deterministic regression
imp_model <- mice(brfss2013, method="norm.predict", m=1)
# store data
data_imp <- complete(imp_model)
# multiple imputation
imp_model <- mice(brfss2013, m=5)
# building predictive mode
fit <- with(data=imp_model, lm(y ~ x + z))
# combining results
combined <- pool(fit)
这是数据的链接(压缩) Data
注意:我真的只想为一列填充 impute...数据框中的其他列是字符、整数和因子的混合,有些超过 2 个级别。
【问题讨论】:
-
听起来您只需要一台具有更多 RAM 的计算机。很难说虽然没有某种reproducible example
-
@MrFlick 添加了压缩数据的链接
标签: r data-science linear-regression imputation r-mice