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;
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 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.