R'de vaka i̇fadesi nasıl yazılır (örnekle)
Case ifadesi, koşullar arasında geçiş yapan ve ilk koşul karşılandığında bir değer döndüren bir ifade türüdür.
R’de bir case ifadesini uygulamanın en kolay yolu dplyr paketindeki case_when() işlevini kullanmaktır:
library (dplyr) df %>% mutate(new_column = case_when( col1 < 9 ~ ' value1 ', col1 < 12 ~ ' value2 ', col1 < 15 ~ ' value3 ', TRUE ~ ' Great '))
Bu özel işlev, col1 adlı sütundaki değere bakar ve şunu döndürür:
- sütun1’deki değer 9’dan küçükse ” değer1 “
- sütun1’deki değer 12’den küçükse ” değer2 “
- sütun2’deki değer 15’ten küçükse ” değer3 “
- Önceki koşullardan hiçbiri doğru değilse “ değer4 ”
TRUE’nun “else” ifadesine eşdeğer olduğunu unutmayın.
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: R’deki case ifadesi
R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame df <- data. frame (player=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), points=c(6, 8, 9, 9, 12, 14, 15, 17, 19, 22)) #view data frame df player points 1 1 6 2 2 8 3 3 9 4 4 9 5 5 12 6 6 14 7 7 15 8 8 17 9 9 19 10 10 22
Değerleri puan sütunundaki değerlerle belirlenen, sınıf adı verilen yeni bir sütun oluşturan bir case ifadesi yazmak için aşağıdaki sözdizimini kullanabiliriz:
library (dplyr) #create new column using case statement df %>% mutate(class = case_when( points < 9 ~ ' Bad ', points < 12 ~ ' OK ', points < 15 ~ ' Good ', TRUE ~ ' Great ')) player points class 1 1 6 Bad 2 2 8 Bad 3 3 9 OK 4 4 9 OK 5 5 12 Good 6 6 14 Good 7 7 15 Great 8 8 17 Great 9 9 19 Great 10 10 22 Great
Case ifadesi puan sütunundaki değere baktı ve şunu verdi:
- Puan sütunundaki değer 9’dan küçükse ” Kötü “
- Puan sütunundaki değer 12’den küçükse ” Tamam “
- Puan sütunundaki değer 15’ten küçükse ” İyi “
- Önceki koşullardan hiçbiri doğru değilse ” Harika “
Yeni sütuna class adı verilir, çünkü bu , mutate() işlevinde belirttiğimiz addır.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de birden fazla koşulla If ifadesi nasıl kullanılır?
R’de iç içe geçmiş If Else ifadesi nasıl yazılır?
R’de ilk tryCatch() fonksiyonunuzu nasıl yazarsınız?