我在数据帧tmp中有一个元素,可能包含数字,0或NA。如果该元素既不是0也不是NA,我想要发生一些事情。否则,没有任何反应。我想它看起来像这样:
if ( tmp[2, 19] != (0 || NA) ){
do something
}
我收到此错误:if(tmp [2,19] ==(0 || NA)){:缺少值需要TRUE / FALSE时出错。我不知道在R中是否不可能将某些东西与int和字符串进行比较,或者我只是使用OR运算符错误。我在不同情况下尝试了不同的变化,但无法确定问题。请帮忙!
答案 0 :(得分:7)
正如@GSee在评论中所说,您需要使用is.na
:
if(tmp[2, 19] != 0 || is.na(tmp[2, 19])) {
# do stuff
}
您可以通过阅读?"if"
和?NA
来自己发现这一点。