Sas:如何在过程摘要中使用 nway


您可以使用 SAS 中PROC SUMMARY中的NWAY语句仅计算组级别的汇总统计信息,而不是计算整个数据集的汇总统计信息。

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

示例:如何在 PROC Summary 中使用 NWAY

在此示例中,我们将使用名为Fish的 SAS 内置数据集,其中包含在芬兰湖泊中捕获的 159 种不同鱼类的各种测量结果。

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

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

run ;

我们可以使用以下代码和PROC SUMMARY来计算按Species变量分组的Weight变量的描述性统计量:

 /*calculate descriptive statistics for Weight, grouped by Species*/
proc summary data =sashelp.Fish;
    var Weight ;
    class Species;  
    output out =summaryWeight;
run ;

/*print output dataset*/
proc print data =summaryWeight; 

注意:输出中总共有 40 行,但我们只截取了前 20 行的屏幕截图。

以下是如何解释输出表:

  • _TYPE_ :此列指示数据集中的每一行是否用于计算描述性统计数据。 0 = 每行都已被使用。
  • _FREQ_ :用于计算每个描述性统计量的行数。
  • _STAT_ :描述性统计数据的名称。
  • 权重:相应描述性统计量的数值。

前五行显示数据集的摘要统计信息。

例如:

  • 观察总数为158
  • 最小权重值为0
  • 最大权重值为1,650
  • 平均体重值为398.70
  • 权重值的标准差为359.09

接下来的五行仅显示数据集中 Species 等于Bream的行的这些汇总统计信息。

接下来的五行仅显示数据集中 Species 等于Parkki的行的这些汇总统计信息。

等等。

如果我们在PROC SUMMARY中使用NWAY语句,我们指定只显示输出的_TYPE_列中具有最高值的行。

这意味着仅显示_TYPE_列中值为1的行。换句话说,显示数据集摘要统计信息的前五行将不再显示。

下面的代码展示了如何在实践中使用NWAY语句:

 /*calculate descriptive statistics for Weight, grouped by Species*/
proc summary data =sashelp.Fish nway ;
    var Weight ;
    class Species;  
    output out =summaryWeight;
run ;

/*print output dataset*/
proc print data =summaryWeight; 

请注意,不再显示数据集的摘要统计信息。

仅显示单个物种的汇总统计数据。

其他资源

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

如何在 SAS 中使用 Proc Append
如何在 SAS 中使用 Proc Tabulate
如何在SAS中计算相关性
如何在SAS中创建频率表

添加评论

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