Sas: come modificare la lunghezza delle variabili di carattere


Il modo più semplice per modificare la lunghezza delle variabili di carattere in SAS è utilizzare le istruzioni ALTER TABLE e MODIFY in PROC SQL .

Per fare ciò, è possibile utilizzare la seguente sintassi di base:

 proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

Questo particolare esempio modifica la lunghezza della variabile di carattere chiamata team nel set di dati chiamato my_data per avere una lunghezza di 4 .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: modificare la lunghezza della variabile carattere in SAS

Supponiamo di avere il seguente set di dati in SAS che contiene informazioni su varie squadre di basket:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;

/*view dataset*/
proc print data =my_data; 

Possiamo utilizzare PROC CONTENTS per visualizzare la lunghezza di ciascuna variabile nel set di dati:

 /*view length of each variable in dataset*/
proc contents data =my_data;

L’ultima tabella del risultato mostra la lunghezza di ciascuna variabile:

Da questa tabella possiamo vedere:

  • La variabile points è una variabile numerica con una lunghezza di 8.
  • La variabile team è una variabile di carattere con una lunghezza di 8.

Diciamo che vogliamo cambiare la variabile team in modo che abbia una lunghezza pari a 4.

Possiamo usare la seguente sintassi per fare ciò:

 /*change length of team variable to 4*/
proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

Possiamo utilizzarli utilizzando nuovamente PROC CONTENTS per visualizzare la lunghezza di ciascuna variabile nel set di dati:

 /*view updated length of each variable in dataset*/
proc contents data =my_data;

L’ultima tabella del risultato mostra la lunghezza di ciascuna variabile:

Possiamo vedere che la variabile team ora ha una lunghezza pari a 4.

Va notato che nessuno dei valori nella colonna della squadra è stato troncato perché il nome della squadra più lungo aveva una lunghezza di 4.

Tuttavia, se modificassi la lunghezza della variabile della squadra , ad esempio, su 3, l’ultimo carattere di alcuni nomi di squadra verrebbe troncato.

Utilizzando questo metodo non verrà visualizzato alcun messaggio di avviso in caso di troncamento. Quindi assicurati di conoscere la lunghezza massima delle stringhe nella colonna dei caratteri prima di utilizzare questo metodo.

Risorse addizionali

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

Come estrarre numeri da una stringa in SAS
Come utilizzare la funzione SUBSTR in SAS
Come rimuovere caratteri speciali dalle stringhe in SAS

Aggiungi un commento

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