我的调查问卷收回来了。有一个问题的答案要么选1,要么选2,或3,或4都可以。
但是还是有些人不回答。我想用1,2,3,4 随机把缺失值替代一下,但不知道程序 怎么写。
如果只用某一个数字来替代,我还可以,但4个数字随机,我就不会了。
我用网上找的试了一下,发现下面这段语句运行后,结果是“3”替代了全部缺失值,导致答案“3”的频率增加了很多,其它答案1,2,4, 的回答频率都没有变。
data freq_2;
set freq_1;
retain z1 0;
retain z2 0;
retain z3 0;
retain z3 0;
if 变量=1 then z1+1;
if 变量=2 then z2+1;
if 变量=3 then z3+1;
if 变量=4 then z4+1;
run;
proc sql;
select max(z1)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t1 from freq_2;
select max(z2)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t2 from freq_2;
select max(z3)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t3 from freq_2;
select max(z4)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t4 from freq_2;
quit;
%put &t1 &t2 &t3 &t4;
data freq_2;
set freq_2;
if 变量=. then 变量=rantbl(1234,&t1,&t2,&t3,&t4);
run;