&& 布尔运算符似乎与字符向量的工作方式不同,我想知道是否有人知道原因。
例如:
streetA <- c("green", "green", "red")
streetB <- c("green", "green", "green")
Run Code Online (Sandbox Code Playgroud)
streetA == "green" && streetB == "green"
返回 TRUE,但该语句应返回 FALSE,因为 streetA 中包含“红色”。
& 语句按预期工作:
streetA == "green" & streetB == "green"
返回: TRUE TRUE FALSE
有人知道为什么吗?
从&&
文档中:
& 和 && 表示逻辑与,| 和|| 表示逻辑或。较短的形式以与算术运算符大致相同的方式执行元素比较。较长的形式从左到右计算,仅检查每个向量的第一个元素。评估仅进行到结果确定为止。较长的形式适用于控制流编程,并且通常在 if 子句中首选。
归档时间: |
|
查看次数: |
262 次 |
最近记录: |