Sas: la differenza tra put e input


È possibile utilizzare le funzioni PUT e INPUT in SAS per convertire le variabili in diversi tipi di dati.

Ecco la differenza tra le due funzioni:

La funzione PUT accetta variabili di carattere o numeriche come input e restituisce sempre variabili di carattere .

La funzione INPUT accetta solo variabili di carattere come input e può restituire variabili di carattere o numeriche .

Gli esempi seguenti mostrano due modi comuni di utilizzare nella pratica le funzioni PUT e INPUT .

Esempio 1: utilizzo di PUT per convertire una variabile numerica in una variabile di carattere

Supponiamo di avere il seguente set di dati in SAS che mostra le vendite totali effettuate da un negozio per 10 giorni consecutivi:

 /*create dataset*/
data original_data;
    input day sales;
    datalines ;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run ;

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

Possiamo utilizzare il contenuto della procedura per visualizzare il tipo di dati di ciascuna variabile nel set di dati:

 /*display data type for each variable*/
proc contents data =original_data;

Possiamo vedere che il giorno e le vendite sono entrambe variabili numeriche.

Possiamo usare la funzione PUT per convertire la variabile del giorno da numerica a carattere:

 /*create new dataset where 'day' is character*/
data new_data;
    set original_data;
    char_day = put (day, 8.);
    drop day;
run ;

/*view new dataset*/
proc print data =new_data; 

Possiamo nuovamente utilizzare il contenuto di proc per verificare il tipo di dati di ciascuna variabile nel nuovo set di dati:

 /*display data type for each variable in new dataset*/
proc contents data =new_data; 

Abbiamo utilizzato con successo la funzione PUT per convertire la variabile del giorno da numerica a una nuova variabile di carattere chiamata char_day .

Esempio 2: utilizzo di INPUT per convertire una variabile di carattere in una variabile numerica

Supponiamo di avere il seguente set di dati in SAS che mostra le vendite totali effettuate da un negozio per 10 giorni consecutivi:

 /*create dataset*/
data original_data;
    input day $sales;
    datalines ;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run ;

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

Possiamo utilizzare il contenuto della procedura per visualizzare il tipo di dati di ciascuna variabile nel set di dati:

 /*display data type for each variable*/
proc contents data =original_data;

Possiamo vedere che il giorno è una variabile di carattere e le vendite sono una variabile numerica.

Possiamo usare la funzione INPUT per convertire la variabile del giorno da carattere a numerico:

 /*create new dataset where 'day' is numeric*/
data new_data;
    set original_data;
    numeric_day = input (day, comma9.);
    drop day;
run ;

/*view new dataset*/
proc print data =new_data; 

Possiamo nuovamente utilizzare il contenuto di proc per verificare il tipo di dati di ciascuna variabile nel nuovo set di dati:

 /*display data type for each variable in new dataset*/
proc contents data = new_data; 

Abbiamo utilizzato con successo la funzione INPUT per convertire la variabile giorno da una variabile di carattere a una nuova variabile numerica chiamata numeric_day .

Risorse addizionali

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

SAS: come convertire una variabile di carattere in numerica
SAS: come convertire una variabile numerica in carattere
SAS: come convertire una variabile di carattere in una data
SAS: come convertire una variabile numerica in una data

Aggiungi un commento

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