例: 统计数据框内某列内NA在所有行中出现的次数
- 创建数据框
data <- data.frame(A=c(1,2,3,NA,NA,4,5,NA),B=c(11,NA,34,NA,46,7,9,NA),
C=c(23,NA,2,5,8,NA,8,NA),D=c(4,5,7,8,9,24,56,6))
data
image.png
- 统计函数
data_sum <- function(x){
times <- length(which(is.na(data[,x])))
times_data <- data.frame(
'ID' <- x,
'Times' <- times
)
return(times_data)
}
- 数据输入到函数内(用lappy)
num_data <- c(1:4) # 共四列
sum_data_NA <- lapply(num_data, data_sum)
sum_data_NA <- ldply(sum_data_NA,data.frame) # ldply将其转换成数据框
sum_data_NA
image.png