I have data set:
PX BMI SMOKE
Patient_1 YES NO
Patient_1 NO YES
And I want:
PX BMI SMOKE
Patient_1 YES YES
Is there a way to make Patient_1 in just one row instead of having multiple rows?
Is it only Yes/No that you're comparing, or are there other variables that may have other ranges?
If it's Yes/No you can use SQL and MAX function. This will work because Yes is alphabetically after No. If you have other values you'll need a different approach.
proc sql;
create table want as
select px, max(bmi) as bmi, max(smoke) as smoke
from have
group by px;
quit;
@jcapua2 wrote:
I have data set:
PX BMI SMOKE
Patient_1 YES NO
Patient_1 NO YES
And I want:
PX BMI SMOKE
Patient_1 YES YES
Is there a way to make Patient_1 in just one row that having multiple rows?
Is it only Yes/No that you're comparing, or are there other variables that may have other ranges?
If it's Yes/No you can use SQL and MAX function. This will work because Yes is alphabetically after No. If you have other values you'll need a different approach.
proc sql;
create table want as
select px, max(bmi) as bmi, max(smoke) as smoke
from have
group by px;
quit;
@jcapua2 wrote:
I have data set:
PX BMI SMOKE
Patient_1 YES NO
Patient_1 NO YES
And I want:
PX BMI SMOKE
Patient_1 YES YES
Is there a way to make Patient_1 in just one row that having multiple rows?
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.