You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何汇总列含NaN的dataframe,得到无缺失值的规整汇总表

问题原因

原有代码按全局行号分组,每组仅对应原数据的1行,调用sum(., na.rm=T)时,如果该行对应列的值为NA,求和结果会直接返回0,不符合需求。

实现方案

你的数据集每列的非NA值数量一致(均为3个),直接提取每列的非NA值拼接为新数据框即可:

tidyverse 实现代码

library(dplyr)

result <- data %>% 
  summarise(across(c(Data1, Data2, Data3), ~na.omit(.x)))

基础R 实现代码

result <- data.frame(
  Data1 = na.omit(data$Data1),
  Data2 = na.omit(data$Data2),
  Data3 = na.omit(data$Data3)
)

如果你的场景中可能出现各列非NA值长度不一致的情况,可提前统计各列非NA值数量,确认长度一致后再执行拼接,避免数据对齐错误。

内容的提问来源于stack exchange,提问作者MustardRecord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:57:03