Sas: bir dizeden virgüller nasıl kaldırılır


SAS’ta bir dizeden virgülleri kaldırmanın en kolay yolu, bir karakterin her tekrarını başka bir karaktere dönüştüren TRANSLATE işlevini kullanmaktır.

Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 data new_data;
    set original_data;
    string_var = compress ( translate (string_var,"",','));
run ;

Bu özel örnek, bir veri kümesindeki string_var değişkenindeki her dizedeki her virgülü kaldırır.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: SAS’ta Bir Dizeden Virgülleri Kaldırma

SAS’ta çeşitli basketbol takımları hakkında bilgi içeren aşağıdaki veri kümesine sahip olduğumuzu varsayalım:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
,Mavs, 113
Pacers 95
,Ca,vs 120
Lakers 114
Heat 123
King,s 119
Raptors 105
,Hawks 95
Ma,gic 103
Spu,,rs 119
;
run ;

/*view dataset*/
proc print data =my_data; 

Ekip sütunundaki bazı dizelerin farklı yerlerde virgüller içerdiğini unutmayın.

Takım sütunundaki dizelerdeki tüm virgülleri kaldırmak için aşağıdaki sözdizimini kullanabiliriz:

 /*create new dataset where commas are removed from each string in team column*/
data new_data;
    set my_data;
    team = compress ( translate (team,"",','));
run ;

/*view new dataset*/
proc print data =new_data;

Takım sütunundaki her dizeden virgüllerin kaldırıldığını unutmayın.

İşte bu kodun gerçekte yaptığı şey:

  • TRANSLATE işlevinin her biri virgülün yerini bir boşlukla değiştirdi.
  • Daha sonra COMPRESS işlevi her dizedeki boşlukları kaldırdı.

Not : SAS TRANSLATE işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

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 bir dizeden sayılar nasıl çıkarılır
SAS’ta SUBSTR işlevi nasıl kullanılır?
SAS’taki dizelerden özel karakterler nasıl kaldırılır

Yorum ekle

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