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