r语言 - 估算数据集中 NA 的中位数是最佳方法吗?如果是/否,那为什么



我正在尝试进行一些数据清理。我的数据包括受访者回答的调查问题,范围为 1 到 5(因子类型数据(。我的数据集中有几个 NA。我有 49 个变量。现在我想用该列的中位数估算每列中的 NA。

我尝试将数据转换为

数字以便能够获得中位数,之后我尝试将列表转换为数据帧,但它不起作用。

# Replacing NAs with median
# data.class(data3$column)
data4 <- lapply(data3,as.numeric)
median(data4$ER_ALLVIS)
# Replacing NAs with median
data5 %>% 
  mutate_all(~ifelse(is.na(.), median(., na.rm = TRUE), .))

我想用该列的中位数估算每列中的 NA。

虽然使用均值或中位数进行估算并不是任何想象力的最佳方法,但在实践中这是非常普遍的。如果这是您希望采用的方法:

data %>% mutate_if(is.factor, function(x) replace(x, is.na(x), median(as.numeric(as.character(x)))))

相关内容

最新更新