我想知道如果它包含超过 65% 的 NA,我是否可以删除整个列?如果是,为什么?如果不是,在这种情况下,我们为什么以及如何处理NA?
谢谢
我们可以使用Filter
来删除值大于 65% 作为 NA 的列
Filter(function(x) mean(is.na(x)) <= 0.65, df)
或与select_if
library(dplyr)
df %>%
select_if(funs(mean(is.na(.)) <= 0.65))
数据
df <- data.frame(V1 = c(1:5, rep(NA, 5)), V2 = c(1:3, rep(NA, 7)), V3 = c(1:4, rep(NA, 6)))