Menu
Coddy logo textTech

論理演算子 (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  # TRUE

OR演算子は、両方の条件が偽(false)の場合にのみ偽(false)を返します。以下にクイックリファレンスを示します:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

これらの演算子を組み合わせて使用することで、単一の式の中で複数の条件を組み合わせ、プログラムのための強力な論理チェックを構築することができます。

challenge icon

チャレンジ

簡単

AND (&&) および OR (||) 演算子を使用して、さまざまなアクティビティへの参加資格を判定してください。

以下の変数が提供されています:

age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

論理演算子を使用して、以下の変数を作成してください:

  1. 年齢が18歳以上 かつ (AND) メンバーである場合に TRUE を格納する、can_enter_club という名前の変数を作成します。
  2. 年齢が18歳以上 または (OR) 許可を得ている場合に TRUE を格納する、can_watch_movie という名前の変数を作成します。
  3. チケットを持っており かつ (AND) メンバーである場合に TRUE を格納する、can_attend_event という名前の変数を作成します。
  4. メンバーである または (OR) 18歳未満(年齢が18より小さい)である場合に TRUE を格納する、gets_discount という名前の変数を作成します。
  5. 年齢が18歳以上 かつ (AND) メンバーであり かつ (AND) チケットを持っている場合に TRUE を格納する、vip_access という名前の変数を作成します。

print() 関数を使用して、can_enter_clubcan_watch_moviecan_attend_eventgets_discount、および vip_access をこの順番で表示してください。

チートシート

論理演算子を使用すると、Rで複数の条件を組み合わせることができます。

AND 演算子 (&&) は、両方の条件が真である場合にのみ TRUE を返します:

age <- 25
has_license <- TRUE

can_drive <- age >= 18 && has_license  # TRUE

OR 演算子 (||) は、少なくとも1つの条件が真である場合に TRUE を返します:

is_weekend <- TRUE
is_holiday <- FALSE

day_off <- is_weekend || is_holiday  # TRUE

論理演算子の真理値表:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

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)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン