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.