Sas: come utilizzare proc sort con l'istruzione keep


È possibile utilizzare PROC SORT con l’istruzione KEEP in SAS per ordinare le righe in un set di dati e mantenere solo colonne specifiche dopo l’ordinamento.

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

 proc sort data=my_data out =sorted_data ( keep =var1 var2);
    by var2;
run ;

Questo particolare esempio ordina le righe nel set di dati in base ai valori nella colonna var2 e quindi mantiene solo le colonne var1 e var2 dopo l’ordinamento.

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

Esempio: utilizzare PROC SORT con l’istruzione KEEP 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 assists;
    datalines ;
Mavs 113 22
Pacers 95 19
Cavs 100 34
Lakers 114 20
Heat 123 39
Kings 100 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119 29
;
run ;

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

Potremmo utilizzare la seguente sintassi per ordinare le righe del dataset in base ai valori nella colonna dei punti :

 /*sort rows in dataset based on values in points column*/
proc sort data =my_data out =sorted_data;
    by points;
run ;

/*view sorted dataset*/
proc print data =sorted_data;

Tieni presente che le righe ora sono ordinate in ordine crescente in base ai valori nella colonna dei punti .

Per impostazione predefinita, SAS conserva tutte le colonne nel set di dati dopo l’ordinamento.

Tuttavia, è possibile utilizzare l’istruzione KEEP per specificare quali colonne mantenere dopo l’ordinamento.

Ad esempio, possiamo utilizzare la seguente sintassi per ordinare le righe nel dataset in base ai valori nella colonna dei punti , e quindi mantenere solo le colonne squadra e punti :

 /*sort rows in dataset based on values in points column and only keep team and points*/
proc sort data=my_data out =sorted_data ( keep =team points);
    by points;
run ;

/*view sorted dataset*/
proc print data =sorted_data; 

Ancora una volta, le righe vengono ordinate in ordine crescente in base ai valori della colonna dei punti , ma questa volta abbiamo utilizzato l’istruzione KEEP per mantenere solo le colonne della squadra e dei punti dopo l’ordinamento.

Risorse addizionali

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

Come utilizzare PROC SORT con NODUPKEY in SAS
Come rinominare le variabili in SAS
Come creare nuove variabili in SAS

Aggiungi un commento

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