我有一個二維矩陣列表,我想計算一些統計數據,例如計算平均值。我可以將列表轉換爲數組,並使用應用,如:如何計算2D矩陣列表的平均值?
dat1<-list(a = matrix(seq(1,4),2,2), b= matrix(seq(5,8),2,2), c= matrix(seq(9,12),2,2))
# convert to array
obs <-array(unlist(dat1), dim = c(2, 2, 3))
meanObs <- apply(obs, c(1,2), mean, na.rm = TRUE)
反正有沒有列表轉換爲數組執行此!?直接從列表中計算平均值。 非常感謝!
爲什麼你想避免陣列?列表可以包含混合類型的對象,因此通常函數通常不會將列表的元素組合在一起進行分析。例如,您可以在列表中添加不同維度的數組,這會讓事情變得醜陋。通常你需要告訴R如何正確組合數據。 – MrFlick
我只是想避免通過轉換到數組,以減少編碼。但如果沒有別的辦法,那麼我會去爭取。 – newbie
@ jilber在重複問題上的答案,'apply(simplify2array(mylist),c(1,2),mean)'可能是你想要的(並且會推廣到任何彙總統計) –