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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.