繁体   English   中英

如何比较R中的布尔向量

[英]How to compare boolean vectors in R

我有一个向量v ,我想找到所有那些值在4到7之间的元素.v = c(1:9)

# indices of elements with values larger than 4
which(v > 4)
# indices of elements with values smaller than 7
which(v < 7)

v>4v<7给出布尔向量,我想将它们结合起来。 我试过以下,这对我不起作用,......

# combination?
matching = which(v>4 && v<7)  # does not work

如何在两个布尔向量上应用布尔运算,这给了我一个结果向量?

使用&而不是&& R是从其它语言中的不同在于, &不是按位and ,而是一个逻辑运算符。

&&仅评估每个向量的第一个元素:

'&'和'&&'表示逻辑AND和'|' 和'||' 表示逻辑OR。 较短的形式以与算术运算符大致相同的方式执行元素比较。 较长的形式从左到右评估仅检查每个向量的第一个元素。 评估仅在确定结果之前进行。 较长的形式适用于编程控制流程,通常在“if”子句中是首选。

有关详细信息,请参阅?"&&"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM