Please I need assistance:
I have
Data ABC;
X Y
2 a
1 a
4 b
3 b
;
I want maximum of X for each of Y (maximum based on criteria).
so output would be
NEW
X Y
2 a
4 b
Thanks in advance!
Try this:
DATA ABC;
x=2; y='a'; output;
x=1; y='a'; output;
x=4; y='b'; output;
x=3; y='b'; output;
RUN;
PROC SQL;
CREATE TABLE want AS
SELECT max(x) as max_x, y
FROM ABC
GROUP BY y;
QUIT;
Try this:
DATA ABC;
x=2; y='a'; output;
x=1; y='a'; output;
x=4; y='b'; output;
x=3; y='b'; output;
RUN;
PROC SQL;
CREATE TABLE want AS
SELECT max(x) as max_x, y
FROM ABC
GROUP BY y;
QUIT;
Thank you all! I just used the first solution given and it worked, I appreciate your help!
The simplest way is:
proc sql;
create table NEW as
select max(X) as X, Y
from ABC
group by Y;
quit;
If result not appearance is acceptable:
proc means data=have max; class y; var x; run;
I would recommend becoming familiar with the procs such as means as I can add large number of statistics such a min, median, mean, standard deviation, range, skewness, kurtosis, a number of percentiles and such by adding them to the list where MAX appears above.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.