这一行:
which(!is.na(c(NA,NA,NA))) == 0
生成 logical(0)
尽管这一行
if(which(!is.na(c(NA,NA,NA))) == 0){print('TRUE')}
生成:Error in if (which(!is.na(c(NA, NA, NA))) == 0) { :
argument is of length zero
为什么会出现错误?什么是logical(0)
if
条件不成立。 - joranif(any(!is.na(c(NA,NA,NA))) == 0){print('TRUE')}
。 - patLwhich
替换为sum
,则会得到预期的行为,即if(sum(!is.na(c(NA,NA,NA))) == 0){print('TRUE')}
。 - Sotos