*** if VAR is missing, sas will drop that records when calculating mean. To include that records, we can impute that missing var by 0 ***;
data test;
input a $ 1-3 b 4-5 ;
cards;
a 1
a
a 3
b
b 2
b 1
c 1
c
1
4
;
run;
proc print data=test noobs;
title "print of original data";
run;
proc summary data=test nway missing;
var b;
class a;
output out=sum1(drop=_type_ _freq_) mean=;
run;
proc print data=sum1;
title "Summary with MISSING opinion";
run;
proc summary data=test nway;
var b;
class a;
output out=sum2(drop=_type_ _freq_) mean=;
run;
proc print data=sum2;
title "Summary without MISSING opinion";
run;
proc means data=test nway missing;
var b;
class a;
output out=means1(drop=_type_ _freq_) mean=;
run;
proc print data=means1;
title "Means with MISSING opinion";
run;
proc summary data=test nway;
var b;
class a;
output out=means2(drop=_type_ _freq_) mean=;
run;
proc print data=means2;
title "Means without MISSING opinion";
run;
^LSummary with MISSING opinion
Obs a b
1 2.5
2 a 2.0
3 b 1.5
4 c 1.0
^LSummary without MISSING opinion
Obs a b
1 a 2.0
2 b 1.5
3 c 1.0
^LMeans with MISSING opinion
Obs a b
1 2.5
2 a 2.0
3 b 1.5
4 c 1.0
^LMeans without MISSING opinion
Obs a b
1 a 2.0
2 b 1.5
3 c 1.0
No comments:
Post a Comment