R_U*_*ser 4 comparison boolean r vector boolean-operations
我有一个向量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)
Run Code Online (Sandbox Code Playgroud)
v>4
并v<7
给出布尔向量,我想结合起来.我试过以下,这对我不起作用,......
# combination?
matching = which(v>4 && v<7) # does not work
Run Code Online (Sandbox Code Playgroud)
如何在两个布尔向量上应用布尔运算,这给了我一个结果向量?
Jan*_*ary 21
使用&
与否&&
.R与其他语言的不同之处在于&
它不是按位and
,而是逻辑运算符.
&&
仅计算每个向量的第一个元素:
'&'和'&&'表示逻辑AND和'|' 和'||' 表示逻辑OR.较短的形式以与算术运算符大致相同的方式执行元素比较.较长的形式从左到右评估仅检查每个向量的第一个元素.评估仅在确定结果之前进行.较长的形式适用于编程控制流程,通常在"if"子句中是首选.
有关?"&&"
详细信息,请参阅