Hello,
I am trying create a variable that would list names for my interaction variable. Specifically, I have a list of names of my IVs, and I want to create a list of names of my IVs by Gender.
The table I have with IVs' names looks like this:
IV_name
Race
Age
SES
Education
The table I want should look like this:
IV_name Interaction_name
Race Race_BY_Gender
Age Age_BY_Gender
SES SES_BY_Gender
Education Education_BY_Gender
Here is what I tried but it doesn't work...
data set2;
set set1;
call execute('Interaction_name = '||strip(IV_name)||'_BY_Gender;');
run;
What am I doing wrong?
Thank you in advance.
Just use straight concatenation. No need for CALL EXECUTE.
data set1;
length IV_name $10;
input IV_name $;
datalines;
Race
Age
SES
Education
;
data set2;
set set1;
Interaction_name = catt(IV_name, '_BY_Gender');
run;
proc print data=set2 ;run;
Just use straight concatenation. No need for CALL EXECUTE.
data set1;
length IV_name $10;
input IV_name $;
datalines;
Race
Age
SES
Education
;
data set2;
set set1;
Interaction_name = catt(IV_name, '_BY_Gender');
run;
proc print data=set2 ;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.