我有一个包含列表条目的列表,我需要转置结构。原始结构是矩形的,但子列表中的名称不匹配。
这是一个例子:
ax <- data.frame(a=1,x=2)
ay <- data.frame(a=3,y=4)
bw <- data.frame(b=5,w=6)
bz <- data.frame(b=7,z=8)
before <- list( a=list(x=ax, y=ay), b=list(w=bw, z=bz))
我想要的是:
after <- list(w.x=list(a=ax, b=bw), y.z=list(a=ay, b=bz))
我不关心结果列表的名称(在任何级别)。
显然,这可以明确地完成:
after <- list(x.w=list(a=before$a$x, b=before$b$w), y.z=list(a=before$a$y, b=before$b$z))
但这很丑陋,仅适用于 2x2 结构。这样做的惯用方式是什么?