我需要估算缺失的值。我的数据集大约有80万行和92个变量。我在r的imputation包中尝试了kNNImpute,但看起来数据集太大了。R中还有其他的包/方法吗?我不喜欢用mean来代替缺失的值。谢谢你
1)你可以试试
library(sos)
findFn("impute")
显示113个包中的400个匹配项。这显示了113个包中的400个匹配项:您可以根据您对imputation函数的要求缩小范围。
你看过/试过Hmisc吗?
3)可能是小鼠描述:Hmisc库包含许多对数据有用的函数分析,高级图形,实用程序操作,功能对于计算样本大小和功率,导入数据集,输入缺失值,高级表格制作,变量聚类,字符串操作,S转换对象转换为LaTeX代码,并重新编码变量。
使用完全条件规范(FCS)的多重输入由MICE算法实现。每个变量都有自己的变量归责模式。提供了内置的估算模型连续数据(预测均值匹配,正态),二进制数据(逻辑回归),无序分类数据(多模逻辑)回归)和有序分类数据(比例赔率)。老鼠可以也可以输入连续的两级数据(正常模型、泛层、二级)变量)。被动归因可以用来保持一致性变量之间的关系。各种诊断图可供检查imputation的质量
MICE是一个很棒的软件包,具有强大的诊断工具,并且可能能够在如此大的数据集中完成这项工作。
有一件事你应该知道:MICE是S-L-O-W。处理如此大的数据集,如果您打算使用MICE,我强烈建议您使用计算云——否则,您最好提前规划自己,因为对于800k x ~100矩阵,可能需要几天才能完成工作,这取决于您如何指定模型。
MICE根据要输入的变量类型提供了许多不同的输入方法。最快的是预测均值匹配。PMM最初打算用于推算连续数据,但似乎PMM足够灵活,可以容纳其他类型的变量。看看Paul Allison的帖子和stefan van Buuren的回复:http://statisticalhorizons.com/predictive-mean-matching
(我知道这是一个三年前的帖子,但我一直在使用MICE,并被它的强大和缓慢所震惊!)