Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | "Nick Cox" <n.j.cox@durham.ac.uk> |
To | <statalist@hsphsun2.harvard.edu> |
Subject | st: RE: AW: RE: RE: reshape command ---listing all the variables changing over time? |
Date | Fri, 14 May 2010 12:14:42 +0100 |
Good point. I was replying directly to Amanda. But in your example and hers, I expected the stubs to be -x-. Bu in fact they are not. It's interesting that -reshape- in parsing a list of stubs will expand a varlist. I can't see where that's promised or implied. I certainly hadn't appreciated it before. Nick n.j.cox@durham.ac.uk Martin Weiss " In addition, your -reshape- example is puzzling." Actually, this was the _one_ aspect that I did not find strange about this post. Which aspect of thie following example do you find puzzling? ************* clear* set obs 100 gen byte id=_n expand 3 bys id: gen byte j=_n foreach var of newlist x1-x5{ //time varying vars gen `var'=rnormal() } foreach var of newlist y1-y5{ //constant vars gen `var'=5 } reshape wide x1-x5, i(id) j(j) ************* HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Nick Cox Gesendet: Freitag, 14. Mai 2010 12:57 An: statalist@hsphsun2.harvard.edu Betreff: st: RE: RE: reshape command ---listing all the variables changing over time? In addition, your -reshape- example is puzzling. -reshape- expects stubs, not variable names. Nick n.j.cox@durham.ac.uk Nick Cox In addition to other replies findname, all(@ == @[1]) finds all variables which are constant; adding its -not- option finds the complement. You can specify a varlist too to separate constant and changing variables. The syntax catches numeric and string variables alike. -findname- is a user-written program from SSC. Amanda Fu I was wondering if anyone could help me with a problem I met when using --reshape--command. When I tried to reshape a data set from long version to wide version, I find I need to list all the variables that are not constant in the --reshape--command. Suppose the data set has 1500 variables changing over time and 100 constant variables. ------------------------------------------------------------ . reshape wide x1-x1500, i(id) j(wave) ------------------------------------------------------------ If I miss any of the variables changing over time, the reshape command will give error message such as "variable XXXX not constant " and will stop working. But it is so frustrating to separate the constant variables and not-constant variables and list all of the latter ones in the reshape command. What I used to do is just to drop all the unnecessary variables from the data set before reshape to reduce the work load here. May I know if there is any more efficient way to deal with this problem? * * 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/