SAS使用Forrmat创建新变量

时间:2016-01-04 04:16:42

标签: sas informat

我在想一个问题:如何使用informat创建一个新变量。 像:我们有这样的信息:

proc format ;
 invalue  $agegrpcd   
               1 = '<18'
               2 = '18 - 29'
               3 = '30 - 39'
               4 = '40 - 49'
               5 = '50 - 65'
               6 = '> 65'
               . = 'Missing' ;run;

和这样的数据集:

data age;
    input age 4. ;
    cards;
    22
    34
    13
    45
    64
    33
    ;run;

现在我想要一个像这样的数据集:

age  agegroup
15  <18
25   18 - 29
33   30 - 39
45   40 - 49
64   50 - 65
77   > 65

有没有办法通过使用我构建的信息将数字变量age置于字符变量agegroup中? 感谢。

1 个答案:

答案 0 :(得分:3)

您需要更改PROC格式声明并创建格式,而不是信息。

data age;
set age;
agegroup=put( age, agegrpcd8.);
run;

之后,使用PUT()函数将数字转换为字符串。

{{1}}