Na, r'deki ifelse ifadesine nasıl eklenir?
Değerleri mevcut bir sütunun değerlerine dayalı olan bir veri çerçevesinde yeni bir sütun oluşturmak için genellikle R’de bir ifelse ifadesi kullanmak isteyebilirsiniz.
Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
df$new_column<- ifelse(df$col1 == ' A ', ' val_if_true ', ' val_if_false ')
Ancak bir sütunda NA değerleri mevcutsa yeni sütundaki değerler otomatik olarak NA olacaktır.
Bunu önlemek için !is.na() fonksiyonunu aşağıdaki gibi kullanabilirsiniz:
df$new_column<- ifelse(df$col1 == ' A ' & !is. na (df$col1) , ' val_if_true ', ' val_if_false ')
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: NA’yı R’deki ifelse ifadesine dahil edin
R’de çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F'), conf=c('West', NA, 'West', 'East', 'East', 'East'), points=c(30, 35, 11, 18, 14, NA)) #view data frame df player conf points 1 A West 30 2 B <NA> 35 3 C West 11 4 D East 18 5 E East 14 6 F East NA
Şimdi sınıf adında aşağıdaki değerleri alan yeni bir sütun oluşturmaya çalıştığımızı varsayalım:
- Conf ‘Batı’ya eşitse ‘West_Player’
- Conf ‘Batı’ya eşit değilse ‘Diğer’
Aşağıdaki kod bunun nasıl yapılacağını gösterir:
#create new column called 'class' df$class <- ifelse(df$conf == ' West ', ' West_Player ', ' Other ') #view updated data frame df player conf points class 1 A West 30 West_Player 2 B <NA> 35 <NA> 3 C West 11 West_Player 4 D East 18 Other 5 E East 14 Other 6 F East NA Other
Conf sütunundaki karşılık gelen değer NA’ya eşit olduğundan, 2. satırdaki sınıf değerinin NA’ya eşit olduğunu unutmayın.
Bunu önlemek için !is.na() fonksiyonunu şu şekilde kullanabiliriz:
#create new column called 'class' df$class <- ifelse(df$conf == ' West ' & !is. na (df$conf), ' West_Player ', ' Other ') #view updated data frame df player conf points class 1 A West 30 West_Player 2 B <NA> 35 Other 3 C West 11 West_Player 4 D East 18 Other 5 E East 14 Other 6 F East NA Other
2. satırdaki Class değerinin artık NA yerine “Diğer”e eşit olduğunu unutmayın.
!is.na() fonksiyonunu kullanarak, yeni sınıf sütunundaki değerin ‘West_Player’ olabilmesi için conf sütunundaki değerin ‘West’e eşit olması ve NA’ya eşit olmaması gerektiğini belirttik.
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 yuvalanmış If Else ifadesi nasıl yazılır?
R’de bir vaka ifadesi nasıl yazılır
R’de veri çerçevesine birden fazla sütun nasıl eklenir