2016-01-21 45 views
2

假设我有一个列表:列表中有多少个NA或NaN?

set.seed(123) 
n <- 4 
lis <- list(
m1 = matrix(nrow=n,ncol=n,data=sample(c(NA, 1:10), n*n, TRUE)), 
m2 = matrix(nrow=n,ncol=n,data=sample(c(NA, 1:10), n*n, TRUE)) 
) 

我想知道我们有多少NA(NAN)在这个名单?

+0

'NA'比'NaN',你要的这两个概念的共同应对不同? – PereG

+0

@PereG'NaN'被'is.na()'捕获。试试'is.na(sqrt(-1))' – RHertel

+1

你是对的@RHertel,对于信息。 – PereG

回答

6

这可能是简单的:

sum(is.na(unlist(lis))) 
+1

谢谢@Frank纠正括号:-) – RHertel

2
sum(sapply(lis, function(i) sum(is.na(i)))) 
[1] 2