Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Home
- /
- Programming
- /
- SAS Procedures
- /
- Re: create cross table containing the row which are all zero

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

🔒 This topic is **solved** and **locked**.
Need further help from the community? Please
sign in and ask a **new** question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 08-14-2015 06:35 PM
(1091 views)

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.

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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;

3 REPLIES 3

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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;

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

very useful. thx.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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

**Don't miss out on SAS Innovate - Register now for the FREE Livestream!**

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

What is Bayesian Analysis?

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.