R 从列表中的列表聚合数据

R 从列表中的列表聚合数据,r,R,下面我将举一个可复制的例子。现在,当我在许多不同的来源(比如说50件事情)上进行一系列回归类型的工作时,我将每个资源汇总到一个列表中,然后将这些列表组合在一起以便于存储。每个列表的结构都是相同的,它只保存不同的数据。聚合特定部分的最佳方法是什么?在本例中,将嵌入到不同列表中的ds1、ds2、ds3和ds4组合起来的最快方法是什么 set.seed(50) df1 <- data.frame(x=runif(10),y=runif(10)) set.seed(50) df2 <- da

下面我将举一个可复制的例子。现在,当我在许多不同的来源(比如说50件事情)上进行一系列回归类型的工作时,我将每个资源汇总到一个列表中,然后将这些列表组合在一起以便于存储。每个列表的结构都是相同的,它只保存不同的数据。聚合特定部分的最佳方法是什么?在本例中,将嵌入到不同列表中的ds1、ds2、ds3和ds4组合起来的最快方法是什么

set.seed(50)
df1 <- data.frame(x=runif(10),y=runif(10))
set.seed(50)
df2 <- data.frame(x=runif(10),y=runif(10))
set.seed(50)
df3 <- data.frame(x=runif(10),y=runif(10))
set.seed(50)
df4 <- data.frame(x=runif(10),y=runif(10))


rs1 <- rep(0.05,5)
rs2 <- rep(0.03,5)
rs3 <- rep(0.06,5)
rs4 <- rep(0.09,5)

ds1 <- rep(0.04,5)
ds2 <- rep(0.04,5)
ds3 <- rep(0.04,5)
ds4 <- rep(0.04,5)

rsdsList1 <- list(rs1,ds1)
rsdsList2 <- list(rs2,ds2)
rsdsList3 <- list(rs3,ds3)
rsdsList4 <- list(rs4,ds4)


mg1 <- list(df1,rsdsList1)
mg2 <- list(df2,rsdsList2)
mg3 <- list(df3,rsdsList3)
mg4 <- list(df4,rsdsList4)
set.seed(50)

df1您可以将多个列表的第n个元素收集到一个列表中,其中包括:

lapply(list(mg1, mg2, mg3, mg4), '[[', n)
因此,在您的情况下,
lappy(list(mg1,mg2,mg3,mg4),“[[”,1)
将创建您要查找的列表

您可以对使用
lappy
迭代的列表元素进行命名,以便将这些名称传输到输出列表的元素,例如

lapply(list(mg1=mg1, mg2=mg2, mg3=mg3, mg4=mg4), '[[', 1)
或者将
lappy
包装在
setNames
中:

setNames(lapply(list(mg1, mg2, mg3, mg4), '[[', 1), paste0('mg', 1:4))

“combine”是什么意思?
lappy(list(mg1,mg2,mg3,mg4),“[[”,1)
将创建一个仅包含这些元素的列表,并且
do.call(rbind,lappy(list(mg1,mg2,mg3,mg4),“[”,1))
will
rbind
他们。我想我把它复杂化了。我就是想用这种方式使用lapply,从那里我可以用各种各样的东西来总结数据。如果你把答案贴出来,我很高兴标记你的答案。