Sas:如何将 proc freq 与 where 语句一起使用
您可以使用以下基本语法在 SAS 的PROC FREQ中使用WHERE语句:
proc freq data =my_data; where var1 ='A'; tables var2; run ;
此特定语法为名为var2的变量创建频率表,但仅适用于var1等于“A”的行。
以下示例展示了如何在实践中使用此语法。
示例:在 SAS 中使用 Proc FREQ 和 WHERE 语句
假设我们在 SAS 中有以下数据集:
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;
/*view dataset*/
proc print data =my_data;
我们可以使用下面的PROC FREQ语句和WHERE语句来计算仅针对球队等于“A”的行的位置列中的值的频率:
/*calculate frequency of position where team is equal to 'A'*/
proc freq data =my_data;
where team='A';
position tables ;
run ;
输出仅显示 team 等于“A”的行的位置变量值的频率。
例如,我们可以看到:
- A 队的“前进”值出现两次。
- A 队的“Guard”值出现3次。
我们还可以使用OR和AND运算符在WHERE语句中指定多个条件。
例如,我们可以使用以下代码来计算位置列中球队等于“A”且位置等于“Guard”的值的频率:
/*calculate frequency of position where team is 'A' and position is 'Guard'*/ proc freq data =my_data; where team='A' and position='Guard'; position tables ; run ;
输出仅显示球队等于“A”且位置等于“Guard”的行的位置变量值的频率。
注意:您可以在此处找到完整的PROC FREQ文档。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: