Sas:如何将 proc freq 与 order 选项一起使用


您可以在 SAS 中使用PROC FREQORDER=FREQ选项来创建频率表,其中表中的类别按频率排序。

您可以使用以下语法来执行此操作:

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

以下示例展示了如何在实践中使用此语法。

示例:在 SAS 中使用 PROC FREQ 和 ORDER 选项

在此示例中,我们将使用名为BirthWgt的 SAS 内置数据集,其中包含 100,000 名最近分娩的母亲的各种特征。

我们可以使用PROC PRINT显示此数据集中的前 10 个观测值:

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

run ;

我们可以使用以下代码为 Race 变量创建频率表:

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

SAS中的频率表

请注意,类别当前按字母顺序排序。

要按频率对类别进行排序,我们可以使用以下语法:

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

带有 COMMAND 选项的 SAS PROC FREQ

请注意,类别现在根据频率从最高到最低进行排序。

不幸的是,没有内置选项可以根据频率从最低到最高对类别进行排序。

但是,您可以将以下解决方法与PROC SORT语句结合使用,按频率从最低到最高进行排序:

 /*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 按升序排序

请注意,类别现在根据频率从最低到最高排序。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS:如何将 PROC FREQ 与 WHERE 语句一起使用
SAS:如何按组使用 PROC FREQ
SAS:如何使用 PROC RANK

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注