1

我在数据框 tmp 中有一个元素,它可能包含数字、0 或 NA。如果该元素既不是 0 也不是 NA,我希望发生一些事情。否则,什么都不会发生。我想它看起来像这样:

  if ( tmp[2, 19] != (0 || NA) ){  
              do something
              } 

我收到此错误: if (tmp[2, 19] == (0 || NA)) { 中的错误:需要 TRUE/FALSE 的缺失值。我不知道在 R 中是否无法将某些内容与 int 和 string 进行比较,或者我是否只是使用了 OR 运算符错误。我在不同的情况下尝试了不同的变体,但无法确定问题所在。请帮忙!

4

1 回答 1

6

正如@GSee 在评论中所说,您需要使用is.na

if(tmp[2, 19] != 0 || is.na(tmp[2, 19])) {  
  # do stuff
}

?"if"您可以通过阅读和自己发现这一点?NA

于 2012-07-09T19:33:26.243 回答