如何在 sas 中创建频率表(附示例)


您可以使用 SAS 中的proc freq为数据集中的一个或多个变量快速创建频率表。

以下示例展示了如何将此过程与名为BirthWgt的 SAS 内置数据集结合使用,该数据集包含 100,000 名最近分娩的母亲的各种特征。

我们可以使用proc print来显示该数据集的前 10 个观测值:

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

run ;

示例 1:变量的频率表

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

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

SAS中的频率表

输出表包含四列:

  • 频率:属于某一类别的观察总数。
  • 百分比:属于某一类别的观察总数的百分比。
  • 累积频率:截至当前行(包括当前行)已考虑的观测值总数。
  • 累积百分比:截至当前行(包括当前行)已考虑的总观测值的累积百分比。

例如,从输出表中我们可以看到:

  • 西班牙裔母亲总数为22,139 人
  • 西班牙裔母亲的总比例为22.14%
  • 亚裔、黑人或西班牙裔母亲总数为41,496 人
  • 亚裔、黑人或西班牙裔母亲的累计比例为41.50%

示例 2:变量的频率表(已排序)

默认情况下,频率表根据类别名称按字母顺序排序。但是,我们可以使用order函数按频率对类别进行排序:

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

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

示例 3:变量的频率表(包括缺失值)

默认情况下,缺失值不包含在频率表中。

但是,我们可以使用missing命令告诉SAS包含一行来计算缺失值的频率:

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

由于频率表中没有添加额外的行,这告诉我们原始数据集中没有种族缺失值。

示例 4:多个变量的频率表

要一次为多个变量创建频率表,我们可以简单地在tables参数中包含多个变量名称。

例如,我们可以使用以下代码创建 Race 和 AgeGroup 的频率表:

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

我们可以看到已经为两个变量创建了频率表。

添加评论

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