R If ... Else


条件とIfステートメント

Rは、数学の通常の論理条件をサポートします。

Operator Name Example Try it
== Equal x == y
!= Not equal x != y
> Greater than x > y
< Less than x < y
>= Greater than or equal to x >= y
<= Less than or equal to x <= y

これらの条件は、いくつかの方法で使用できます。最も一般的なのは、「ifステートメント」とループです。

「ifステートメント」はifキーワードを使用して記述され、条件がTRUE次の場合に実行されるコードのブロックを指定するために使用されます。

a <- 33
b <- 200

if (b > a) {
  print("b is greater than a")
}

この例では、2つの変数abを使用します。これらは、ifステートメントの一部として使用され、bがaより大きいかどうかをテストします。a33で、b200であるため、200は33より大きいことがわかっているので、「bはaより大きい」と画面に出力します。

Rは、中括弧{}を使用してコード内のスコープを定義します。


それ以外の場合

キーワードは、else if「前の条件が当てはまらなかった場合は、この条件を試してください」というRの言い方です。

a <- 33
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print ("a and b are equal")
}

この例aでははに等しいbので、最初の条件は真ではありませんが、else if条件は真なので、「aとbが等しい」と画面に出力します。

else ifRでは必要な数のステートメントを使用できます。


それ以外の場合

キーワードはelse、前述の条件でキャッチされないものをすべてキャッチします。

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print("a and b are equal")
} else {
  print("a is greater than b")
}

この例では、aがbより大きいため、最初の条件は真ではなく、else if条件も真ではないため、else条件に移動して、「aはbより大きい」という画面に出力します。

elseなし でも使用できますelse if

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else {
  print("b is not greater than a")
}


ネストされたIfステートメント

ifステートメント内に ステートメントを含めることもできます。ifこれはネストされた ifステートメントと呼ばれます。

x <- 41

if (x > 10) {
  print("Above ten")
  if (x > 20) {
    print("and also above 20!")
  } else {
    print("but not above 20.")
  }
} else {
  print("below 10.")
}

記号(および)は論理演算子であり、条件ステートメントを組み合わせるために使用されます

aがbより大きいかどうか、およびcがaより大きいかどうかをテストします。

a <- 200
b <- 33
c <- 500

if (a > b & c > a){
  print("Both conditions are true")
}

また

|記号(または)は論理演算子であり、条件ステートメントを組み合わせるために使用されます

aがbより大きいかどうか、またはcがaより大きいかどうかをテストします。

a <- 200
b <- 33
c <- 500

if (a > b | a > c){
  print("At least one of the conditions is true")
}