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

按组条件计数并创建新向量:统计无关联age的唯一ID数量

解决方案

这里提供几种在R中统计**所有对应age均为缺失值(NA)**的唯一id数量的方法:

方法1:使用dplyr包(tidyverse风格)

如果习惯tidyverse的语法,可以通过分组、过滤再计数:

library(dplyr)

# 分组id,过滤出该组所有age都是NA的id,再统计数量
count_na_age_ids <- df %>%
  group_by(id) %>%
  filter(all(is.na(age))) %>%
  distinct(id) %>%
  nrow()

print(count_na_age_ids)
# 输出:3

方法2:使用Base R

不需要额外包的话,可以用by()函数或者aggregate()实现:

# 用by函数按id分组,判断每组age是否全为NA,再统计TRUE的数量
na_age_groups <- by(df$age, df$id, function(x) all(is.na(x)))
count_na_age_ids <- sum(na_age_groups)

print(count_na_age_ids)
# 输出:3

或者用aggregate():

na_check <- aggregate(age ~ id, data = df, FUN = function(x) all(is.na(x)))
count_na_age_ids <- sum(na_check$age)

print(count_na_age_ids)
# 输出:3

结果说明

示例数据中,id为b、e、g的所有age值都是NA,所以统计结果为3,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:57:02