Come estrarre numeri da una stringa in sas
Il modo più semplice per estrarre numeri da una stringa in SAS è utilizzare la funzione COMPRESS con il modificatore “A”.
Questa funzione utilizza la seguente sintassi di base:
data new_data;
set original_data;
numbers_only = compress(some_string, '', ' A ');
run ;
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: estrarre numeri da una stringa in SAS
Supponiamo di avere in SAS il seguente dataset che riporta i nomi dei vari corsi universitari:
/*create dataset*/
data original_data;
input course $12.;
datalines ;
Stats101
Economics203
Business201
Botany411
Calculus101
English201
Chemistry402
Physics102
;
run ;
/*view dataset*/
proc print data = original_data;
Possiamo utilizzare il seguente codice per estrarre solo i numeri dal nome di ciascun corso:
/*extract numbers from course column*/
data new_data;
set original_data;
course_number_only = compress (course, '', ' A ');
run ;
/*view results*/
proc print data = new_data;
Tieni presente che la nuova colonna denominata course_number_only contiene solo i numeri delle stringhe nella colonna del corso .
Se invece vuoi estrarre solo i caratteri da ogni stringa, puoi utilizzare la funzione COMPRESS con il modificatore ‘d’:
/*extract characters from course column*/
data new_data;
set original_data;
course_characters_only = compress (course, '', ' d ');
run ;
/*view results*/
proc print data = new_data;
Tieni presente che la nuova colonna denominata course_characters_only contiene solo i numeri delle stringhe nella colonna del corso .
Nota : è possibile trovare un elenco completo dei modificatori per la funzione COMPRESS in questa pagina della documentazione SAS .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come normalizzare i dati in SAS
Come identificare i valori anomali in SAS
Come creare tabelle di frequenza in SAS