Sas:如何将 proc freq 与 order 选项一起使用
您可以在 SAS 中使用PROC FREQ和ORDER=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 ;
请注意,类别当前按字母顺序排序。
要按频率对类别进行排序,我们可以使用以下语法:
/*create frequency table for Race variable, sorted by frequency*/
proc freq data =sashelp.BirthWgt order =freq;
Race tables ;
run ;
请注意,类别现在根据频率从最高到最低进行排序。
不幸的是,没有内置选项可以根据频率从最低到最高对类别进行排序。
但是,您可以将以下解决方法与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 中执行其他常见任务:
SAS:如何将 PROC FREQ 与 WHERE 语句一起使用
SAS:如何按组使用 PROC FREQ
SAS:如何使用 PROC RANK