Jak korzystać z funkcji scan w sas-ie (z przykładami)
Możesz użyć funkcji SCAN w SAS-ie, aby wyodrębnić n-te słowo z ciągu.
Ta funkcja wykorzystuje następującą podstawową składnię:
SKAN (ciąg znaków, liczba)
Złoto:
- string : Ciąg do przeanalizowania
- count : n- te słowo do wyodrębnienia
Oto trzy najczęstsze sposoby korzystania z tej funkcji:
Metoda 1: wyodrębnij n-te słowo z ciągu
data new_data;
set original_data;
second_word = scan (string_variable, 2 );
run ;
Metoda 2: Wyodrębnij ostatnie słowo z ciągu
data new_data;
set original_data;
last_word = scan (string_variable, -1 );
run ;
Metoda 3: Wyodrębnij wiele słów z ciągu
data new_data;
set original_data;
first_word = scan (string_variable, 1 );
second_word = scan (string_variable, 2 );
third_word = scan (string_variable, 3 );
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 name $20. dirty;
datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data;
Przykład 1: Wyodrębnij n-te słowo z ciągu
Poniższy kod pokazuje, jak wyodrębnić drugie słowo z każdego ciągu w kolumnie nazwa :
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;
Zauważ, że nowa kolumna o nazwie drugie_słowo zawiera drugie słowo każdego ciągu w kolumnie nazwa .
Przykład 2: Wyodrębnij ostatnie słowo z ciągu
Poniższy kod pokazuje, jak użyć wartości -1 w funkcji skanowania, aby wyodrębnić ostatnie słowo każdego ciągu w kolumnie nazwa :
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;
Zauważ, że nowa kolumna o nazwie last_word zawiera ostatnie słowo każdego ciągu w kolumnie name .
Przykład 3: Wyodrębnij wiele słów z ciągu
Poniższy kod pokazuje, jak używać funkcji skanowania do wyodrębniania każdego słowa z każdego ciągu w kolumnie nazwa :
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan (name, 1 );
second_word = scan (name, 2 );
third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;
Należy zauważyć, że utworzono trzy nowe kolumny zawierające pierwsze, drugie i trzecie słowo każdego ciągu w kolumnie nazwy .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak korzystać z funkcji SUBSTR w SAS-ie
Jak korzystać z funkcji ZNAJDŹ w SAS-ie
Jak korzystać z funkcji COALESCE w SAS-ie