Sas: come utilizzare proc freq con l'opzione order


È possibile utilizzare PROC FREQ con l’opzione ORDER=FREQ in SAS per creare una tabella di frequenza in cui le categorie nella tabella sono ordinate per frequenza.

A tale scopo è possibile utilizzare la seguente sintassi:

 proc freq data=my_data order =freq;
    tables my_variable;
run ;

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

Esempio: utilizzo PROC FREQ con l’opzione ORDER in SAS

Per questo esempio utilizzeremo il set di dati integrato in SAS chiamato BirthWgt , che contiene varie caratteristiche di 100.000 madri che hanno partorito di recente.

Possiamo usare PROC PRINT per visualizzare le prime 10 osservazioni in questo set di dati:

 /*view first 10 observations from BirthWgt dataset*/
proc print data =sashelp.BirthWgt( obs = 10 );

run ;

Possiamo usare il seguente codice per creare una tabella di frequenza per la variabile Race:

 /*create frequency table for Race variable*/
proc freq data =sashelp.BirthWgt;
	Race tables ;
run ; 

tabella delle frequenze in SAS

Tieni presente che le categorie sono attualmente ordinate alfabeticamente.

Per ordinare le categorie in base alla frequenza, possiamo utilizzare la seguente sintassi:

 /*create frequency table for Race variable, sorted by frequency*/
proc freq data =sashelp.BirthWgt order =freq;
	Race tables ;
run ; 

SAS PROC FREQ con opzione COMANDO

Tieni presente che le categorie ora sono ordinate in base alla frequenza, dalla più alta alla più bassa.

Sfortunatamente, non esiste un’opzione integrata per ordinare le categorie in base alla frequenza, dalla più bassa alla più alta.

Tuttavia, puoi utilizzare la seguente soluzione alternativa con l’istruzione PROC SORT per ordinare in base alla frequenza, dal più basso al più alto:

 /*create frequency table and store results in Racefreq*/
proc freq data=sashelp.BirthWgt noprint ;
   tables Race / out =Racefreq;
run ;

/*sort Racefreq based on frequency from lowest to highest*/
proc sort data =Racefreq;
  by count;
run ;

/*create new dataset with cumulative freq and cumulative percent*/
data freq_low_to_high;
  set Racefreq;
  cumcount + count;
  cumcent + percent;
run ;

/*view results*/
proc print data =freq_low_to_high; 

SAS PROC FREQ ordina in ordine crescente

Tieni presente che le categorie ora sono ordinate in base alla frequenza, dalla più bassa alla più alta.

Risorse addizionali

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

SAS: come utilizzare PROC FREQ con l’istruzione WHERE
SAS: come utilizzare PROC FREQ per gruppo
SAS: come utilizzare PROC RANK

Aggiungi un commento

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