有个data a 如下是部分例子, var有28个distinct值(char),每个值有对应的不同的 ind(indicator)和不同的val(value),现在我想把var用 val 替换掉,用proc format的方式替换(之所以一定要用 proc format 是因为将来需要时使用会很简单). 可能要用到macro.
data a;
input var $ ind $ val;
cards;
V1 1 10
V1 2 15
V1 3 20
V1 4 25
V2 T 1
V2 M 2
V3 0 30
V3 1 31
V3 2 32
. . .
V28 C 1
V28 N 5
;
run;
最后的结果如下, 如果把新的var变成numeric就更好了。
data new;
var ($) ind $ val;
10 1 10
15 2 15
20 3 20
25 4 25
1 T 1
2 M 2
30 0 30
31 1 31
32 2 32
. . .
1 C 1
5 N 5
;
run;
不是,我希望用proc format + macro 来实现。之所以要用proc format是因为将来可以很简单的运用。比如说有个原始数据的变量里面含有部分var里的值。
e.g.
data two;
input v1 $ v2 $......; /*v1,v2,...are the values of var in data a*/
cards;
2 T ....
1 M ....
....
;
run;