对比两个数据集的edta_complete列,求完整条目数及差异subject_id
处理EDTA完整性数据集的统计与差异分析
需求说明
- 现有两个数据集
df和df1,其中edta_complete列的0代表数据不完整,1代表数据完整 - 需要完成两项操作:
- 分别统计两个数据集中
edta_complete=1的subject_id数量 - 对比两个数据集,找出完整条目更多的那个数据集中,与另一个数据集存在差异的
subject_id
- 分别统计两个数据集中
示例数据集
df
df <- structure (list(subject_id = c("191-5467", "191-6784", "191-3457", "191-0987", "191-1245", "191-2365"), edta_complete = c("1","0","1","1","1","0")), class = "data.frame", row.names = c (NA, -6L))
df1
df1 <- structure (list(subject_id = c("191-5467", "191-6784", "191-3457", "191-0987", "191-1245", "191-2365"), edta_complete = c("1","1","1","1","1","1")), class = "data.frame", row.names = c (NA, -6L))
1. 统计完整条目数量
# 统计df中edta_complete=1的条目数 df %>% filter(edta_complete == 1) %>% nrow() # 输出:[1] 4 # 统计df1中edta_complete=1的条目数 df1 %>% filter(edta_complete == 1) %>% nrow() # 输出:[1] 6
2. 找出差异的subject_id
通过合并数据集对比edta_complete列的取值,筛选出df1中标记为完整但df中标记为不完整的subject_id:
# 合并两个数据集,保留subject_id和对应edta_complete值 merged_df <- merge(df, df1, by = "subject_id", suffixes = c("_df", "_df1")) # 筛选差异条目 diff_subjects <- merged_df %>% filter(edta_complete_df == "0" & edta_complete_df1 == "1") %>% pull(subject_id) # 输出结果 diff_subjects # 输出:[1] "191-6784" "191-2365"
内容的提问来源于stack exchange,提问作者Thandi
相关产品推荐
相关产品推荐

