Я пытаюсь объединить матрицы с одинаковыми именами в списках списка. Для простоты я использую список с двумя списками в качестве примера.
A = matrix(c(1,2,3,4),2)
B = matrix(c(1,2,3,4,5,6),2)
list1 = list(A=A,B=B)
A = matrix(c(1,2,2,1,1,1),3)
B = matrix(c(1,2,3,3,2,2,1,1,1),3)
list2 = list(A=A,B=B)
mylist=list(list1,list2)
mylist
[[1]]
[[1]]$A
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[1]]$B
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
[[2]]
[[2]]$A
[,1] [,2]
[1,] 1 1
[2,] 2 1
[3,] 2 1
[[2]]$B
[,1] [,2] [,3]
[1,] 1 3 1
[2,] 2 2 1
[3,] 3 2 1
Я надеюсь объединить все матрицы A по строкам, а также объединить все матрицы B по строкам. Обратите внимание, что на самом деле у меня есть несколько списков, таких как list1 и list2, поэтому я предпочитаю использовать для этого некоторую операцию стиля цикла.
Я попытался просто объединить все списки (например, list1 и list2 в примере) но я все еще не мог объединить отдельные списки.
> do.call(c, mylist)
$A
[,1] [,2]
[1,] 1 3
[2,] 2 4
$B
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
$A
[,1] [,2]
[1,] 1 1
[2,] 2 1
[3,] 2 1
$B
[,1] [,2] [,3]
[1,] 1 3 1
[2,] 2 2 1
[3,] 3 2 1
Спасибо!