r - 从另一个列表(嵌套列表)的列表元素开始创建一个新列表

标签 r list

在我的数据集中LISTS是列表的列表。假设它由 3 个列表组成,每个列表由 3 个矩阵组成。因此我总共有 9 个矩阵:

A <- list(matrix(rep(1.1,4),ncol=2), 
          matrix(rep(1.2,4),ncol=2), 
          matrix(rep(1.3,4),ncol=2))

B <- list(matrix(rep(2.1,4),ncol=2),
          matrix(rep(2.2,4),ncol=2), 
          matrix(rep(2.3,4),ncol=2))

C <- list(matrix(rep(3.1,4),ncol=2),
          matrix(rep(3.2,4),ncol=2),
          matrix(rep(3.3,4),ncol=2))

LIST <- list(A,B,C)

我需要做的是创建一个由三个列表组成的新列表。第一个由低级矩阵组成A[[1]] , B[[1]] , C[[1]] ;第二个 A[[2]] , B[[2]] , C[[2]] , 最后一个 A[[3]] , B[[3]] , C[[3]] .

起初我尝试用例如 LIST[[1]][[1]] 来隔离单个矩阵等等。这行得通,但后来我没有找到一次选择 3 个矩阵的正确语法。我的意思(语法错误)是通过使用类似 LIST[(1:3)][[1]] 的东西来选择每个列表的第一个矩阵。 ,这显然是错误的……

换句话说,我想知道是否有一种直接的方法来选择嵌套列表的子集(类似于可以对矩阵或数据帧执行的操作)

非常感谢您的帮助!

最佳答案

也许你只是在lapply中寻找[[,但你的问题不是很清楚。

例如,要从每个子列表中获取第三个元素:

lapply(LIST, `[[`, 3)
# [[1]]
#      [,1] [,2]
# [1,]  1.3  1.3
# [2,]  1.3  1.3
# 
# [[2]]
#      [,1] [,2]
# [1,]  2.3  2.3
# [2,]  2.3  2.3
# 
# [[3]]
#      [,1] [,2]
# [1,]  3.3  3.3
# [2,]  3.3  3.3

关于r - 从另一个列表(嵌套列表)的列表元素开始创建一个新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19056534/

相关文章:

r - 如何有选择地将R列拆分为单独的列

R:ape/phylobase:无法将超度量、二叉树转换为 hclust 对象(警告消息)

r - 使用 R 将坐标表转换为形状文件

c# - 我怎样才能快速计算字符串出现在字符串列表的给定部分中的频率?

mysql - Linux 上的 RMySQL(但不是 OSX 或 Windows)提供垃圾数据

r - 如何在不增删列的情况下合并两个表

c - malloc 有时起作用,有时不起作用(通用链表)

python - 如何在一个列表中导出有效的方法

python - 读取文本文件并存储在列表列表中

python - 从另一个列表中减去一个列表不起作用