R言語の論理演算と比較演算をまとめました。
この記事では論理和や論理積などの論理演算と、等号や不等号などの比較演算に用いる演算子を紹介します。
この記事で扱うプログラミングコードは以下からダウンロードできます。
R言語 論理演算子・比較演算子
算術演算や代入演算については以下の記事を参照してください。
【R言語】Rの算術演算子 四則演算 スカラー・ベクトル・行列の演算
R言語の四則演算をまとめました。 この記事ではスカラー、ベクトル、行列の計算に用いる演算子を解説しています。 和差積商だけでなく、内積や外積などのベクトルや行列の演算子も紹介しています。 この記事で扱 ...
続きを見る
論理演算子・比較演算子
論理演算に関連する論理演算子と比較演算子演算を紹介します。
R言語では、様々なオブジェクトに対して論理演算と比較演算ができ、ベクトルに対しても演算を適用することができます。
演算結果は各ベクトルの要素についてのものになります。
論理演算子
論理演算子は以下の通りです。
論理積、論理和、論理否定が用意されています。
& | 論理積 |
&& | 論理積 |
| | 論理和 |
|| | 論理和 |
! | 論理否定 |
比較演算子
比較演算子は2つのオブジェクトを比較する際に用いる演算子です。
オブジェクトが等しいか、等しくないかなどの比較を行うことができます。
以下のように他のプログラミング言語と同様の比較演算子が用意されています。
== | 等しい |
!= | 等しくない |
> | より大きい |
< | より小さい |
>= | 以上 |
<= | 以下 |
実行例
R言語の論理演算子と比較演算子の使い方について見ていきます。
論理演算子
最初に論理演算子の例について見ていきます。
Rには論理積、論理和、論理否定の論理演算子が用意されています。
それぞれ&(&&)、|(||)、!に対応しています。&&と||についてはベクトルに対応していないため注意が必要です。
1 2 3 4 5 6 7 8 | a <- TRUE b <- FALSE a & b a && b a | b a || b !a |
それぞれの演算の結果は以下の通りです。
1 2 3 4 5 6 7 8 9 10 | > a & b [1] FALSE > a && b [1] FALSE > a | b [1] TRUE > a || b [1] TRUE > !a [1] FALSE |
また、ベクトルに対しても論理演算を行うことができます。
ベクトルの各要素についての論理演算を行うことが可能です。
1 2 3 4 5 6 | a <- c(TRUE, TRUE, TRUE, TRUE, FALSE) b <- c(TRUE, FALSE, FALSE, TRUE, FALSE) a & b a | b !a |
各論理演算の結果は以下の通りです。
1 2 3 4 5 6 | > a & b [1] TRUE FALSE FALSE TRUE FALSE > a | b [1] TRUE TRUE TRUE TRUE FALSE > !a [1] FALSE FALSE FALSE FALSE TRUE |
比較演算子
次に比較演算子の使用例について紹介します。
等号や不等号の比較演算子が用意されており、演算子は通常のプログラミング言語と同じものを用います。
1 2 3 4 5 6 7 8 9 | x <- 2 y <- 1 x == y #等しい x != y #等しくない x > y #より大きい x < y #より小さい x >= y #以上 x <= y #以下 |
上記の比較演算の結果はそれぞれ以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 | > x == y #等しい [1] FALSE > x != y #等しくない [1] TRUE > x > y #より大きい [1] TRUE > x < y #より小さい [1] FALSE > x >= y #以上 [1] TRUE > x <= y #以下 [1] FALSE |
また、次のようにベクトルについても比較演算を行うことができ、各要素を比較することができます。
1 2 3 4 5 6 7 8 9 | x <- seq_len(5) y <- rep(3, 5) x == y x != y x > y x < y x >= y x <= y |
演算結果は以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 | > x == y [1] FALSE FALSE TRUE FALSE FALSE > x != y [1] TRUE TRUE FALSE TRUE TRUE > x > y [1] FALSE FALSE FALSE TRUE TRUE > x < y [1] TRUE TRUE FALSE FALSE FALSE > x >= y [1] FALSE FALSE TRUE TRUE TRUE > x <= y [1] TRUE TRUE TRUE FALSE FALSE |
まとめ
R言語の論理演算子と比較演算子とその例を紹介しました。
Rでは論理演算子と比較演算子がベクトルにも対応しており、ベクトルの各要素について論理演算を行ったり比較したりすることができます。