Sas'ta prxmatch i̇şlevi nasıl kullanılır (örneklerle)
Bir dizede belirli bir modeli aramak ve modelin bulunduğu konumu döndürmek için SAS’taki PRXMATCH işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
PRXMATCH(normal ifade, kaynak)
Altın:
- düzenli ifade : aranacak modeli belirten normal ifade
- kaynak : Aranacak değişkenin adı
Aşağıdaki örnekler, SAS’taki aşağıdaki veri kümesiyle bu işlevi pratikte kullanmanın üç yaygın yolunu gösterir:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Mavs 22
mavs 14
Warriors 23
Mavs 19
warriors 34
MAVS 40
WARRIORS 39
;
run ;
/*view dataset*/
proc print data =my_data;
Örnek 1: Bir dizedeki desenin konumunu bulmak için PRXMATCH’i kullanın
Aşağıdaki kod, takım sütununda “avs” dizesinin göründüğü konumu içeren konum adı verilen yeni bir sütun oluşturmak için PRXMATCH işlevinin nasıl kullanılacağını gösterir:
/*create new dataset*/
data new_data;
set my_data;
position = prxmatch ("/avs/", team);
run ;
/*view new dataset*/
proc print data = new_data;
Sonuçtan şunları görebiliriz:
- İlk satır, dizenin 2. konumundan başlayan takım sütunundaki “avs” modelini içerir.
- İkinci satır, dizedeki 2. konumdan başlayan takım sütunundaki “avs” modelini içerir.
- Üçüncü satır, takım sütunundaki “avs” modelini içermediğinden 0 değeri döndürülür.
Ve benzeri.
Örnek 2: Dizenin bir kalıp içerip içermediğini kontrol etmek için PRXMATCH’i kullanın
Aşağıdaki kod, takım sütunu dizesi dizenin herhangi bir yerinde “avs” içeriyorsa 1 değerini, değilse 0 değerini içeren mavs_flag adlı yeni bir sütun oluşturmak için PRXMATCH işlevinin nasıl kullanılacağını gösterir:
/*create new dataset*/
data new_data;
set my_data;
if prxmatch("/Mavs/i", team) > 0 then mavs_flag = 1 ;
else mavs_flag = 0 ;
run ;
/*view new dataset*/
proc print data = new_data;
Normal ifadenin sonundaki i’nin , SAS’ın büyük/küçük harfe duyarlı olmayan bir arama yapması gerektiğini belirttiğini unutmayın.
Bunun yerine büyük/küçük harfe duyarlı bir arama yapmak istiyorsanız i’yi unutun.
Örnek 3: Veri kümesini bir model içeren satırlara göre filtrelemek için PRXMATCH’i kullanın
Aşağıdaki kod, ekip sütununda yalnızca my_data’da “Mavs” dizesine (büyük/küçük harfe duyarlı olmayan) sahip satırları içeren yeni bir veri kümesi oluşturmak için PRXMATCH işlevinin nasıl kullanılacağını gösterir:
/*create dataset*/
data original_doriginal_data;
Yeni veri kümesindeki satırların her birinin ekip sütununda “Mav’ler” içerdiğine dikkat edin.
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