Hello,
I am trying to merge one wide and one long data set. Both datasets have information on the same participants which is identified by the variable ID.
Once I sort the datasets by ID, can I merge them from their original data formats? Or do I have to make both datasets into the same format (both long or both wide files) in order to merge them?
I greatly appreciate your help!
Best,
Joanna
@joannahh wrote:
Once I sort the datasets by ID, can I merge them from their original data formats? Or do I have to make both datasets into the same format (both long or both wide files) in order to merge them?
You can merge them without changing them to the same structure, as long as the output will be what you want. It's really dependent on what you want as output.
Thank you so much for your fast response!
So the following syntax is what I used and my output is in a long file (which is what I wanted):
"data merged; merge wide long(in = a) ; by ID; if a; run;"
I'm not sure if I am providing sufficient information for a response but I was wondering if getting a long-file output is what you would expect from the above syntax.
Thank you again for your help!
By "long", I presume you mean a dataset with possible repeats of the by variable ID. And by "wide" do you mean one observation per ID?
If so then your program will be a "LONG left join WIDE on long.id=wide.id" in proc sql syntax.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.