I've the below data. If an item from the below dataset, is more thatn 10% of the whole items, I want it separate bucket. Thanks.
ITEM |
apples |
apples |
tomotos |
tomotos |
peppers |
peppers |
xyz |
abc |
xyz |
abc |
abc |
xyz |
abc |
xyz |
abc |
tuv |
tuv |
tuv |
tuv |
abc |
xyz |
tuv |
PROC FREQ will do what you need. It usually prints frequencies and percents, but you can also ask for an output dataset, which can then be filtered through a "where=(percent>=10)" condition:
proc freq data=have noprint;
tables item / out=want (where=(precent>=10));
run;
Your question illustrates to me why we constantly ask folks to show not only the input data, but show what the output should look like.
It's apparent that you want to do something for each values that accounts for more than 10% of the total. That part's quite easy.
But what do you mean by "separate bucket"? A new data set? A "bucket" for each value passing the criterion? Or a single "bucket for all of those values?
The less mind reading required, the better will be the answers.
Thanks for the suggestion. Wish I would have more illustrated.
Let's say if I have to have generate below output dataset. I don't want items which are less than 10%. Thank you.
Item | Percentage |
abc | 13% |
tuv | 11% |
apples | 13% |
PROC FREQ will do what you need. It usually prints frequencies and percents, but you can also ask for an output dataset, which can then be filtered through a "where=(percent>=10)" condition:
proc freq data=have noprint;
tables item / out=want (where=(precent>=10));
run;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.