論理演算子 (AND, OR)
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 17/78。
比較演算子を使用すると1つの条件をチェックできますが、一度に複数の条件をチェックする必要がある場合はどうすればよいでしょうか?論理演算子を使用すると、条件を組み合わせて、より複雑な式を作成できます。
AND 演算子 (&&) は、両方の条件が真である場合にのみ TRUE を返します:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEいずれかの条件が偽(false)であれば、式全体が偽(false)になります。すべての条件が満たされる必要があると考えてください。
OR演算子 (||) は、少なくとも1つの条件が真であるときにTRUEを返します:
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUEOR演算子は、両方の条件が偽(false)の場合にのみ偽(false)を返します。以下にクイックリファレンスを示します:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
これらの演算子を組み合わせて使用することで、単一の式の中で複数の条件を組み合わせ、プログラムのための強力な論理チェックを構築することができます。
チャレンジ
簡単AND (&&) および OR (||) 演算子を使用して、さまざまなアクティビティへの参加資格を判定してください。
以下の変数が提供されています:
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE論理演算子を使用して、以下の変数を作成してください:
- 年齢が18歳以上 かつ (AND) メンバーである場合に
TRUEを格納する、can_enter_clubという名前の変数を作成します。 - 年齢が18歳以上 または (OR) 許可を得ている場合に
TRUEを格納する、can_watch_movieという名前の変数を作成します。 - チケットを持っており かつ (AND) メンバーである場合に
TRUEを格納する、can_attend_eventという名前の変数を作成します。 - メンバーである または (OR) 18歳未満(年齢が18より小さい)である場合に
TRUEを格納する、gets_discountという名前の変数を作成します。 - 年齢が18歳以上 かつ (AND) メンバーであり かつ (AND) チケットを持っている場合に
TRUEを格納する、vip_accessという名前の変数を作成します。
print() 関数を使用して、can_enter_club、can_watch_movie、can_attend_event、gets_discount、および vip_access をこの順番で表示してください。
チートシート
論理演算子を使用すると、Rで複数の条件を組み合わせることができます。
AND 演算子 (&&) は、両方の条件が真である場合にのみ TRUE を返します:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEOR 演算子 (||) は、少なくとも1つの条件が真である場合に TRUE を返します:
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUE論理演算子の真理値表:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
1つの式で複数の条件を組み合わせて、複雑な論理チェックを作成できます。
自分で試してみよう
# 与えられた変数
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE
# TODO: 以下にコードを記述してください
# 論理演算子 (&&, ||) を使用して、以下の変数を作成してください:
# 1. can_enter_club - age が 18 以上 かつ is_member の場合に TRUE
# 2. can_watch_movie - age が 18 以上 または has_permission の場合に TRUE
# 3. can_attend_event - has_ticket かつ is_member の場合に TRUE
# 4. gets_discount - is_member または age が 18 未満 の場合に TRUE
# 5. vip_access - age が 18 以上 かつ is_member かつ has_ticket の場合に TRUE
# 結果を順番に出力します
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。