【发布时间】:2017-11-06 18:37:26
【问题描述】:
这就是我的 data.table/dataframe 的样子
library(data.table)
dt <- fread('
STATE ZIP
PA 19333
PA 19327
PA 19333
PA NA
PA 19355
PA 19333
PA NA
PA 19355
PA NA
')
ZIP 列中有三个缺失值。我想根据它们在数据集中出现的概率,用ZIPs 的非缺失样本值填充缺失值。例如,ZIP 19333 在数据集中出现 3 次,ZIP 19355 在数据集中出现两次,19327 出现一次。因此,ZIP 19333 在PA 的数据集中出现的概率为 50%,19355 的概率为 33.33%,19327 的概率为 16.17%。因此,19333 在尝试填补三个缺失的 ZIP 时被选中的概率最高。最终填充的数据集可能如下所示,其中两个缺失值由“19333”填充,一个由“19355”填充:
STATE ZIP
PA 19333
PA 19327
PA 19333
PA 19333
PA 19355
PA 19333
PA 19333
PA 19355
PA 19355
我的数据集中有多个STATE。主要思想是根据给定STATE 出现 ZIP 的概率来填充缺失的 ZIP。
【问题讨论】:
-
您是在询问您的代码或确定缺失值的方法吗?您是否拥有多个州的数据?我假设您不想为具有相同邮政编码的所有州填写所有缺失值。我有点不清楚你到底在问什么。
-
@MrFlick 感谢您的评论。我做了一些编辑。希望帖子现在更清楚了。
标签: r data.table missing-data