Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: long to wide conversion
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: long to wide conversion
Date
Thu, 7 Oct 2010 12:12:58 +0100
To -reshape- this to wide, you need to create an extra identifier:
bysort id (collect_date) : gen order_no = _n
Then
reshape wide collect_date order_type drug_code drug_result, i(id) j(order_no)
That said, this strikes me as a bad idea for most Stata purposes. Some things are easier with a wide structure but most things are easier otherwise.
There is much more discussion in
SJ-9-1 pr0046 . . . . . . . . . . . . . . . . . . . Speaking Stata: Rowwise
(help rowsort, rowranks if installed) . . . . . . . . . . . N. J. Cox
Q1/09 SJ 9(1):137--157
shows how to exploit functions, egen functions, and Mata
for working rowwise; rowsort and rowranks are introduced
Nick
[email protected]
King, Carina
I have a data set in long form and i want to convert it to wide. I have tried the 'reshape' command (using various combinations of variables) but it won't work. The problem is, there aren't any unique j values for the i's.
The variables I want to be sorted on are the id, collect_date and order_type. The for it to read across for drug_code and drug_result (They are all string variables). Below as an example of how my data is set up.
Id collect_date order_type drug_code drug_result
34 03aug2010 CFS Amp SS
34 03aug2010 CFS Oxy 0.1-SS
34 10aug2010 CFS Methc R
57 05mar2008 Urine Amox R
57 05mar2008 Urine Amik 0.001-SS-HIDE
87 07sep2009 Blood Oxy HIDE
62 12oct2007 Urine Vanc 0.063-SS
62 12oct2007 Urine Methc 0.063-SS
62 12oct2007 Urine Vanc R-HIDE
62 12oct2007 Blood Amp SS
*
* 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/