Sas'ta if-then-else kullanımı (örneklerle)
Bir koşulun doğru olması durumunda bir değer döndürmek için SAS’ta IF-THEN-ELSE ifadesini kullanabilirsiniz; aksi takdirde , koşul doğru değilse başka bir değer döndürmek için kullanabilirsiniz.
Bu ifade aşağıdaki temel sözdizimini kullanır:
if var1 > 30 then var2 = 'good';
else var2 = 'bad';
Ayrıca, daha fazla koşula dayalı olarak daha fazla potansiyel değer döndürmek için birden fazla ELSE IF ifadesini birbirine zincirleyebilirsiniz:
if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';
Aşağıdaki örnekler, bu ifadelerin her birinin pratikte SAS’taki aşağıdaki veri kümesiyle nasıl kullanılacağını gösterir:
/*create dataset*/
data original_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data = original_data;
Örnek 1: SAS’ta IF-THEN-ELSE
Puan sütunundaki değer 30’dan büyükse “iyi” değerini, değilse “kötü” değerini alan, derecelendirme adı verilen yeni bir değişken oluşturmak için aşağıdaki IF-THEN-ELSE ifadesini kullanabiliriz:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
Derecelendirme adı verilen yeni sütunun, puan sütununun değeri 30’dan büyükse “iyi” değerini, aksi takdirde “kötü” değerini aldığını unutmayın.
Örnek 2: SAS’ta IF-THEN-ELSE IF
Aşağıdaki değerleri alan, derecelendirme adı verilen yeni bir değişken oluşturmak için aşağıdaki IF-THEN-ELSE IF ifadesini kullanabiliriz:
- Puanlar 35’ten büyükse “süper”
- aksi takdirde puanlar 30’dan büyükse “iyi”
- aksi halde “kötü”
Aşağıdaki kod bunun nasıl yapılacağını gösterir:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 35 then rating = 'great'; else if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
Derecelendirme adı verilen yeni sütun, puan sütununda karşılık gelen değere bağlı olarak “mükemmel”, “iyi” veya “kötü” değerini alır.
Not : Çeşitli koşullara bağlı olarak istediğiniz kadar farklı değer döndürmek istediğiniz kadar ELSE IF ifadesini kullanmaktan çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
SAS’ta IF-THEN-DO nasıl kullanılır?
SAS’ta kopyalar nasıl kaldırılır
SAS’ta eksik değerler sıfırla nasıl değiştirilir?