BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Mirisage
Obsidian | Level 7

Hi Community,

I have this data set. I havve categorised the "inocome" variable and got the freq distribution.

It gives the last output table shown at the bottom.

Q:

I need to get the freq band for zeros seperately. At present

"Income_Range" column of output table (see the bottom) categorises "zero" within

" -7 to 0" income band. But we like to impose a "0" income band separately.

Could anyone help me for coding. Thanks Mirisage

Data have;

input income;

cards;

0

15

.

392

219

95

208

-10

12

41

22

65

372

360

0

0

0

393

190

.

0

0

0

168

93

-8

0

14

43

138

52

125

0

-9

45

;

run;

data want;

length Income_Range $20;

set have;

if Income = . then Income_Range='Missing';

else if Income   <=-9   then Income_Range = '<=-9';

else if Income   <=-8   then Income_Range = '-8 to -9';

else if Income   <=-1   then Income_Range = '-1 to -8';

else if Income   <=0  then Income_Range ='-7 to 0';

else if Income   <=41 then  Income_Range ='1-41';

else if Income   <=392 then  Income_Range ='42-392';

else Income_Range = '>392';

run;

proc freq data=want;

tables Income_Range;

run;

                

Income_Range

Frequency

Percent

Cumulative

Cumulative

Frequency

Percent

-7 to 0

9

  1. 25.71

9

  1. 25.71

-8 to -9

1

  1. 2.86

10

  1. 28.57

1-41

5

  1. 14.29

15

  1. 42.86

42-392

15

  1. 42.86

30

  1. 85.71

<=-9

2

  1. 5.71

32

  1. 91.43

>392

1

  1. 2.86

33

  1. 94.29

Missing

2

  1. 5.71

35

  1. 100.00

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

If I understand what you want change

else if income <= 0 <etc>.

to

else if income < 0 <etc> ;

else if income = 0 then Income_range = '0';

View solution in original post

2 REPLIES 2
ballardw
Super User

If I understand what you want change

else if income <= 0 <etc>.

to

else if income < 0 <etc> ;

else if income = 0 then Income_range = '0';

GeoffreyBrent
Calcite | Level 5

As an aside: if you're doing a lot of this categorisation, I recommend learning a bit of PROC FORMAT. It lets you define a coding scheme with fewer keystrokes, and makes it easier to reuse that scheme without cut-and-pasting large wodges of code.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 824 views
  • 3 likes
  • 3 in conversation