Dear users,
I just started to use SAS and need some help for an urgent paper. My data set contains an alphanumeric variable where the first position is a character followed by a four digit number. I want to create a new variable which has the value one if the character plus the first three digits of the number match. F.e. the value of the variable M968 should be 1 if the observation contains "M968", so an obeservation with "M9680" would be one and "M9670" would be zero.
My following code only recognizes if the complete value matches:
data multimorbid;
set library.file;
M968 = 0;
if icd_hd = 'M968' then M968=1;
run;
I tried to use the where statement, because I can use the operator contains, but using the where statement creates only a subset of observations which contain the character strings, but I want that the new variable M968 is added to the complete data set multimorbid.
Best,
Dennis
Try using the operator =: which checks if the variable starts with M968
Or
You can use the substring function:
if substr(icd_hd, 1, 4)="M968" then M968=1;
data multimorbid;
set library.file;
M968 = 0;
if icd_hd =: 'M968' then M968=1;
run;
Try using the operator =: which checks if the variable starts with M968
Or
You can use the substring function:
if substr(icd_hd, 1, 4)="M968" then M968=1;
data multimorbid;
set library.file;
M968 = 0;
if icd_hd =: 'M968' then M968=1;
run;
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.