Sas'ta indexc işlevi nasıl kullanılır?
Bir dizede tek bir karakterin ilk geçtiği konumu döndürmek için SAS’taki INDEXC işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
INDEXC(kaynak, alıntı)
Altın:
- kaynak : Analiz edilecek kanal
- extract : Kaynakta aranacak karakter dizisi
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: SAS’ta INDEXC İşlevini Kullanma
Diyelim ki SAS’ta bir ad sütunu içeren aşağıdaki veri kümesine sahibiz:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
x , y veya z karakterlerinin ilk geçtiği konumu bulmak için INDEXC işlevini kullanabiliriz:
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = indexc (name, 'xyz');
run ;
/*view results*/
proc print data = new_data;
First_xyz adı verilen yeni sütun, ad sütununda x , y veya z karakterlerinin ilk geçtiği konumu görüntüler.
Ad sütununda bu üç karakterden hiçbiri yoksa INDEXC işlevi yalnızca 0 değerini döndürür.
Örneğin sonuçtan şunları görebiliriz:
x, y veya z’nin ilk satırda ilk geçtiği konum 4 konumudur. İlk satırda 4. konumdaki karakterin a y olduğunu görebiliriz.
İkinci satır adında x, y veya z’nin ilk geçtiği konum 0’dır çünkü bu üç harften hiçbiri ikinci satır adında mevcut değildir.
Ve benzeri.
INDEX ve INDEXC işlevleri arasındaki fark
SAS’taki INDEX işlevi, belirli bir alt dizenin başka bir dizedeki ilk oluşumunun konumunu döndürür.
Aşağıdaki örnek, INDEX ve INDEXC işlevleri arasındaki farkı göstermektedir:
/*create new dataset*/
data new_data;
set original_data;
index_smith = index (name, 'Smith');
indexc_smith = indexc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
index_smith sütunu, ‘Smith’ alt dizesinin ad sütununda ilk geçtiği konumu görüntüler.
indexc_smith sütunu, ad sütununda s , m , i , t veya h harflerinin ilk geçtiği konumu görüntüler.
Örneğin sonuçtan şunları görebiliriz:
‘Smith’ alt dizisi hiçbir zaman ilk adda görünmez, dolayısıyla index_smith 0 değerini döndürür.
i harfi ilk adın 7. konumunda göründüğünden indexc_smith 7 değerini döndürür.
Ve benzeri.
Ek kaynaklar
Aşağıdaki eğitimlerde SAS’taki diğer yaygın işlevlerin nasıl kullanılacağı açıklanmaktadır:
SAS’ta SUBSTR işlevi nasıl kullanılır?
SAS’ta COMPRESS işlevi nasıl kullanılır?
SAS’ta BUL işlevi nasıl kullanılır?
SAS’ta COALESCE işlevi nasıl kullanılır?