我正在尝试查找数据帧中每列的所有缺失值(包括NA,“”和NULL)的总数。 “摘要”功能仅显示NA值,甚至VIM软件包也是如此。
在PASWR :: titanic3数据集中,我的缺失分析中没有捕获具有空字符串的因子列。
包括这些缺失值的计数的好方法是什么?另外,有没有办法显示缺失值的所有类型/频率?
谢谢。
答案 0 :(得分:0)
您应该尝试使用用户创建的功能。这是我想到的:
library(tidyverse)
test_function <- function(vector){
##The ifelse returns TRUE if the element in the vector is NA, NULL, or ""
x <- ifelse(is.na(vector)|vector == ""|is.null(vector), TRUE, FALSE)
##Returns the sum of boolean vector (FALSE = 0, TRUE = 1)
return(sum(x))
}
要将函数应用于数据框,可以使用任意apply函数,但是我建议使用sapply,因为它返回向量。
##Create a data frame with mock data
test_df <- tibble(x = c(NA, NA, NA, "","",1,2,3),
y = c(NA, "","","","","","",1),
z = c(0,0,0,0,0,0,0,0))
##Assign the result to a new variable
total_missing_by_column <- sapply(test_df, test_function)
##You can also build a data frame with the variables and the total missing
tibble(variable = colnames(test_df),
total_missing = sapply(test_df, test_function))
希望有帮助
答案 1 :(得分:0)
用
转换除NA以外的缺失值df[df %in% c("NULL", "")] <- NA