如何将sapply计算的缺失值统计结果导出为CSV文件
简便实现方法
步骤1:简化缺失值统计
原代码的sapply写法可以替换成更高效简洁的colSums(is.na(df_keep)),直接得到各列缺失值的计数向量:
# 一步计算各列缺失值数量 missing_vec <- colSums(is.na(df_keep))
步骤2:转换为数据框
根据需求可选两种数据框格式:
- 宽格式(一行展示所有变量):转置向量后转换为数据框,适合快速查看所有变量的缺失情况
missing_df_wide <- as.data.frame(t(missing_vec))
输出结果:
var1 var2 var3 var4 1 0 1 1 1
- 长格式(每行一个变量):把变量名和缺失数拆分为两列,更适合后续的统计分析或可视化
missing_df_long <- data.frame( 变量名 = names(missing_vec), 缺失值数量 = as.numeric(missing_vec) )
输出结果:
变量名 缺失值数量 1 var1 0 2 var2 1 3 var3 1 4 var4 1
步骤3:导出为CSV文件
用write.csv()直接导出,设置row.names = FALSE避免导出多余的行号,指定fileEncoding = "UTF-8"保证中文显示正常:
# 导出宽格式文件 write.csv(missing_df_wide, "缺失值统计_宽格式.csv", row.names = FALSE, fileEncoding = "UTF-8") # 导出长格式文件 write.csv(missing_df_long, "缺失值统计_长格式.csv", row.names = FALSE, fileEncoding = "UTF-8")
一步到位的简化写法
如果不需要单独保存中间变量,可以直接合并所有步骤:
write.csv( data.frame( 变量名 = names(df_keep), 缺失值数量 = colSums(is.na(df_keep)) ), "缺失值统计.csv", row.names = FALSE, fileEncoding = "UTF-8" )
内容的提问来源于stack exchange,提问作者four77
相关产品推荐
相关产品推荐

