Just a tweak on this excellent advice: Numbering at the end of variable
names is not compulsory so far as -reshape- is concerned, just a good
idea in that later analyses are likely to be easier that way.
Incidentally, Stata's idea of format is indicated by considering
-format-. These problems are more widely regarded as problems of data
structure.
Nick
[email protected]
Matt Spittal
The command -reshape- is one way to tackle this problem. The trick that
often catches me out is the naming of the y variable -- it needs to have
a
number at the end to signify the wave (e.g. y1, y2, ..., yn).
Using your example:
clear
input patientid y_first y_second days_betw
299729 0 0 64
295861 0.17 0.08 63
292641 0.15 0.5 69
end
We then rename the y variable
rename y_first y1
rename y_second y2
And then use the -reshape- command
reshape long y, i(patientid) j(wave)
Note that you can convert a dataset from long format to wide format with
-reshape wide-. Finally, I noticed that you want the variable days_betw
to
be set to zero if this is the first measurement.
replace days_betw = 0 if wave == 1
See -help reshape- for more information on this command.
On 18/3/09 11:37 AM, "john metcalfe" <[email protected]> wrote:
> Dear Statalist,
> Forgive me if this is too elementary of a question, but I have a
> longitudinal data set in Format A below upon which I would like to
> perform linear mixed effects regression (y on days_b grouped by
> patientid). Is there an easy way to convert the data to Format B?
> Many thanks,
> John
>
> Format A: (current)
> patientid y_first y_second days_betw
> 299729 0 0 64
> 295861 0.17 0.08 63
> 292641 0.15 0.5 69
>
> Format B: (desired)
> patientid y days_betw
> 299729 0 0
> 299729 0 64
> 295861 0.17 0
> 295861 0.08 63
> 292641 0.15 0
> 292641 0.5 69
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/