SAS 9.3
Is there a way to subset data where you select variables to include that have a certain number of letters occurring in them in a particular order?
For instance, I want to select, out of a long list of variables the ones ending in 'RR'
s1_dg_tif_FAD | s1_dg_tif_NAD | s1_dg_tif_RR |
---|
First us the metadata in dictionary.columns to identify the variables of interest, and save them as a space-separated list in a macrovar named VARLIST:
proc sql noprint;
select distinct name into :varlist separated by ' '
from dictionary.columns
where libname='WORK'and memname='HAVE'
and name like "_RR";
quit;
%put &=varlist;
Then use that macrovar for your objective:
data want;
set have (keep=&varlist);
run;
Will give it a shot thanks
to match names ending in "_RR", use the condition
trim(name) like "%^_RR" escape "^"
or the condition
prxmatch("/_RR$/i", trim(name))
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.