首页 > 解决方案 > 如何在列表中使用 purrr::map() 和 inner_join

问题描述

我得到了一个包含 26 个元素的列表。我需要使用map()inner_join()获取元素之间的重复行值。我想通过pair和inner_join随机两个元素来比较元素。拆分是列表。

这是一个例子。我将 mtcars 拆分为一个包含 3 个元素的列表。我想使用 map() 和 inner_join 成对比较它们。我想找到一种更有效的方法来在元素之间进行 inner_join。

mtcars
unique(mtcars$gear)
mtcars %>% 
    group_by(gear) %>% 
    group_split()->split_gear

inner_join(split_gear[[1]],split_gear[[2]])
inner_join(split_gear[[1]],split_gear[[3]])
inner_join(split_gear[[2]],split_gear[[3]])

name<-list()
for (a in 1:26){
  a_for<-split %>% 
    map_df(~.[a, 8])
  b_for<-split %>% 
    map_df(~.[a+1, 8])
  name[[a]]<-inner_join(a_for,b_for, by ="name")
}

标签: rtraversal

解决方案


推荐阅读