【发布时间】:2021-11-25 12:56:30
【问题描述】:
我有两个矩阵列表,每个列表由十个 5x5 矩阵组成:
List 1:
[[1]]
A B C D E
[1,] 1.0000000 2.0000000 1.0000000 2.0000000 1.0000000
[2,] 1.0000000 2.0000000 1.0000000 2.0000000 1.0000000
[3,] 1.0000000 2.0000000 1.0000000 2.0000000 1.0000000
[4,] 1.0000000 2.0000000 1.0000000 2.0000000 1.0000000
[5,] 1.0000000 2.0000000 1.0000000 2.0000000 1.0000000
.....
[[10]]
A B C D E
[1,] 7.0000000 3.0000000 5.0000000 2.0000000 1.0000000
[2,] 7.0000000 3.0000000 5.0000000 2.0000000 1.0000000
[3,] 7.0000000 3.0000000 5.0000000 2.0000000 1.0000000
[4,] 7.0000000 3.0000000 5.0000000 2.0000000 1.0000000
[5,] 7.0000000 3.0000000 5.0000000 2.0000000 1.0000000
List 2:
[[1]]
A B C D E
[1,] 2.0000000 2.0000000 2.0000000 2.0000000 2.0000000
[2,] 2.0000000 2.0000000 2.0000000 2.0000000 2.0000000
[3,] 2.0000000 2.0000000 2.0000000 2.0000000 2.0000000
[4,] 2.0000000 2.0000000 2.0000000 2.0000000 2.0000000
[5,] 2.0000000 2.0000000 2.0000000 2.0000000 2.0000000
.....
[[10]]
A B C D E
[1,] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[2,] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[3,] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[4,] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[5,] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
我使用 lapply(见下文)对这两个列表求和,得到了我想要的求和结果。但是,它们不再在我的新列表中的矩阵中。如何将它们转换回来,以便将它们作为矩阵导出到 CSV?
使用的应用代码:
lapply(seq_along(List1),function(i)
unlist(List1[i])+unlist(List2[i]))
Result:
[[1]]
A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4 E1 E2 E3 E4
3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3
...
[[10]]
A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4 E1 E2 E3 E4
8 8 8 8 4 4 4 4 6 6 6 6 3 3 3 3 2 2 2 2
【问题讨论】: