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中创建频率表