我对使用R中的短形式和长形式的逻辑运算符感到有些困惑。
如果我有以下值
A <- FALSE
B <- TRUE
X <- 3
Y <- 2
我想评估NOT(A) OR NOT(B) AND X&lt; ÿ
我希望FALSE
给出参数
这是我在R
中对此进行评估的表达式,因此它会像我预期的那样返回FALSE
:
!A & X < Y || !B & X < Y
我可以消除重复的X < Y
比较吗?
答案 0 :(得分:5)
你的意思是:
> (!A || !B) && X < Y
[1] FALSE
答案 1 :(得分:3)
简短形式为您提供矢量 long form为您提供单一值。 比较:
x <- c(TRUE, TRUE, FALSE)
y <- c(TRUE, FALSE, FALSE)
X && Y
X & y
x || y
x | y
答案 2 :(得分:1)
另一种可能性:
!(A * B) && X < Y