Jak korzystać z funkcji substr w sas-ie (z przykładami)


Możesz użyć funkcji SUBSTR w SAS-ie, aby wyodrębnić część ciągu.

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

SUBSTR(źródło, pozycja, N)

Złoto:

  • Źródło : kanał do analizy
  • Pozycja : Pozycja wyjściowa do odczytania
  • N : Liczba znaków do odczytania

Oto cztery najczęstsze sposoby korzystania z tej funkcji:

Metoda 1: Wyodrębnij pierwszych N znaków z ciągu

 data new_data;
    set original_data;
    first_four = substr (string_variable, 1 , 4 );
run ;

Metoda 2: Wyodrębnij znaki z określonego zakresu pozycji z ciągu

 data new_data;
    set original_data;
    two_through_five = substr (string_variable, 2 , 4 );
run ;

Metoda 3: Wyodrębnij N ostatnich znaków z ciągu

 data new_data;
    set original_data;
    last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;

Metoda 4: Utwórz nową zmienną, jeśli w ciągu znaków znajdują się znaki

 data new_data;
    set original_data;
    if substr (string_variable, 1 , 4 ) = ' some_string ' then new_var = ' Yes ';
    else new_var = ' No ';
run ;

Poniższe przykłady pokazują, jak używać każdej metody z następującym zbiorem danych w SAS-owym:

 /*create dataset*/
data original_data;
    input team $1-10;
    datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;

/*view dataset*/
proc print data = original_data; 

Przykład 1: Wyodrębnij pierwszych N znaków z ciągu

Poniższy kod pokazuje, jak wyodrębnić pierwsze 4 znaki ze zmiennej zespołu :

 /*create new dataset*/
data new_data;
    set original_data;
    first_four = substr (team, 1 , 4 );
run ;

/*view new dataset*/
proc print data = new_data;

Należy pamiętać, że zmienna First_four zawiera pierwsze cztery znaki zmiennej zespołu .

Przykład 2: Wyodrębnij znaki z określonego zakresu pozycji z ciągu

Poniższy kod pokazuje, jak wyodrębnić znaki z pozycji od 2 do 5 zmiennej team :

 /*create new dataset*/
data new_data;
    set original_data;
    two_through_five = substr (team, 2 , 4 );
run ;

/*view new dataset*/
proc print data = new_data;

Przykład 3: Wyodrębnij N ostatnich znaków z ciągu

Poniższy kod pokazuje, jak wyodrębnić 3 ostatnie znaki ze zmiennej zespołu :

 /*create new dataset*/
data new_data;
    set original_data;
    last_three = substr (team , length (team) -2,3 );
run ;

/*view new dataset*/
proc print data = new_data; 

Przykład 4: Utwórz nową zmienną, jeśli w ciągu znaków znajdują się znaki

Poniższy kod pokazuje, jak utworzyć nową zmienną o nazwie W_Team , która ma wartość „ tak ”, jeśli pierwszym znakiem nazwy zespołu jest „W” lub „ nie ”, jeśli pierwsze znaki nie są literą „W”.

 /*create new dataset*/
data new_data;
    set original_data;
    if substr (team, 1 , 1 ) = ' W ' then W_Team = ' Yes ';
else W_Team = ' No ';
run ;

/*view new dataset*/
proc print data = new_data; 

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak normalizować dane w SAS-ie
Jak zamienić znaki w ciągu w SAS-ie
Jak zastąpić brakujące wartości zerem w SAS-ie
Jak usunąć duplikaty w SAS-ie

Dodaj komentarz

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