Sas: proc freq gebruiken met de order-optie


U kunt PROC FREQ gebruiken met de optie ORDER=FREQ in SAS om een frequentietabel te maken waarin de categorieën in de tabel op frequentie zijn gesorteerd.

U kunt hiervoor de volgende syntaxis gebruiken:

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

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: PROC FREQ gebruiken met de ORDER-optie in SAS

Voor dit voorbeeld gebruiken we de ingebouwde SAS-dataset genaamd BirthWgt , die verschillende kenmerken bevat van 100.000 moeders die onlangs zijn bevallen.

We kunnen PROC PRINT gebruiken om de eerste 10 waarnemingen in deze dataset weer te geven:

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

run ;

We kunnen de volgende code gebruiken om een frequentietabel te maken voor de Race-variabele:

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

frequentietabel in SAS

Houd er rekening mee dat de categorieën momenteel alfabetisch zijn gesorteerd.

Om categorieën op frequentie te sorteren, kunnen we de volgende syntaxis gebruiken:

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

SAS PROC FREQ met COMMAND-optie

Houd er rekening mee dat categorieën nu worden gesorteerd op basis van frequentie, van hoog naar laag.

Helaas is er geen ingebouwde optie om categorieën te sorteren op basis van frequentie, van laag naar hoog.

U kunt echter de volgende oplossing gebruiken met de PROC SORT- instructie om te sorteren op frequentie, van laag naar hoog:

 /*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 sorteert in oplopende volgorde

Houd er rekening mee dat categorieën nu worden gesorteerd op basis van frequentie, van laag naar hoog.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

SAS: PROC FREQ gebruiken met de WHERE-instructie
SAS: Hoe PROC FREQ per groep te gebruiken
SAS: PROC RANK gebruiken

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert