2014-11-17 3 views
2

Что было бы быстрым и грязным способом объединить массивы размеров m, m, n, сохраненных в серии списков в один массив из m, m, n измерений?Объединение (m, m, n) массивов списков в массив (m, m, n)

Пример:

Вот три списка с массивами м, т, п размеры:

list1 <- array (1, dim = c(5, 5, 3)) 
list2 <- array (2, dim = c(5, 5, 3)) 
list3 <- array (3, dim = c(5, 5, 3)) 

Комбинированные списки м, т, п размеры:

lists <- list(list1 = list1, list2 = list2, list3 = list3) 

Я хочу выполнить функцию в объекте «lists», который дает мне один массив из m, m, n измерений (например, «хотите .to.get»выход)

want.to.get <- array (rep (1:3, each = 5*5*3), dim = c(5,5,9)) 
+0

Что вы имеете в виду, комбинируя? по каким измерениям? – OganM

+0

@OganM, я просто хотел объединить массивы (одинаковых размеров) над списками списка ... (например, list = list_1 (arrays_1), list_2 (arrays_2), ..., list_n (array_n) в массивы = arrays_1, arrays_2, ..., arrays_n). –

ответ

1

Или вы могли бы unlist и указать dim в array

dim1 <- dim(lists[[1]])*c(1,1,length(lists)) 
ar1 <- array(unlist(lists, use.names=FALSE), dim=dim1) 
all.equal(ar1, want.to.get) 
#[1] TRUE 
Смежные вопросы