如何用R语言统计两类特定条件下的唯一ID<11岁个体数量
实现指定统计需求的R代码
假设你的数据存储在名为df的数据框中,包含ID(个体唯一标识)、年龄、first1、bacteria、second2这些字段。以下是满足你需求的代码:
1. 统计条件1的唯一个体数量
条件:年龄<11岁,first1=1,bacteria=GAS,second2=2,且对应bacteria=GAS
library(dplyr) # 筛选符合条件的行,提取唯一ID后计数 condition1_count <- df %>% filter(年龄 < 11, first1 == 1, bacteria == "GAS", second2 == 2) %>% distinct(ID) %>% nrow() cat("满足第一个条件的<11岁个体有", condition1_count, "人\n")
2. 统计条件2的唯一个体数量
条件:年龄<11岁,first1=1,bacteria=GAS,second2=2,且对应bacteria=SA或No
condition2_count <- df %>% filter(年龄 < 11, first1 == 1, bacteria == "GAS", second2 == 2, bacteria %in% c("SA", "No")) %>% distinct(ID) %>% nrow() cat("满足第二个条件的<11岁个体有", condition2_count, "人\n")
关键说明
- 若未安装
dplyr包,先执行install.packages("dplyr"),再加载包 distinct(ID)用于确保统计的是唯一个体,避免同一ID重复出现导致计数错误- 如果实际字段名称(比如“年龄”为英文
age)与假设不同,直接替换代码中的字段名即可
内容的提问来源于stack exchange,提问作者Krishtika Mala
相关产品推荐
相关产品推荐

