2016-01-21 78 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