r - 如何查找 data.frame 中 NA 的百分比?

标签 r csv dataframe na

我正在尝试查找列中以及整个数据框中的 NA 百分比:

我注释的第一个方法给我零,第二个未注释的方法给我一个矩阵。不知道我错过了什么。任何提示都非常感谢!

cp.2006<-read.csv(file="cp2006.csv",head=TRUE)

#countNAs <- function(x) { 
#  sum(is.na(x)) 
#} 
#total=0
#for (i in col(cp.2006)) {
#  total=countNAs(i)+total
#}
#print(total)
count<-apply(cp.2006, 1, function(x) sum(is.na(x)))
dims<-dim(cp.2006)
num<-dims[1]*dims[2]
NApercentage<-(count/num) * 100
print(NApercentage)

最佳答案

x = data.frame(x = c(1, 2, NA, 3), y = c(NA, NA, 4, 5))

对于整个数据框:

sum(is.na(x))/prod(dim(x))

或者

mean(is.na(x))

对于列:

apply(x, 2, function(col)sum(is.na(col))/length(col))

或者

colMeans(is.na(x))

关于r - 如何查找 data.frame 中 NA 的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23597140/

相关文章:

r - 如何创建稀疏对角矩阵?

r - R 中的等值线图

python - 从列中提取数字以在 Pandas 中创建新列

scala - 从Kafka上的JSON消息在Spark流中创建Spark DataFrame

python - 新的 Dataframe 列作为其他行的通用函数 (pandas)

R:使用链接在 select() 之后使用 mutate() 和 apply

r - 为什么 R 中的箭头赋值在转换函数调用中不起作用?

mysql - 自动将数据从数据库导出到 CSV 文件

python-3.x - 使用 python 将列添加到 csv 文件上的大型数据集的最佳方法是什么?

python - 是否可以将 "sniff"字符编码?