我想在一个数据帧列中计算NA值的数量。假设我的数据帧称为df,我正在考虑的列的名称是col。我提出的方法如下:

sapply(df$col, function(x) sum(length(which(is.na(x)))))  

这是一个好的/最有效的方法吗?


当前回答

试试这个:

length(df$col[is.na(df$col)])

其他回答

一种统计数据帧中每一列空值的方法:

library(tidyverse)
library(purrr)

df %>%
    map_df(function(x) sum(is.na(x))) %>%
    gather(feature, num_nulls) %>%
    print(n = 100)

试试这个:

length(df$col[is.na(df$col)])

你可以用它来计算每一列中NA或空格的数量

colSums(is.na(data_set_name)|data_set_name == '')

我从本地目录读取csv文件。以下代码适用于我。

# to get number of which contains na
sum(is.na(df[, c(columnName)]) # to get number of na row

# to get number of which not contains na
sum(!is.na(df[, c(columnName)]) 

#here columnName is your desire column name

如果您希望计算整个数据帧中的NAs数量,也可以使用

sum(is.na(df))