R,缺少需要TRUE / FALSE的值

时间:2015-12-06 03:19:24

标签: r if-statement

我试图检查两个变量是否具有相同的符号,这就是我正在使用的代码。

a <- c(0)
x1 <- x/abs(x)
y1 <- y/abs(y)
if(x1==y1) {
  a <- x + y
  } else {
  a <- x - y
}

但是我收到了错误

Error in if (x1 == y1) { : missing value where TRUE/FALSE needed

我做错了什么?有没有更有效的方法来检查标志?

1 个答案:

答案 0 :(得分:1)

将您的操作组合在一起并使用sign功能,您可以尝试:

a <- ifelse(sign(x) == sign(y), x + y, x - y)

NB。 sign(0)返回0