R'de yuvalanmış if else i̇fadesi nasıl yazılır (örneklerle)


R tabanındaki ifelse() işlevi hızlı if-else ifadeleri yazmak için kullanılabilir. Bu işlev aşağıdaki sözdizimini kullanır:

ifelse(test, evet, hayır)

Altın:

  • test: mantıksal bir test
  • evet: Mantık testi Doğru ise döndürülecek değer
  • no: Mantık testi Yanlış ise döndürülecek değer

Bu eğitimde, aşağıdaki veri çerçevesini kullanarak, R’de if else ifadelerinin yanı sıra iç içe if else ifadelerinin yazılması için bu fonksiyonun nasıl kullanılacağı açıklanmaktadır:

 #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

Örnek 1: Temel If Else İfadesi Nasıl Yazılır

Aşağıdaki kod, veri çerçevesinde değeri “ekip” sütununun değerine dayalı olan yeni bir sütunun nasıl oluşturulacağını gösterir:

 #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

Bu basit ifelse ifadesi R’ye aşağıdakileri yapmasını söyler:

  • Takım sütunundaki değer “A” ise oyuncuya “mükemmel” notu verin.
  • Aksi takdirde, oyuncuyu “fakir” olarak kaçırırsınız.

Örnek 2: İç içe If Else ifadesi nasıl yazılır?

Aşağıdaki kod, iç içe bir if else ifadesi yazarak veri çerçevesinde nasıl yeni bir sütun oluşturulacağını gösterir:

 #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

Bu iç içe ifelse ifadesi R’ye aşağıdakileri yapmasını söyler:

  • Takım sütunundaki değer “A” ise oyuncuya “mükemmel” notu verin.
  • Aksi halde takım sütunundaki değer “B” ise oyuncuya “Tamam” notu verin.
  • Aksi takdirde, oyuncuyu “fakir” olarak kaçırırsınız.

Örnek 3: Daha Uzun Yuvalanmış If Else İfadeleri Nasıl Yazılır

Aşağıdaki kod, daha uzun bir iç içe if else ifadesi yazarak veri çerçevesinde nasıl yeni bir sütun oluşturulacağını gösterir:

 #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

Bu iç içe ifelse ifadesi R’ye aşağıdakileri yapmasını söyler:

  • Takım sütunundaki değer “A” ise oyuncuya “mükemmel” notu verin.
  • Aksi halde takım sütunundaki değer “B” ise oyuncuya “Tamam” notu verin.
  • Aksi takdirde, takım sütunundaki değer “C” ise oyuncuya “İyi” notu verin.
  • Aksi takdirde, oyuncuyu “fakir” olarak kaçırırsınız.

İç içe ifelse ifadelerini istediğiniz kadar yazmak için tam olarak bu modeli kullanabileceğinizi unutmayın.

Daha fazla R eğitimini burada bulabilirsiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir