首页 > 解决方案 > 在R中按元素拆分和组合大量列表

问题描述

从上一步读取一些 rds 对象,我有很多(超过 500 个)R 列表。每个列表都包含不同类型的对象。一些列表包含数据框、一些其他参数、一些其他模型……为了说明这个概念,我们假设有:

customer_list

customer_list$deutsch
customer_list$nederlands
customer_list$spain
customer_list$france
......

product_list

product_list$deutsch
product_list$nederlands
product_list$spain
product_list$france

我想以这种方式将我的所有列表拆分/组合成一个关于名称的对象:

    deutsch$product
    deutsch$customer


nederlands$customer
nederlands$products
    ....

等等。

列表列表也可能有用:

    huge_list$deutsch
    huge_list$deutsch$customer_list
    huge_list$deutsch$product_list
.......
   

标签: rlist

解决方案


您可以尝试使用Map-

#Example
customer_list <- list(deutsch = head(mtcars), nederlands = head(iris))
product_list <- list(deutsch = head(iris), nederlands = head(mtcars))

result <- Map(function(x, y) list(customer_list = x, product_list = y), 
    customer_list[names(product_list)], product_list)

result你将有result$deutsch$product_list,result$deutsch$customer_listresult$nederlands$product_list, result$nederlands$customer_list


推荐阅读