A:如何查找包含所有缺失值的列
您可以使用以下方法查找 R 数据框中包含所有缺失值的列:
方法一:使用Base R
#check if each column has all missing values all_miss <- apply(df, 2, function (x) all(is. na (x))) #display columns with all missing values names(all_miss[all_miss>0])
方法2:使用purrr包
library (purrr) #display columns with all missing values df %>% keep(~all(is. na (.x))) %>% names
两种方法产生相同的结果,但 purrr 方法对于极大的数据帧往往更快。
以下示例展示了如何在 R 中将每种方法与以下数据帧一起使用:
#create data frame
df <- data. frame (points=c(21, 15, 10, 4, 4, 9, 12, 10),
assists=c(NA, NA, NA, NA, NA, NA, NA, NA),
rebounds=c(8, 12, 14, 10, 7, 9, 8, 5),
steals=c(NA, NA, NA, NA, NA, NA, NA, NA))
#view data frame
df
points assists rebounds steals
1 21 NA 8 NA
2 15 NA 12 NA
3 10 NA 14 NA
4 4 NA 10 NA
5 4 NA 7 NA
6 9 NA 9 NA
7 12 NA 8 NA
8 10 NA 5 NA
示例 1:使用 Base R 查找包含所有缺失值的列
以下代码显示如何在数据框中查找包含所有缺失值的列:
#check if each column has all missing values all_miss <- apply(df, 2, function (x) all(is. na (x))) #display columns with all missing values names(all_miss[all_miss>0]) [1] “assists” “steals”
从结果中我们可以看到助攻和拦截列都有缺失值。
示例 2:使用 purrr 包查找包含所有缺失值的列
以下代码展示了如何使用purrr包中的函数查找数据框中包含所有缺失值的列:
library (purrr) #display columns with all missing values df %>% keep(~all(is. na (.x))) %>% names [1] “assists” “steals”
从结果中我们可以看到助攻和拦截列都有缺失值。
这对应于基本 R 方法的输出。
其他资源
以下教程解释了如何在 R 中执行缺失值的其他常见操作: