5

ベクトルが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

2 つのブール値ベクトルにブール演算を適用して、結果のベクトルを得るにはどうすればよいですか?

4

1 に答える 1

24

を使用し、使用&しないでください&&&R は、 がビット単位andではなく論理演算子であるという点で、他の言語とは異なります。

&&各ベクトルの最初の要素のみを評価します。

「&」および「&&」は論理積および「|」を示します。および「||」論理和を示します。短い形式は、算術演算子とほぼ同じ方法で要素ごとの比較を実行します。長い形式では、左から右に評価され、各ベクトルの最初の要素のみが調べられます。評価は、結果が決定されるまでのみ続行されます。長い形式は制御フローのプログラミングに適しており、通常は「if」句で好まれます。

詳細については、を参照?"&&"してください。

于 2012-11-09T09:57:35.810 に答える