循环布尔值:不等于NA

Sta*_*ian 1 arrays loops boolean r

我想计算数组中不是"NA"的值.

我有

array<-c(NA,NA,NA,NA,NA,4,-5.5463)
Run Code Online (Sandbox Code Playgroud)

我认为这会起作用,但它没有:

counter<-0
for(i in 1:length(array)){
if(array[i]!=na){
counter<-counter+1
}
}
Run Code Online (Sandbox Code Playgroud)

如何计算此数组中不是"NA"的值?

A5C*_*2T1 6

使用is.nasum.该!代表"不":

> sum(!is.na(array))
[1] 2
Run Code Online (Sandbox Code Playgroud)

您也可以使用table,如:

> table(is.na(array))

FALSE  TRUE 
    2     5 
Run Code Online (Sandbox Code Playgroud)

或者,正如@Arun在评论中建议的那样:

> length(na.omit(array))
[1] 2
Run Code Online (Sandbox Code Playgroud)

  • 或者,`length(na.omit(array))` (3认同)