こんにちは、ミントです
前回は、Rで論理値と、大小関係の表現を学びました
今回は、Rで複数の論理値を合わせて使う方法をやってみます
前回と同じ例では、
もし天気が晴れなら、買い物に行く
を使っていました
つぎはこんな例を考えてみましょう
天気が晴れていて、セールをやっていたら、買い物にいく
これを整理すると、条件が2つあることがわかります
- 天気が晴れたら
- セールをやっていたら
この2つを論理式で表現すると以下のようになります
- もし(天気)==(晴れ)が真なら
- もし(セール)==(やってる)が真なら
今回のポイントは、この2つの条件の扱い方なんです
2つの条件があるときには、以下の3つのパターンがあります
- どちらとも満たす
- どっちかだけ満たす
- どっちも満たさない
今回は、Rでこれらを表現する方法をやってみます
本記事の概要
Rで 「どちらとも満たす」 を表現してみる
条件1 と 条件2 の 「どちらも満たす」 というのは、
(条件1が真) かつ (条件2が真)
という状態になります
天気が晴れて、セールがやってる、という状態ですね
これを、「論理積(ろんりせき)」 といいます
Rでは、「 && 」をつかって表現します
- 条件1: 1 < 2 (これは真)
- 条件2: 3 < 4 (これは真)
このとき、 (条件1) && (条件2) の論理値は、
条件1と条件2がどちらも真なので、
「 真 」となります
- 条件1: 1 == 2 (これは偽)
- 条件2: 3 < 4 (これは真)
このとき、 (条件1) && (条件2) の論理値は、
条件1が偽、条件2が真なので、(どちらも真でないので)
「 偽 」となります
条件1 と 条件2 の順番は、全体の論理値とは関係ないことがわかりました
少し細かいことになりますが、条件1が偽だと、全体はすぐに偽と評価され、条件2は評価されずに無視されます。複雑な論理式を使うさいには、このへんも注意するとミスが減りますよ
Rで、「 どちらか満たす 」 を表現してみる
条件1 と 条件2 の 「どちらか満たす」 というのは、
(条件1が真) または (条件2が真)
という状態になります
天気が晴れているか、セールがやってるか、どっちかが真という状態です
これを、「論理和(ろんりわ)」 といいます
Rでは、「 || 」をつかって表現します
「 | 」 は、パイプと読みます
キーボードの場所は、Enterキーの上に、BackSpace があります
パイプは、BackSpace の左となりにあります
シフトキーを押しながらこのボタンを押してくださいね
- 条件1: 1 < 2 (これは真)
- 条件2: 3 < 4 (これは真)
このとき、 (条件1) || (条件2) の論理値は、
条件1 と 条件2 がどちらも真で(どちらか真を満たしているので)
「 真 」となります
次の例をみてみましょう
- 条件1: 1 == 2 (これは偽)
- 条件2: 3 < 4 (これは真)
このとき、 (条件1) || (条件2) の論理値は、
条件1が偽、条件2が真なので、(片方が真になっているので)
「 真 」となります
条件1 と 条件2 の順番は関係ないこともわかりました
もうひとつ見てみましょう
- 条件1: 1 == 2 (これは偽)
- 条件2: 3 == 4 (これは偽)
このとき、 (条件1) || (条件2) の論理値は、
条件1が偽、条件2が偽なので、
「 偽 」となります
というわけで、今回はRで「 論理積 」 と 「 論理和 」 をやりました
論理値の計算を、Rでやってみました↓
こちら無料で読めます↓