我有一个data set 叫做missing, 里面每个id对应的变量v1 - v5 都有缺省值。其中id是a的只有v1,v2和v5有缺省值,id是b的只有v1和v3有缺省值,id是c的v2 - v5都是缺省值
data missing;
input id$ v1 v2 v3 v4 v5;
datalines;
a 1 . 1 3 1
a . 2 1 4 2
a . 4 5 2 8
a 1 5 2 3 .
b . 9 2 3 2
b 5 9 2 4 4
b . 3 . 5 3
c 2 . . . .
;
接下来我根据每个id都有一个data set是补全所有缺省值的。例如:
data complete_a;
input id$ v1 v2 v5;
datalines;
a 1 2 1
a 2 2 2
a 3 4 8
a 1 5 6
;
data complete_b;
input id$ v1 v3 ;
datalines;
b 1 2
b 5 2
b 3 4
;
data complete_c;
input id$ v2 v3 v4 v5;
datalines;
c 2 3 4 7
;
run;
最终我需要生成一个数据表格, 把所有的缺省值都补到原来的表格中去,如下
data complete;
input id$ v1 v2 v3 v4 v5;
datalines;
a 1 2 1 3 1
a 2 2 1 4 2
a 3 4 5 2 8
a 1 5 2 3 6
b 1 9 2 3 2
b 5 9 2 4 4
b 3 3 4 5 3
c 2 2 3 4 7
;
run;
实际问题中我的数据是有几千个id,每个id都有类似complete_a, complete_b, complete_c那样补全缺省值的表格。所以我想能否写成一个do 循环自动把补全缺省值的表格中的列替换原有的列。我觉得难点在于每个id缺省值出现的列都不一样。
请教高手!