Jak korzystać z funkcji indexc w sas-ie


Możesz użyć funkcji INDEXC w SAS-ie, aby zwrócić pozycję pierwszego wystąpienia pojedynczego znaku w ciągu.

Ta funkcja wykorzystuje następującą podstawową składnię:

INDEKS(źródło, wyciąg)

Złoto:

  • źródło : kanał do analizy
  • ekstrakt : Ciąg znaków do wyszukania w źródle

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: użycie funkcji INDEXC w SAS-ie

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który zawiera kolumnę nazw:

 /*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; 

Możemy użyć funkcji INDEXC , aby znaleźć pozycję pierwszego wystąpienia znaków x , y lub z :

 /*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;

Nowa kolumna o nazwie pierwszy_xyz wyświetla pozycję pierwszego wystąpienia znaków x , y lub z w kolumnie nazwy .

Jeśli w kolumnie nazwa nie ma żadnego z tych trzech znaków, funkcja INDEXC po prostu zwraca wartość 0 .

Na przykład z wyniku możemy zobaczyć:

Pozycja pierwszego wystąpienia x, y lub z w pierwszym wierszu to pozycja 4 . Widzimy, że znak na pozycji 4 w pierwszym wierszu to y .

Pozycja pierwszego wystąpienia x, y lub z w drugim wierszu wynosi 0 , ponieważ w nazwie drugiego wiersza nie ma żadnej z tych trzech liter.

I tak dalej.

Różnica między funkcjami INDEX i INDEXC

Funkcja INDEX w SAS-owym zwraca pozycję pierwszego wystąpienia określonego podciągu w innym ciągu.

Poniższy przykład ilustruje różnicę pomiędzy funkcjami INDEKS i INDEKS :

 /*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; 

Kolumna indeks_kowalski wyświetla pozycję pierwszego wystąpienia podłańcucha „Smith” w kolumnie nazwa .

Kolumna indeksc_smith wyświetla pozycję pierwszego wystąpienia liter s , m , i , t lub h w kolumnie nazwy .

Na przykład z wyniku możemy zobaczyć:

Podciąg „Smith” nigdy nie pojawia się w imieniu, dlatego indeks_kowalski zwraca wartość 0 .

Litera i pojawia się na 7. pozycji imienia, zatem indeksc_smith zwraca wartość 7 .

I tak dalej.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych popularnych funkcji w SAS-ie:

Jak korzystać z funkcji SUBSTR w SAS-ie
Jak korzystać z funkcji COMPRESS w SAS-ie
Jak korzystać z funkcji ZNAJDŹ w SAS-ie
Jak korzystać z funkcji COALESCE w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *