2013-03-14 74 views
4

我得到一個比特通過使用邏輯運算符的短和長形式中R.邏輯運算符 - 短(關係)與長(矢量)形成

混淆

如果我有下列值

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

我想評價NOT(A)OR NOT(B) X <Ÿ

我希望FALSE給出的參數

這是表達我已經找到了R評價這一所以它返回FALSE如我所料:

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

我可以消除重複X < Y比較呢?

+4

...你真的應該使用更多的圓括號使你正在試圖做清楚什麼。 – Dason 2013-03-14 16:08:27

+0

@Dason是的,我現在知道NPE的感謝。適當地懲罰! – 2013-03-14 16:11:50

回答

5

你的意思是:

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

+0

啊哈。確切地說,謝謝。括號。該死,我應該知道更好!我會盡快接受時鐘。謝謝。 – 2013-03-14 16:08:04

2

簡短的形式給你一個向量。
長表單給你一個單一的值。 比較:

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


    X && Y 
    X & y 

    x || y 
    x | y 
+0

+1非常好的短和長表單工作方式的例子,謝謝。 – 2013-03-14 16:18:11

1

另一種可能性:

!(A * B) && X < Y 
+0

+1在@NPE上保存附加角色! :-) – 2013-03-14 16:18:47