Cara menggunakan fungsi prxmatch di sas (dengan contoh)
Anda dapat menggunakan fungsi PRXMATCH di SAS untuk mencari pola tertentu dalam string dan mengembalikan posisi di mana pola tersebut ditemukan.
Fungsi ini menggunakan sintaks dasar berikut:
PRXMATCH(ekspresi reguler, sumber)
Emas:
- ekspresi reguler : ekspresi reguler yang menentukan pola yang akan dicari
- source : Nama variabel yang akan dicari
Contoh berikut menunjukkan tiga cara umum untuk menggunakan fungsi ini dalam praktik dengan himpunan data berikut di SAS:
/*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;
Contoh 1: Gunakan PRXMATCH untuk mencari posisi suatu pola dalam sebuah string
Kode berikut menunjukkan cara menggunakan fungsi PRXMATCH untuk membuat kolom baru bernama position yang berisi posisi di mana string “avs” muncul di kolom tim:
/*create new dataset*/
data new_data;
set my_data;
position = prxmatch ("/avs/", team);
run ;
/*view new dataset*/
proc print data = new_data;
Dari hasilnya kita dapat melihat:
- Baris pertama berisi pola “avs” pada kolom tim dimulai dari posisi 2 string.
- Baris kedua berisi pola “avs” pada kolom tim mulai posisi 2 pada string.
- Baris ketiga tidak berisi pola “avs” di kolom tim sehingga nilai yang dikembalikan adalah 0 .
Dan seterusnya.
Contoh 2: Gunakan PRXMATCH untuk memeriksa apakah string berisi suatu pola
Kode berikut menunjukkan cara menggunakan fungsi PRXMATCH untuk membuat kolom baru bernama mavs_flag yang berisi nilai 1 jika string kolom tim berisi “avs” di mana pun dalam string dan nilai 0 jika tidak:
/*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;
Perhatikan bahwa i di akhir ekspresi reguler menetapkan bahwa SAS harus melakukan pencarian yang tidak peka huruf besar-kecil.
Lupakan saja i jika Anda ingin melakukan pencarian peka huruf besar-kecil.
Contoh 3: Gunakan PRXMATCH untuk memfilter kumpulan data untuk baris yang berisi pola
Kode berikut menunjukkan cara menggunakan fungsi PRXMATCH untuk membuat kumpulan data baru yang hanya berisi baris di my_data yang memiliki string “Mavs” (tidak peka huruf besar-kecil) di kolom tim:
/*create dataset*/
data original_doriginal_data;
Perhatikan bahwa setiap baris dalam kumpulan data baru berisi “Mavs” di kolom tim.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:
Cara mengekstrak angka dari string di SAS
Cara menghapus koma dari string di SAS
Cara membagi string dengan pembatas di SAS