So this is what I have right now
proc format;
value namefmt 1="Experiment" 2="Control";
run;
data have;
input name count;
datalines;
1 16
2 8
;
run;
data have;
set have;
format name namefmt.;
run;
data want;
set have;
wantvar=name||" (N="||count||")";
run;
So in my want database, my wantvar is showing up as "1 (N= 16)", where I want it to actually show up as "Experiment (N=16)".
How can I get it to show the formatted value and not the actual value without creating a new variable?
To remove the space before the number on way:
wantvar=put(name,namefmt.)||" (N="||strip(count)||")";
data want;
set have;
wantvar=put(name,namefmt.)||" (N="||count||")";
run;
proc format;
value namefmt 1="Experiment" 2="Control";
run;
data have;
input name count;
want=catx(' ', put(name, namefmt.), cats('(N=', count, ')'));
datalines;
1 16
2 8
;
proc print;
run;
To remove the space before the number on way:
wantvar=put(name,namefmt.)||" (N="||strip(count)||")";
Try: Wantvar=Catt(Put(Name,namefmt.),' N=(',Count,')'); * I guess the others were much quicker though ..;
Tpham, you will want to use a put function:
proc format;
value $namefmt 1="Experiment" 2="Control";
run;
data have;
Input name $ count;
datalines;
1 16
2 8
;
run;
data want;
format name $ namefmt.;
set have;
wantvar= catx('',put(name,namefmt.),'(N=',count,')');
run;
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 save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.