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;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.