我想在一个数据帧列中计算NA值的数量。假设我的数据帧称为df,我正在考虑的列的名称是col。我提出的方法如下:
sapply(df$col, function(x) sum(length(which(is.na(x)))))
这是一个好的/最有效的方法吗?
我想在一个数据帧列中计算NA值的数量。假设我的数据帧称为df,我正在考虑的列的名称是col。我提出的方法如下:
sapply(df$col, function(x) sum(length(which(is.na(x)))))
这是一个好的/最有效的方法吗?
当前回答
在summary()输出中,该函数还计算NAs的数量,因此如果需要几个变量中NAs的总和,可以使用该函数。
其他回答
你想太多了:
sum(is.na(df$col))
这个表格与凯文·奥戈洛斯的表格略有不同:
na_count <-function (x) sapply(x, function(y) sum(is.na(y)))
返回命名为int数组的NA计数
另一个选项使用complete。这样的案例:
df <- data.frame(col = c(1,2,NA))
df
#> col
#> 1 1
#> 2 2
#> 3 NA
sum(!complete.cases(df$col))
#> [1] 1
于2022-08-27使用reprex v2.0.2创建
你可以用它来计算每一列中NA或空格的数量
colSums(is.na(data_set_name)|data_set_name == '')
一种统计数据帧中每一列空值的方法:
library(tidyverse)
library(purrr)
df %>%
map_df(function(x) sum(is.na(x))) %>%
gather(feature, num_nulls) %>%
print(n = 100)