如何在 sas 中创建数据透视表(附示例)


您可以使用 SAS 中的PROC TABULATE创建数据透视表来汇总数据集中的变量。

此过程使用以下基本语法:

 proc tabulate data =my_data;
    class var1;
    var var2 var3;
    table var1, var2 var3;
run ;

class语句指定要分组的变量, var语句指定要汇总的数值变量, table语句指定数据透视表的格式。

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

示例:使用 Proc Tabulate 在 SAS 中创建数据透视表

假设 SAS 中有以下数据集,其中包含有关各个杂货店的销售和退货数量的信息:

 /*create dataset*/
data my_data;
    input store $sales returns;
    datalines ;
At 10 2
At 7 0
At 7 1
At 8 1
At 6 0
B 10 2
B 14 5
B 13 4
B 9 0
B-52
C 12 1
C 10 1
C 10 3
C 12 4
C 9 1
;
run ;

/*view dataset*/
proc print data =my_data;

现在假设我们要创建一个数据透视表来汇总每个商店的销售额和退货总和。

我们可以使用以下语法来做到这一点:

 /*create pivot table to summarize sum of sales and returns by store*/
proc tabulate data =my_data;
    classstore ;
    var salesreturns;
    table store, sales returns;
run ; 

SAS 中的数据透视表

生成的数据透视表显示每家商店的销售额和退货总额。

例如,我们可以看到:

  • 商店 A 的销售额总计为38
  • 商店 A 的回报总和为4
  • 商店 B 的销售额总计为51
  • 商店 B 的回报总和是13

等等。

默认情况下,SAS 计算数据透视表中每个数值变量的总和。

但是,您可以在每个数值变量后键入*Average来计算平均值:

 /*create pivot table to summarize mean of sales and returns by store*/
proc tabulate data =my_data;
    classstore ;
    var salesreturns;
    table store, sales*Mean returns*Mean;
run ; 

生成的数据透视表显示每个商店的平均销售额和退货率。

例如,我们可以看到:

  • A 商店的平均销售额为7.6
  • 商店 A 的平均退货率为0.80
  • 商店 B 的平均销售额为10.2
  • 商店 B 的平均退货率为2.6

等等。

其他资源

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

如何在SAS中使用过程摘要
如何在SAS中计算相关性
如何在SAS中创建频率表

添加评论

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