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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.