我想在一个数据帧列中计算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)))))
这是一个好的/最有效的方法吗?
当前回答
如果您希望计算整个数据帧中的NAs数量,也可以使用
sum(is.na(df))
其他回答
你想太多了:
sum(is.na(df$col))
为了保证完整性,你也可以在table中使用useNA参数。例如table(df$col, useNA="always")将统计所有非NA的情况和NA的情况。
试试这个:
length(df$col[is.na(df$col)])
如果您希望计算整个数据帧中的NAs数量,也可以使用
sum(is.na(df))
在summary()输出中,该函数还计算NAs的数量,因此如果需要几个变量中NAs的总和,可以使用该函数。