R でネストされた if else ステートメントを作成する方法 (例付き)


基本 R のifelse()関数を使用すると、簡単な if-else ステートメントを作成できます。この関数は次の構文を使用します。

ifelse(テスト、はい、いいえ)

金:

  • テスト:論理的なテスト
  • yes:ロジックテストが True の場合に返される値
  • no:論理テストが False の場合に返される値

このチュートリアルでは、次のデータ フレームを使用して、この関数を使用して R で if else ステートメントとネストされた if else ステートメントを記述する方法について説明します。

 #create data frame
df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'),
                 points = c(4, 7, 8, 8, 8, 9, 12),
                 rebounds = c(3, 3, 4, 4, 6, 7, 7))

#view data frame
df

  team points rebounds
1 to 4 3
2 to 7 3
3 B 8 4
4 B 8 4
5 B 8 6
6 C 9 7
7 D 12 7

例 1: 基本的な If Else ステートメントの書き方

次のコードは、「チーム」列の値に基づく値を持つ新しい列をデータ フレームに作成する方法を示しています。

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ')

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 bad
4 B 8 4 bad
5 B 8 6 bad
6 C 9 7 bad
7 D 12 7 bad

この単純な ifelse ステートメントは、R に次のことを行うように指示します。

  • チーム欄の値が「A」の場合、そのプレイヤーに「優秀」の評価を与えます。
  • そうでなければ、プレイヤーを「かわいそう」に逃してしまいます。

例 2: ネストされた If Else ステートメントの書き方

次のコードは、ネストされた if else ステートメントを記述して、データ フレームに新しい列を作成する方法を示しています。

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ', ' bad '))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 bad
7 D 12 7 bad

このネストされた ifelse ステートメントは、R に次のことを行うように指示します。

  • チーム欄の値が「A」の場合、そのプレイヤーに「優秀」の評価を与えます。
  • それ以外の場合、チーム列の値が「B」の場合、プレーヤーに「OK」の評価を与えます。
  • そうでなければ、プレイヤーを「かわいそう」に逃してしまいます。

例 3: より長いネストされた If Else ステートメントを記述する方法

次のコードは、さらに長いネストされた if else ステートメントを記述して、データ フレームに新しい列を作成する方法を示しています。

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ',
                 ifelse (df$team == ' C ', ' decent ', ' bad ')))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 decent
7 D 12 7 bad

このネストされた ifelse ステートメントは、R に次のことを行うように指示します。

  • チーム欄の値が「A」の場合、そのプレイヤーに「優秀」の評価を与えます。
  • それ以外の場合、チーム列の値が「B」の場合、プレーヤーに「OK」の評価を与えます。
  • それ以外の場合、チーム列の値が「C」の場合、プレーヤーに「まとも」の評価を与えます。
  • そうでなければ、プレイヤーを「かわいそう」に逃してしまいます。

この正確なパターンを使用して、ネストされた ifelse ステートメントを必要なだけ記述できることに注意してください。

その他の R チュートリアルはここで見つけることができます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です