Hi,
I would like to write a macro to merge more than 2 data sets (100 datasets to be exact), keeping only log-likelihood values in one column. Rather than type the name of every data set I tried the following code:
%macro merge (n=100);
%Do i= 1 %TO &n;
%LET j=%EVAL(&i+1);
data LogLall;
set LogL&i LogL&j;
keep Log_Likelihood;
run;
%END;
%MEND;
%merge;
The issue is only the final two datasets' values get saved to the new dataset. I want the final dataset to look as follows, but with 100 observations.
Any ideas how to save more than 2 datasets to the same file?
Thanks!
Have you tried it without macros?
data LogLall;
set LogL1-LogL100;
keep Log_Likelihood;
run;
The only reason to add macro language would be to move the KEEP statement to the SET statement, along these lines:
set LogL1 (keep=Log_Likelihood) LogL2 (keep=Log_Likelihood) ... LogL100 (keep=Log_Likelihood);
Have you tried it without macros?
data LogLall;
set LogL1-LogL100;
keep Log_Likelihood;
run;
The only reason to add macro language would be to move the KEEP statement to the SET statement, along these lines:
set LogL1 (keep=Log_Likelihood) LogL2 (keep=Log_Likelihood) ... LogL100 (keep=Log_Likelihood);
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.