2014-04-01 50 views
1

如果矩陣包含NA值,如何獲得全局最大值?我用給定的溶液在試圖如何從包含NA值的矩陣列表中獲取全局最大值?

R: Getting maximum value from all matrices in a list

max(unlist(lapply(mylist,FUN=max)))

但是該輸出表示NA。另外隨着

max(unlist(lapply(na.omit(mylist),FUN=max)))

嘗試,但仍輸出爲NA。

重現:

m1 <- cbind(c(1,NA,3),c(7,2,4)) 
m2 <- cbind(c(-1,19,13),c(21,NA,5),c(3,3,0),c(4,5,6)) 
m3 <- cbind(c(1,2,3,NA,5),c(8,18,4,6,7)) 
mylist <- list(M1=m1,M2=m2,M3=m3) 
+1

'MAX(不公開(lapply(MYLIST ,FUN = max,na.rm = TRUE)))' – rcs

+0

非常感謝:)你能我可以接受嗎? – joarderm

回答

2

lapply聲明中只需添加na.rm=TRUE

max(unlist(lapply(mylist, FUN=max, na.rm=TRUE))) 

或明確的FUN說法:

max(unlist(lapply(mylist, FUN=function(x) max(x, na.rm=TRUE)))) 
相關問題