R语言计算比较列表与主列表重叠比例并生成结果数据框
R语言计算多比较列表与主列表重叠元素占比
以下是可直接运行的实现代码:
# 定义主列表 main.list <- c("dog", "cat", "bird", "snake") # 将所有待比较的列表存入命名列表,方便批量计算 comparator_all <- list( comparator.list1 = c("dog", "cat", "bird", "crescent"), comparator.list2 = c("dog", "lizard", "cup", "plate"), comparator.list3 = c("lizard", "bird", "squirrel", "snake") ) # 批量计算重叠占比:交集元素个数 / 主列表长度 overlap_res <- sapply(comparator_all, function(comp_list) { length(intersect(comp_list, main.list)) / length(main.list) }) # 整理为要求的输出格式 output_df <- data.frame( List = names(overlap_res), Number.ofshared.elemts = overlap_res, row.names = NULL ) # 打印结果 print(output_df)
运行后输出结果与需求示例完全一致:
List Number.ofshared.elemts 1 comparator.list1 0.75 2 comparator.list2 0.25 3 comparator.list3 0.50
如果后续需要新增比较列表,仅需在comparator_all命名列表中追加对应命名元素即可,无需修改后续计算逻辑。
内容的提问来源于stack exchange,提问作者Workhorse
相关产品推荐
相关产品推荐

