2017-10-15 21 views
1

尋找解決R.了以下問題提供了兩個不正確的解決方案,最聰明的和最短的代碼沒有更好的辦法...多層-LIST到陣列變換的R和比使用循環

#Generating a multi-layered list 
m  <- matrix(1:50, ncol = 5, byrow = TRUE) 
mList <- list(m[1:5,], m[6:10,]) 
mList 

#Transforming list to array: Option one 
mArrayOne <- array(c(mList[[1]], mList[[2]]), dim = c(5,5,2)) 
mArrayOne 

#Transforming list to array: Option two 
mArrayTwo <- array(numeric(), dim = c(dim(mList[[1]]), length(mList))) 
for(i in 1:length(mList)){mArrayTwo[,,i] <- mList[[i]]} 
mArrayTwo 

任何暗示是值得歡迎的 - 感謝...

+0

你可以用'unlist'即'陣列(不公開(mList),dim = c(5,5,2))' – akrun

+0

Woop woop; - )...這就是我正在尋找的......非常感謝@akrun ...... – Robert

回答

0

我們可以只unlistlist並創建array

array(unlist(mList), dim = c(5,5,2))