id drug
1 a
1 a
1 a
1 b
1 c
1 c
2 a
2 b
2 b
2 b
2 c
2 c
I have the following data. I want to create an output that provide me with the total number of id who have 2 or more of a specific drug. For example for id1: count the id one for a, none for b, and one for c
here is the output I am looking for
drug total ids
a 1
b 1
c 2
Post test data in the form of a datastep!
Just a rough guess:
proc sql; create table WANT as select ID, DRUG count(*) as RES from HAVE group by ID,DRUG having RES >= 2; quit;
If you know how to read PROC FREQ output, two PROC FREQs should do the job nicely.
proc freq data=have;
tables drug * id / noprint out=counts;
run;
proc freq data=counts;
tables drug;
where count > 1;
run;
The output data set from the first PROC FREQ counts the number of observations for each DRUG / ID combination.
The report from the second PROC FREQ will give you a list of the drugs, and the FREQUENCY column is the number of IDs.
Thank you all!
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.