我正在进行一些分析,无论什么时候NA发现,我的循环停止,一个接一个.所以我想说,如果我的价值不是NA在循环中继续前进.如果它NA只是忽略它并去下一个.甚至回来NA.我试过这个:
x=c(5,4,6,4,2,1,5,NA)
if (x != NA){
y=x+2}
Error in if (x != NA) { : missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)
x!=NA既不是正确也不是假,而是NA.您可以使用该函数is.na检查某些内容是否为NA:
> x=c(5,4,6,4,2,1,5,NA)
> x!=NA
[1] NA NA NA NA NA NA NA NA
> x==NA
[1] NA NA NA NA NA NA NA NA
> is.na(x)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
> y <- x[which(!is.na(x))]+2
> y
[1] 7 6 8 6 4 3 7
>
Run Code Online (Sandbox Code Playgroud)