2014-04-01 56 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)))) 
相关问题