Help using Base SAS procedures

Merging wide and long datasets

Reply
New Contributor
Posts: 3

Merging wide and long datasets

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

Super User
Posts: 23,740

Re: Merging wide and long datasets


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. 

New Contributor
Posts: 3

Re: Merging wide and long datasets

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!

 

 

 

Trusted Advisor
Posts: 1,339

Re: Merging wide and long datasets

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.

Ask a Question
Discussion stats
  • 3 replies
  • 221 views
  • 0 likes
  • 3 in conversation