我在SAS中有一张表,有近5000个变量。
该表看起来像这样但有600个额外的观察结果。
date var1 var2 var3 var4
1955M1 1 . 2 .
1955M2 1 . 2 5
1955M3 1 2 2 .
1955M4 1 . 2 2
1955M5 1 5 2 2
1955M6 1 . 2 .
1955M7 1 2 2 .
1955M8 1 . 2 2
1955M10 1 . 2 2
1955M11 1 . 2 .
我试图弄明白,哪个变量就像var2,中间缺少值。
我正在考虑使用proc means
,但它正在显示摘要。 SQL
会是一样的。此外,我可以使用增量计数器。
我想我会使用proc means
来获取所有变量的摘要,但如果你有更好的建议,我全心全意。
PS:我的解决方案看起来像这样
proc means data=have noprint;
output out=want(drop=_:) n=;
run;
proc transpose data=want out=want (rename=(_name_=nomvar));
run;
proc sql;
select * from want where col1 lt 300;
答案 0 :(得分:0)
如果您正在尝试查找哪些变量缺少值,您当然可以使用PROC MEANS。
proc means noprint data=have;
*no var statement gets all numeric variables;
output out=varsmissing nmiss=;
run;
这样可以获得每个变量缺失值的数量,然后你可以用它做任意数量的事情。您可能希望以垂直格式使用它,在这种情况下,您可以使用ODS OUTPUT。
ods output summary=want; *might want to filter, such as (where=(nmiss>0));
ods listing close; *or whatever your printed output destination is;
proc means data=have nmiss stackodsoutput; *the last is only 9.3+ but makes nicer looking output;
run;
ods output close;
这为您提供了一个可能更有用的垂直数据集。