【问题标题】:How can I replace the NAs of every coumn of a big dataset with the median of the non-missing entries of the column?如何将大数据集的每一列的 NA 替换为该列非缺失条目的中位数?
【发布时间】:2015-09-22 17:17:34
【问题描述】:

我有一个大数据集(1121 行 x 532 列)。
每列代表自我报告问卷的一个项目。
我有几个 NA (n= 3015)。
我想用每一列的中位数替换每个 NA。

我该怎么做?

我尝试使用 na.omit 函数从缺失值中清除数据集,但 R 将找到 NAs 的整行放在一边。
这对我来说是个问题,因为在这个操作之后我有一个只有 641 行的数据集。每列代表秤的名称和项目编号(即 IUI23 ... IUI 是秤的名称,23 是项目的编号)。

我需要找到每列的中位数,同时不选择列的标题,然后用每列的中位数替换每个 NA。

【问题讨论】:

    标签: median nas


    【解决方案1】:

    我解决了我的问题,我想与大家分享我的答案。 我使用了“randomForest”包。 我使用了包中名为 na.roughfix (object, ... ) 的函数,该函数按中值/众数估算所有缺失值。它返回一个完整的数据矩阵或数据框。对于数值变量,NA 被替换为列中位数。对于因子变量,NA 被替换为最频繁的级别(随机打破平局)。如果对象不包含 NA,则原样返回。 我的数据名称是 IUI_data。我只是输入: IUI_data.roughfix

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      相关资源
      最近更新 更多