- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I have a mean, lower CI variable and upper CI variable. I would like the combine them into one variable. The issue is the CI variable has a long decimal trail. I would like to limit it to two decimals after using the Cat function. So here is my code currently:
data have;
input Mean : lowerCLmean : upperCLmean;
cards;
45 30.123456 50.789123
20 15.789123 30.123456
;
data want;
set have;
new=cat(mean,' (',lowerclmean,'-',upperclmean,')');
proc print;run;
Obs Mean lowerCLmean upperCLmean Really Want
2 | 20 | 15.7891 | 30.1235 | 20 (15.78-30.12) |
Thanks in advance!
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data want;
set have;
new=cat(mean,' (',put(lowerclmean,f5.2 -L),'-',put(upperclmean,F5.2 -L),')');
You can nest all sorts of functions inside the cat, cats, catt, catx etc. functions as long as the results are strings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data want;
set have;
new=cat(mean,' (',put(lowerclmean,f5.2 -L),'-',put(upperclmean,F5.2 -L),')');
You can nest all sorts of functions inside the cat, cats, catt, catx etc. functions as long as the results are strings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Ballard! Can you tell me what the "-L" does?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The -L left justifies the result. if your value were actually 9.33 without the -L there would be a leading space as the F5.2 format will display the result in 5 columns and right justified by default: " 9.33" . Since it appeared that you did not want the CI to look like ( 9.33-12.75) for example I used that option.
Character formats will default to left justification but if you want right justification when using Put with a character format you could use put(somevar,$charfmt. -R) which may appear better for some table row headers or graph axis values.