Come utilizzare la funzione scan in sas (con esempi)


È possibile utilizzare la funzione SCAN in SAS per estrarre l’ ennesima parola da una stringa.

Questa funzione utilizza la seguente sintassi di base:

SCAN (stringa, numero)

Oro:

  • string : la stringa da analizzare
  • count : l’ ennesima parola da estrarre

Ecco i tre modi più comuni per utilizzare questa funzionalità:

Metodo 1: estrai l’ennesima parola dalla stringa

 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;

Metodo 2: estrae l’ultima parola dalla stringa

 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;

Metodo 3: estrai più parole da una stringa

 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 ;

Gli esempi seguenti mostrano come utilizzare ciascun metodo con il seguente set di dati in SAS:

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

Esempio 1: estrarre l’ennesima parola dalla stringa

Il codice seguente mostra come estrarre la seconda parola da ciascuna stringa nella colonna del nome :

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

Funzione SCANSIONE in SAS

Nota che la nuova colonna chiamata second_word contiene la seconda parola di ogni stringa nella colonna del nome .

Esempio 2: estrarre l’ultima parola dalla stringa

Il codice seguente mostra come utilizzare il valore -1 nella funzione di scansione per estrarre l’ultima parola di ogni stringa nella colonna del nome :

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

Nota che la nuova colonna chiamata last_word contiene l’ultima parola di ogni stringa nella colonna del nome .

Esempio 3: estrarre più parole da una stringa

Il codice seguente mostra come utilizzare la funzione di scansione per estrarre ogni parola da ogni stringa nella colonna del nome :

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

Tieni presente che sono state create tre nuove colonne contenenti la prima, la seconda e la terza parola di ciascuna stringa nella colonna del nome .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come utilizzare la funzione SUBSTR in SAS
Come utilizzare la funzione TROVA in SAS
Come utilizzare la funzione COALESCE in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *