【发布时间】:2018-01-03 14:52:16
【问题描述】:
我有 1800 个矩阵的列表,尺寸为 7 x 7。我正在尝试获取前 2 行和前 2 列的元素,并将其转换为 2 x 2 矩阵列表,然后再对它们进行 Map 乘法最终替换原始 7 x 7 矩阵列表中的值。
我的代码是:
PreMultiply_matrixList <- list()
PreMultiply_matrixList <- sapply(Probability_matrixList, "[", c(1:2),c(1:2))
Probability_matrixList 是 7 x 7 矩阵的列表。
但是,PreMultiply_matrixList 似乎只是复制了每个矩阵的第一个元素,而不是 2x2 矩阵。
我也尝试过来自不同帖子的类似代码,例如:
PreMultiply_matrixList <- sapply(Probability_matrixList,"[",1:2,1:2)
你会怎么做?然后将(使用 Map)与另一个列表相乘,然后替换原始 Probability_matrixList 上的值?
提前致谢。
【问题讨论】:
-
欢迎来到 StackOverflow。请查看有关如何生成minimum, complete, and verifiable example 的这些提示,以及creating a great example in R 上的这篇文章。
-
你的代码没问题(顺便说一下
c(1:2)和1:2是一样的)但我认为你不想要sapply(它简化了矩阵或数组中的列表) , 请改用lapply。
标签: r list matrix replace subset