[英]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>4
和v<7
給出布爾向量,我想將它們結合起來。 我試過以下,這對我不起作用,......
# combination?
matching = which(v>4 && v<7) # does not work
如何在兩個布爾向量上應用布爾運算,這給了我一個結果向量?
使用&
而不是&&
。 R是從其它語言中的不同在於, &
不是按位and
,而是一個邏輯運算符。
&&
僅評估每個向量的第一個元素:
'&'和'&&'表示邏輯AND和'|' 和'||' 表示邏輯OR。 較短的形式以與算術運算符大致相同的方式執行元素比較。 較長的形式從左到右評估僅檢查每個向量的第一個元素。 評估僅在確定結果之前進行。 較長的形式適用於編程控制流程,通常在“if”子句中是首選。
有關詳細信息,請參閱?"&&"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.