Sas'ta prxchange i̇şlevi nasıl kullanılır (örneklerle)
Bir dizedeki belirli bir modeli değiştirmek için SAS’taki PRXCHANGE işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
PRXCHANGE(normal ifade, zamanlar, kaynak)
Altın:
- düzenli ifade : aranacak modeli belirten normal ifade
- times : Deseni bulmak ve değiştirmek için değiştirilme sayısı ( kaynağın sonuna ulaşılana kadar deseni değiştirmeye devam etmek için -1’i kullanın)
- kaynak : Aranacak değişkenin adı
Aşağıdaki örnekler, SAS’ta aşağıdaki veri kümesiyle bu işlevi pratikte kullanmanın iki yaygın yolunu göstermektedir:
/*create dataset*/
data my_data;
input phrase $char40. ;
datalines ;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run ;
/*view dataset*/
proc print data =my_data;
Örnek 1: Dizedeki modeli yeni bir modelle değiştirmek için PRXCHANGE kullanın
Aşağıdaki kod, ifade sütunundaki her “cool” ifadesini “fun” ile değiştiren new_phrase adlı yeni bir sütun oluşturmak için PRXCHANGE işlevinin nasıl kullanılacağını gösterir:
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool/fun/i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
Her “havalı” örneğinin “eğlenceli” ile değiştirildiğini unutmayın.
Normal ifadede bir değişiklik yapmak istediğimizi belirtmek için s’yi , büyük/küçük harfe duyarlı olmaması gerektiğini belirtmek için de i’yi kullandığımızı unutmayın.
Örnek 2: Dizedeki deseni boş alanla değiştirmek için PRXCHANGE kullanın
Aşağıdaki kod, ifade sütunundaki her “cool” ifadesini bir boşlukla değiştiren new_phrase adlı yeni bir sütun oluşturmak için PRXCHANGE işlevinin nasıl kullanılacağını gösterir:
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool//i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
Her “cool” ifadesinin bir boşlukla değiştirildiğini unutmayın.
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 bir dizeden virgüller nasıl kaldırılır
SAS’ta dizeleri sınırlayıcıya göre bölme