use*_*366 4 r logical-operators
我正在努力学习R并理解&符号是如何工作的.我理解它的意思是'和'.
当我尝试时,3 < (5 & 4)我得到了FALSE?我在期待TRUE.我用&错了方法吗?
在R中TRUE计算出1算术表达式中的数字,因此:
3 < (5 & 4)
3 < TRUE
3 < 1
Run Code Online (Sandbox Code Playgroud)
是的 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
Run Code Online (Sandbox Code Playgroud)
我认为你的陈述意味着我们如何用英语说"3还不到5和4?".但这不是什么3 < (5 & 4)意思.正如在其他答案中所解释的那样,R试图弄清楚(5和4)首先意味着什么,然后试图找出3对于小于的意义TRUE.我想你想要的是:
(3 < 4) & (3 < 5)
Run Code Online (Sandbox Code Playgroud)
另一种说法是:
all(3 < c(4,5))
Run Code Online (Sandbox Code Playgroud)