我有一个proc glm SAS代码,可以删除大约260个观察结果,这很好。但是,我想知道它对某个变量的每个级别使用了多少次观察。
如何获得一些观察表,但是按变量而不是整体列出?
答案 0 :(得分:1)
由于您要排除具有一个缺失值的观察值,只需将结果从模型(proc glm)外部获取到一个简单的数据集中。
data want;
length misfl $1;
set have;
array mvars[*] var1 var2 var3;
do i=1 to dim(mvars);
if mvars[i]=. and misfl='' then misfl='Y';
end;
drop i;
run;
proc freq data=want noprint;
by byvar;
table misfl / out=frwant;
run;
如果您想在模型规范中获得此结果,则有效的替代方法如下。 由于排除的观测结果,SAS不会计算残差(观测结果在第一步被删除,它们不包含在估算中),您可以输出残差数据集,在模型规范中添加声明
output out=want00 r=resid;
然后你将使用一个简单的proc频率搜索缺失值(观察被排除 - >估计未完成 - >残余未计算),就像我在前面的代码块中所做的那样。