Cara menulis pernyataan if else bersarang di r (dengan contoh)


Fungsi ifelse() di basis R dapat digunakan untuk menulis pernyataan if-else dengan cepat. Fungsi ini menggunakan sintaks berikut:

ifelse(tes, ya, tidak)

Emas:

  • tes: tes logis
  • yes: Nilai yang akan dikembalikan jika tes logikanya Benar
  • no: Nilai yang akan dikembalikan jika tes logikanya False

Tutorial ini menjelaskan cara menggunakan fungsi ini untuk menulis pernyataan if else serta pernyataan if else bersarang di R, menggunakan bingkai data berikut:

 #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

Contoh 1: Cara Menulis Pernyataan Dasar If Else

Kode berikut menunjukkan cara membuat kolom baru di bingkai data yang nilainya didasarkan pada nilai kolom “tim”:

 #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

Pernyataan ifelse sederhana ini memberitahu R untuk melakukan hal berikut:

  • Jika nilai pada kolom tim adalah “A”, berikan penilaian “sangat baik” kepada pemain tersebut.
  • Jika tidak, lewatkan pemain “miskin”.

Contoh 2: Cara menulis pernyataan If Else yang bertumpuk

Kode berikut menunjukkan cara membuat kolom baru dalam bingkai data dengan menulis pernyataan if else yang disarangkan:

 #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

Pernyataan ifelse bertingkat ini memberitahu R untuk melakukan hal berikut:

  • Jika nilai pada kolom tim adalah “A”, berikan penilaian “sangat baik” kepada pemain tersebut.
  • Sebaliknya, jika nilai pada kolom tim adalah “B”, berikan penilaian “OK” kepada pemain.
  • Jika tidak, lewatkan pemain “miskin”.

Contoh 3: Cara Menulis Pernyataan If Else Bersarang yang Lebih Panjang

Kode berikut menunjukkan cara membuat kolom baru dalam bingkai data dengan menulis pernyataan if else bertingkat yang lebih panjang:

 #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

Pernyataan ifelse bertingkat ini memberitahu R untuk melakukan hal berikut:

  • Jika nilai pada kolom tim adalah “A”, berikan penilaian “sangat baik” kepada pemain tersebut.
  • Sebaliknya, jika nilai pada kolom tim adalah “B”, berikan penilaian “OK” kepada pemain.
  • Sebaliknya, jika nilai di kolom tim adalah “C”, berikan peringkat “Layak” kepada pemain.
  • Jika tidak, lewatkan pemain “miskin”.

Perhatikan bahwa Anda dapat menggunakan pola persis ini untuk menulis pernyataan ifelse bertingkat selama yang Anda inginkan.

Anda dapat menemukan lebih banyak tutorial R di sini .

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *