according to the following code
Data t;
INPUT x y;
cards;
0 1
0 1
0 0
0 0
;
Proc freq data=t ;
Table x*y/nopercent norow;
Run;
then i will get a results
Table of x by y
x y
0 1
0 2 2
However, if i want to get the result containing the zero number of x of 1 although it is not appear in my data set like this
Table of x by y
x y
0 1
0 2 2
1 0 0
how can i do?
i try the order statement for proc freq, but i still cannot get the result i want.
proc freq can't do that. Try proc tabulate.
Data t;
INPUT x y;
cards;
0 1
0 1
0 0
0 0
;
run;
data classdata;
do x=0,1;
do y=0,1;
output;
end;
end;
run;
proc tabulate data=t classdata=classdata ;
class x y;
table x,y /misstext='0' ;
keylabel n=' ';
run;
proc freq can't do that. Try proc tabulate.
Data t;
INPUT x y;
cards;
0 1
0 1
0 0
0 0
;
run;
data classdata;
do x=0,1;
do y=0,1;
output;
end;
end;
run;
proc tabulate data=t classdata=classdata ;
class x y;
table x,y /misstext='0' ;
keylabel n=' ';
run;
very useful. thx.
Sorry. As the matter of fact , PROC FREQ can do that.
Data t;
INPUT x y;
cards;
0 1
0 1
0 0
0 0
;
run;
data temp;
do x=0,1;
do y=0,1;
output;
end;
end;
run;
data want;
set t(in=ina) temp;
w=ina;
run;
proc freq data=want;
table x*y /nocol norow nopercent;
weight w /zeros;
run;
Xia Keshan
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.