S******y 发帖数: 1123 | 1 what is the difference between "&" vs "&&" in R?
Thanks. | D*******a 发帖数: 207 | 2 &是piece wise, 向量化的; && 只给是一个结果。下面的code一跑就知道了。
a=c(TRUE,FALSE)
b=c(TRUE,TRUE)
a & b
a && b | a********s 发帖数: 188 | 3 "& and && indicate logical AND and | and || indicate logical OR. The shorter
form performs elementwise comparisons in much the same way as arithmetic
operators. The longer form evaluates left to right examining only the first
element of each vector. Evaluation proceeds only until the result is
determined. The longer form is appropriate for programming control-flow and
typically preferred in if clauses." | s*****n 发帖数: 2174 | 4 我补充一点, 用于条件判断的时候, 永远应该用 && 和 || .
条件判断的时候, 需要的总是一个明确的TRUE or FALSE, 从不需要向量.
比如下面这样的code, 在我们公司里面, 就属于不合格的code,
哪怕a和b都是scalar. 如果有人面试中写出这样的code, 基本就
可以认定此人没有经过很好的R的训练.
if (a > 0 & b < 0){
## do something here
}
如果条件是基于一个向量里面所有元素的什么关系, 则用any() 和 all()
比如下面这样的code是允许的.
if (all(vec.a > 0 & vec.b <= 0)){
## do something here
} | S******y 发帖数: 1123 | 5 Thank everybody for helping! |
|