计算匹配的字符值

时间:2018-03-21 20:03:44

标签: sas

我是SAS的新手,我有一个关于计算列中匹配值数量的基本问题。
例如,如果我有一个名为hair_color的变量,并且不同的值是" brown"," black"," blonde"和" red&# 34; - 我希望能够制作一张桌子,显示我的数据库有45个棕色头发,43个黑头发,23个金发等。
我写过:

proc freq data=fake_dataset;
tables hair_color; 
where hair_color="brown" "black" "blonde" "red";
run;

只有在'其中'中有一个值时,此代码才会运行。声明,例如,只有" brown"。如何为所有四种头发颜色创建一个计数表?

1 个答案:

答案 0 :(得分:0)

Proc FREQ会为hair_color的每个不同值创建一个bin。如果您列出的颜色多于四种,但只想要这四种颜色,那么您需要在IN子句中使用where运算符

proc freq data=fake_dataset;
  tables hair_color; 
  where hair_color in ("brown", "black", "blonde", "red");
run;

分隔IN子句中值列表的逗号是可选的。