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

R语言中计算含NA数据框列均值的方法(不使用na.omit())

计算含NA值列的汇总统计(保留其他列含NA的观测)

核心思路是利用统计函数的na.rm = TRUE参数,只忽略当前计算列的NA值,不会对整个数据框的行做删除操作,完美匹配你的需求。以下是具体实现方式:

基础R原生方法

直接针对mass列调用统计函数,并开启na.rm = TRUE:

  • 计算均值:mean(df$mass, na.rm = TRUE)
  • 计算中位数:median(df$mass, na.rm = TRUE)
  • 计算求和:sum(df$mass, na.rm = TRUE)
  • 计算标准差:sd(df$mass, na.rm = TRUE)
  • 生成完整汇总统计(自动忽略NA,还会显示NA的数量):summary(df$mass)

dplyr包(tidyverse生态)方法

如果习惯用管道式操作,可以用dplyr的summarize函数:

  1. 先加载包:library(dplyr)
  2. 计算单个统计量:
df %>% summarize(mass_mean = mean(mass, na.rm = TRUE))
  1. 一次性计算多个统计量(按需调整):
df %>% summarize(
  mass_mean = mean(mass, na.rm = TRUE),
  mass_median = median(mass, na.rm = TRUE),
  mass_sd = sd(mass, na.rm = TRUE),
  mass_total = sum(mass, na.rm = TRUE),
  valid_count = sum(!is.na(mass))  # 统计mass列的有效观测数
)

以上所有方法都只会处理mass列的NA值,不会删除其他列含NA但mass列有有效值的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:02:04