R语言如何按条件输出结果 怎么显示列非NA值求和的最小值
解决方案
R 基础环境不存在print.condition函数,直接调用会触发报错,你可以参考以下代码实现「筛选小于12347的列统计值、获取最小求和值对应列、输出指定内容」的需求。
基础R实现
# 计算每列非NA值的个数 pregunta_menos <- colSums(!is.na(df)) # 筛选出统计值小于12347的条目 filtered_vals <- pregunta_menos[pregunta_menos < 12347] # 无符合条件的列时的异常处理 if(length(filtered_vals) == 0){ cat("不存在统计值小于12347的列\n") } else { # 提取最小统计值对应的列名 min_col_name <- names(filtered_vals)[which.min(filtered_vals)] # 提取最小求和值 min_sum_val <- min(filtered_vals) # 输出指定内容+结果 cat("The Minimum column is:", min_col_name, ",最小求和值为:", min_sum_val, "\n") }
data.table 实现(匹配你现有代码的写法)
library(data.table) pregunta_menos <- colSums(!is.na(df)) # 生成data.table对象 dt <- as.data.table(pregunta_menos, keep.rownames = "col_name") # 筛选+取最小值行 min_row <- dt[pregunta_menos < 12347][pregunta_menos == min(pregunta_menos)] if(nrow(min_row) == 0){ cat("不存在统计值小于12347的列\n") } else { cat("The Minimum column is:", min_row$col_name, ",最小求和值为:", min_row$pregunta_menos, "\n") }
内容的提问来源于stack exchange,提问作者Juan Jesus
相关产品推荐
相关产品推荐

