如何高效合并sitelist列表并统计唯一siteid_public数量?
高效合并并统计唯一siteid_public数量的方法
方法1:Base R 原生实现
无需额外安装包,适配两种场景:
- 如果
sitelist中的元素是向量:
# 把所有列表元素合并为单个向量 all_siteids <- unlist(sitelist) # 统计唯一值数量 unique_count <- length(unique(all_siteids))
- 如果
sitelist中的元素是仅含siteid_public列的数据框:
# 合并为单个数据框 combined_df <- do.call(rbind, sitelist) # 提取列并统计唯一值 unique_count <- length(unique(combined_df$siteid_public))
方法2:tidyverse 简洁实现
适合习惯tidy语法的用户,代码更直观:
library(tidyverse) # 合并数据集→提取目标列→去重→统计数量 unique_count <- sitelist %>% bind_rows() %>% pull(siteid_public) %>% unique() %>% length()
如果sitelist里的元素是向量,也可以直接扁平化后处理:
# 针对向量型列表:扁平化→去重→统计 unique_count <- sitelist %>% flatten_chr() # 数值型ID替换为flatten_dbl() unique() %>% length()
这些方法都避免了重复代码的冗余,处理大体积数据时效率更高,完全替代你之前的重复提取合并流程。
内容的提问来源于stack exchange,提问作者Rstudyer
相关产品推荐
相关产品推荐

