Hello,
I have a categorical variable, labelled 0-9. I need to delete certain values so I can run a CHISQ.
This is what I'm trying, but with no luck:
DATA mn.lahrt; *my dataset*
SET IHD_DX; *the variable name*
IF IHD_DX = 0 THEN delete;
IF IHD_DX = 8 and 9 Then delete;
RUN;
I need to keep categories 1-7 only (which are further split in only two categories).
Any suggestions?
Hi ,
Try this..Hope it helps
DATA mn.lahrt;
SET mn.lahrt;
IF IHD_DX in ('0','8','9') THEN delete;
RUN;
Thanks,
Shiva
Thank You for your help. Though that didn't really work for my data-set, so I just exported it to excel and made the needed changes.
Your language is very confused. Sounds to me like you have a variable named IHD_DX in a dataset named MN.LAHRT.
You would not normally want to overwrite your input dataset as in your example code. In fact to limit data you can just use a WHERE statement in your procedure calls.
proc freq data=mn.lahrt ;
where 1<= idh_dx <= 7 ;
tables idh_dx / chisq ;
run;
I am not sure what you mean by "labeled" values. Is it possible that the actual values in IDH_DX variable are something other than the values 0,1,....9 ? Do you have a format attached?
You can also use formats to temporarily regroup you data for a PROC FREQ call. For example if you want to regroup your values into two groups you might use something like:
proc format ;
value group 1-7 = 'VALID' other='INVALID';
run;
proc freq data=mn.lahrt;
format idh_dx group.;
tables idh_dx;
run;
Thank You for your help. Though that didn't really work for my data-set, so I just exported it to excel and made the needed changes.
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.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.