【发布时间】:2013-04-06 02:03:21
【问题描述】:
我想计算数组中不是“NA”的值。
例如我有
array<-c(NA,NA,NA,NA,NA,4,-5.5463)
我认为这会起作用,但它不起作用:
counter<-0
for(i in 1:length(array)){
if(array[i]!=na){
counter<-counter+1
}
}
如何计算这个数组中不是“NA”的值?
【问题讨论】:
我想计算数组中不是“NA”的值。
例如我有
array<-c(NA,NA,NA,NA,NA,4,-5.5463)
我认为这会起作用,但它不起作用:
counter<-0
for(i in 1:length(array)){
if(array[i]!=na){
counter<-counter+1
}
}
如何计算这个数组中不是“NA”的值?
【问题讨论】:
使用is.na 和sum。 ! 代表“不”:
> sum(!is.na(array))
[1] 2
你也可以使用table,如:
> table(is.na(array))
FALSE TRUE
2 5
或者,正如@Arun 在 cmets 中建议的那样:
> length(na.omit(array))
[1] 2
【讨论】:
length(na.omit(array))