You need to enable JavaScript to run this app. 如何使用R语言统计每个id对应的NA缺失值数量
优惠活动
大模型
产品
解决方案
定价
更多

如何使用R语言统计每个id对应的NA缺失值数量

R语言按ID统计NA值数量实现方案

我们可以通过tidyverse套件或基础R两种方式实现需求,示例如下:

方法1:tidyverse实现(推荐,代码更简洁易读)

首先加载依赖包:
library(tidyverse)
运行如下代码得到结果:

result <- df %>%
  # 过滤掉id为NA的无效行
  filter(!is.na(id)) %>%
  # 按id分组
  group_by(id) %>%
  # 统计time列的NA值总数,如果需要统计所有列的NA总数,可改为sum(is.na(pick(everything())))
  summarise(na_count = sum(is.na(time)))

运行后得到的结果和你需要的输出效果一致,对应你提供的示例数据,统计结果为:

  • id=1的NA数量为4
  • id=2的NA数量为8
  • id=3的NA数量为0

方法2:基础R实现(无需安装额外包)

# 筛选id非空的有效数据
valid_df <- df[!is.na(df$id), ]
# 按id分组统计time列的NA值
result <- aggregate(time ~ id, data = valid_df, function(x) sum(is.na(x)), na.action = NULL)
# 修改列名匹配需求
colnames(result) <- c("id", "na_count")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 07:15:03