使用&amp;在R中(例如3 <(5&amp; 9))

时间:2015-07-16 04:29:28

标签: r logical-operators

我正在尝试学习R并理解&符号的工作原理。我理解为'和'。

当我尝试3 < (5 & 4)时,我得到了FALSE?我期待TRUE。我是否以错误的方式使用&

3 个答案:

答案 0 :(得分:6)

在R TRUE中计算出算术表达式中的数字1,因此:

3 < (5 & 4)
3 < TRUE
3 < 1

FALSE

您可以说服自己R使用以下代码段将TRUE视为1

> x <- c(-3:3)
> x
[1] -3 -2 -1  0  1  2  3
> x == TRUE
[1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE

答案 1 :(得分:5)

我认为你的陈述意味着我们如何用英语说“3还不到5和4?”。但这不是3 < (5 & 4)的含义。正如在其他答案中所解释的那样,R试图找出(5&amp; 4)首先意味着什么,然后试图弄清楚3对于TRUE的意义。我想你想要的是:

(3 < 4) & (3 < 5)

另一种说法是:

all(3 < c(4,5))

答案 2 :(得分:3)

尝试使用:

3 < c(4,5)

这样它将测试4和5。

我得到的答案是:

TRUE TRUE