SAS - 从连续变量重新格式化为分类变量

时间:2017-01-12 20:54:32

标签: sas

我已经谷歌搜索了几个小时(打开和关闭)以找到这个问题的答案。

我有一个数字(分类)字段,我认为SAS自动假设是连续的。它是一个客户编号,当我需要将它作为一个单独的元素时,SAS会自动将其合并到图表中。有一些SAS经验的人可以向我解释如何将连续数字重新格式化为分类吗?

我发布任何代码都没有任何意义,因为它是一个非常通用的问题。我的数据看起来像这样,它是我尝试使用格式函数更改为分类的custno字段。

Obs custno gender age postcode Region cnt 
1 1 Male 48 18 S 50 
2 2 Female 56 20 N 38 
3 3 Female 51 25 N 50 
4 4 Male 27 9 W 16 

任何帮助都将不胜感激。

感谢, 牛肉

data customers_full;
merge customers_pc (in=cust_pc) orders_flat (in=ord);
by custno;
if cust_pc;
drop date _FREQ_ _TYPE_;
format gender gender_fmt.;
custno_char = put(custno, best32. -1);
/*Region = tranwrd(Region,"N","North"); */
/*if Region="N" then Region="North";*/
run;

1 个答案:

答案 0 :(得分:0)

将其更改为字符变量而不是数字变量,您需要创建一个新变量来执行此操作。

custno_char = put(custno, best32. -l);

然后在程序中使用此变量。

编辑: -l用于左对齐数据,如果要将其右对齐,请将其更改为-r。 您也可以完全省略它,因为它是一个可选参数。

custno_char = put(custno, best32. -r);