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つの変数aとbを使用します。これらは、ifステートメントの一部として使用され、bがaより大きいかどうかをテストします。aが33で、bが200であるため、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 if
Rでは必要な数のステートメントを使用できます。
それ以外の場合
キーワードは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")
}