如何在R中为统计缺失值的NA_values数据框添加缺失值百分比列
计算数据框列缺失值百分比的R实现
你已经通过colSums(is.na(data))统计出了各列的缺失值总数,要在NA_values数据框中添加缺失值百分比列,只需基于缺失值数量和数据总行数计算即可,以下是具体实现方法:
完整代码示例
data <- data.frame( salary = c(623.3,NaN , NaN, NaN ,NaN,NaN), emp_name = c(515.2,NaN , NaN, 2 ,3,1), emp_id = c (1:6), new_s = c(843.25,4,5,12,4,554.4) ) # 统计各列缺失值数量 NA_values <- data.frame(NA_value = colSums(is.na(data))) # 计算缺失值百分比(保留1位小数) NA_values$NA_percent <- round((NA_values$NA_value / nrow(data)) * 100, 1) # 可选:生成带%符号的格式化百分比列 NA_values$NA_percent_formatted <- paste0(NA_values$NA_percent, "%") # 查看最终结果 print(NA_values)
代码说明
nrow(data)获取数据框的总行数,作为计算百分比的分母round(..., 1)用于保留1位小数,你可以根据需要调整小数位数- 若需要更直观的百分比显示(带%符号),使用
paste0()将数值与%符号拼接
运行结果
执行代码后,NA_values会包含以下列:
NA_value:各列缺失值的总数NA_percent:缺失值占该列总行数的百分比(数值型)NA_percent_formatted:带%符号的格式化百分比(字符型,可选)
示例输出:
NA_value NA_percent NA_percent_formatted salary 5 83.3 83.3% emp_name 2 33.3 33.3% emp_id 0 0.0 0.0% new_s 0 0.0 0.0%
内容的提问来源于stack exchange,提问作者Bosser445
相关产品推荐
相关产品推荐

