1

質問を考えています: informat を使用して新しい変数を作成する方法。like : 次のような情報があります。

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 に入れる方法はありますか? ありがとう。

4

1 に答える 1

3

PROC Format ステートメントを変更し、入力形式ではなく形式を作成する必要があります。

proc format ;
value  agegrpcd   
           0-17 = '<18'
           18-29 = '18 - 29'
           30-39 = '30 - 39'
           40-49 = '40 - 49'
           50-65 = '50 - 65'
           66-high = '> 65'
           . = 'Missing' ;
run;

その後、PUT()関数を使用して数値を文字列に変換します。

data age;
set age;
agegroup=put( age, agegrpcd8.);
run;
于 2016-01-04T14:35:22.537 に答える