DATA Step, Macro, Functions and more

Values of a numeric variable are not recognised by SAS

Reply
Occasional Contributor
Posts: 8

Values of a numeric variable are not recognised by SAS

Hi there,

 

Below is my program:

data hosp_proc12a;

merge hosp12 (in=a) procd;

by record_id;

if a;

if procedure_no=. then procedure_no=0;

else if 5 <= procudure_no <=9 then procudure_no =5;

else if procudure_no >=10 then procudure_no=10;

 

keep record_id indig procedure_no age_grp;

run ;

 

For missing value, I can get a 0. but for other values, there is no change at all. I still have values like 8, 11, 13, 18 in there.

I tried to to define a new variable:

data hosp_proc12a;

merge hosp12 (in=a) procd;

by record_id;

if a;

if procedure_no=. then procd_no=0;

else if 1 <= procudure_no <=4 then procd_no =procudure_no ;

else if 5 <= procudure_no <=9 then procd_no =5;

else if procudure_no >=10 then procud_no=10;

 

keep record_id indig procedure_no age_grp;

run ;

 

But this time I can only get procd_no=0 when procedure_no is missing and procd_no is missing when procedure_no take other values.

 

Why this can happen? WHat I need to do?

 

Qinghe 

Super Contributor
Posts: 490

Re: Values of a numeric variable are not recognised by SAS

[ Edited ]

It is just typo in your code decide is it "procedure_no" or "procudure_no"?

let them all be the same then you will not get the same issue

Trusted Advisor
Posts: 1,228

Re: Values of a numeric variable are not recognised by SAS

Replace procudure_no with procedure_no. Seems like a spelling mistake. 

 

 

data hosp_proc12a;

merge hosp12 (in=a) procd;

by record_id;

if a;

if procedure_no=. then procedure_no=0;

else if 5 <= procudure_no <=9 then procudure_no =5;

else if procudure_no >=10 then procudure_no=10;

 

keep record_id indig procedure_no age_grp;

run ;

Ask a Question
Discussion stats
  • 2 replies
  • 184 views
  • 0 likes
  • 3 in conversation