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;

Funkcja SKANUJ w SAS-ie

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

Dodaj komentarz

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