4

我对在 R 中使用短形式和长形式的逻辑运算符感到有些困惑。

如果我有以下值

A <- FALSE
B <- TRUE
X <- 3
Y <- 2

我想评估 NOT(A) OR NOT(B) AND X < Y

我希望FALSE给定参数

这是我找到的用于评估它的表达式,R因此它FALSE按我的预期返回:

!A & X < Y || !B & X < Y

我可以消除重复X < Y比较吗?

4

3 回答 3

5

你的意思是:

> (!A || !B) && X < Y
[1] FALSE

?

于 2013-03-14T16:06:31.883 回答
3

简短的形式给你一个向量。
长格式给你一个单一的价值。相比:

   x <- c(TRUE, TRUE, FALSE)
   y <- c(TRUE, FALSE, FALSE)


   X && Y
   X & y

   x || y
   x | y
于 2013-03-14T16:13:59.513 回答
1

另一种可能:

!(A * B) && X < Y
于 2013-03-14T16:17:09.290 回答