有时,数据帧中填充了太多的缺失值/ NA,并且数据帧的每一列至少包含一个NA。在这种情况下,我们可能想找出每列中存在多少个缺失值。因此,我们可以按以下方式将colSums函数与is.na一起使用:colSums(is.na(df))#此处df表示数据帧名称。
请看以下数据帧-
set.seed(109) x1<-sample(c(0:1,NA),20,replace=TRUE) x2<-sample(c(rpois(5,2),NA),20,replace=TRUE)df1<-data.frame(x1,x2) df1
输出结果
x1 x2 1 0 1 2 1 NA 3 NA 0 4 NA 0 5 1 1 6 1 1 7 NA NA 8 NA NA 9 0 1 10 NA 1 11 1 1 12 0 1 13 NA 1 14 0 0 15 1 1 16 NA 0 17 1 1 18 1 NA 19 NA NA 20 0 0
在数据帧df1的每一列中找到NA的数量-
colSums(is.na(df1))
输出结果
x1 x2 6 4
让我们看另一个例子-
y1<-sample(c(100,105,NA,115,120),20,replace=TRUE) y2<-sample(c(rnorm(3,1,0.04),NA),20,replace=TRUE) df2<-data.frame(y1,y2) df2
输出结果
y1 y2 1 NA NA 2 NA NA 3 105 NA 4 115 0.9910075 5 120 NA 6 120 0.9547570 7 105 0.9547570 8 105 1.0468139 9 120 0.9910075 10 115 0.9547570 11 115 0.9910075 12 100 0.9910075 13 NA 1.0468139 14 120 1.0468139 15 NA 1.0468139 16 115 NA 17 115 1.0468139 18 100 NA 19 120 0.9910075 20 120 0.9910075
在数据帧df2的每一列中找到NA的数量-
colSums(is.na(df2))
输出结果
y1 y2 3 3