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