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