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

SAS-从连续变量到分类变量的重新格式化,sas,Sas,我已经用谷歌搜索了几个小时(断断续续)来寻找这个问题的答案 我有一个数字(分类)字段,我认为SAS自动假定它是连续的。这是一个客户编号,当我需要将其作为一个单独的元素时,SAS会自动将其放入图形中。有SAS经验的人能给我解释一下如何将连续数转换成分类数吗 我发布任何代码都没有意义,因为这是一个非常普通的问题。我的数据如下所示,我正试图使用format函数将custno字段更改为category Obs custno gender age postcode Region cnt 1 1 Male

我已经用谷歌搜索了几个小时(断断续续)来寻找这个问题的答案

我有一个数字(分类)字段,我认为SAS自动假定它是连续的。这是一个客户编号,当我需要将其作为一个单独的元素时,SAS会自动将其放入图形中。有SAS经验的人能给我解释一下如何将连续数转换成分类数吗

我发布任何代码都没有意义,因为这是一个非常普通的问题。我的数据如下所示,我正试图使用format函数将custno字段更改为category

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 
任何帮助都将不胜感激

谢谢, 牛肉


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

custno_char = put(custno, best32. -l);
然后在程序中使用此变量

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

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

虽然我发布了一个答案,但我很好奇这是怎么发生的,因为我一眼就看不出来。我刚刚尝试过使用它——将代码输入到我原来的帖子中。得到一个语法错误(这可能是很明显的,我刚刚拿起sas…)thx@ReezaIn PUT,最后一个参数是L(字母L)而不是1。这用于左对齐输出。现在我想起来了,应该是-r,表示正确的对齐。它也是可选的。
custno_char = put(custno, best32. -r);