Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Reshape with prefix using a varlist |
Date | Tue, 15 Mar 2011 01:35:32 +0000 |
I think I would make this even -long-er if it were mine. reshape long country , i(year inst LEVEL) Then whatever reductions you want would be -egen- or -collapse- or -contract-. Why do I suggest this? You are already imagining that you need to combine a loop over variables with totals over observations. Think how much more of that you would need with yet more variables. Nick On Tue, Mar 15, 2011 at 1:21 AM, Richard Murphy <r1ch4rd.murphy@gmail.com> wrote: > The label "country1-country244" represents the remaining 244 > variables, containing the total amount of students from that country > at that level in a uni-year. > Are you suggesting something along the lines of > foreach x in varlist eu uk { > > > On 14 March 2011 18:02, Nick Cox <njcoxstata@gmail.com> wrote: >> Thanks. That clarifies some things but not others. In your example, >> you have 7 headings but 6 columns of data. What is >> "country1-country244"? A variable label? >> >> The totals for groups are easily computable using -egen, total()- with >> your present structure. >> >> On Tue, Mar 15, 2011 at 12:45 AM, Richard Murphy >> <r1ch4rd.murphy@gmail.com> wrote: >>> Hi Nick , >>> I appreciate that it looks foolish making a wide dataset even wider, >>> but I don't think its that bad in this case. >>> I have university by degree level by year data. For each of these i >>> have the number of students coming from 244 different countries, along >>> with total EU and total OS. >>> >>> year instit LEVEL os uk eu country1-country244 >>> 1994 1 ug 12 146 0 >>> 1994 1 pgr 3 335 3 >>> 1994 1 pgt 1 101 0 >>> 1995 1 ug 7 119 0 >>> 1995 1 pgr 4 300 9 >>> 1995 1 pgt 6 59 17 >>> >>> There are 3 levels of degree, which i would like to make wide. So that >>> I would have a panel dataset for universities over time. The reason >>> why i want to do this is that I want to calculate the cross >>> subsidisation that occurs between the degree levels, and for this I >>> need the totals for each within an observation. >>> >>> I need to do this for all the countries as i'm using a Card >>> Shift-Share approach as an instrument for changes in overseas numbers, >>> which i would like to define in various different ways throughout the >>> analysis (EU, NonEU, Asia, ect). >>> >>> And i would like the prefix, so that the variable names fit into my >>> pre existing do files for the analysis. >>> >>> Best regards >>> Richard >>> >>> >>> On 14 March 2011 17:24, Nick Cox <njcoxstata@gmail.com> wrote: >>>> Please tell us directly more about your dataset and why you think >>>> -reshape wide- is a good idea. From what you say it just make most >>>> analyses more difficult. Also, how many variables will you end up >>>> with? >>>> >>>> Nick >>>> >>>> On Tue, Mar 15, 2011 at 12:13 AM, Richard Murphy >>>> <r1ch4rd.murphy@gmail.com> wrote: >>>>> Hi all, >>>>> I want to reshape long data to wide, putting the 'j' string variable >>>>> at the begging of the stub. >>>>> This would be fine if I have a limited number of variables as i can >>>>> just use the @ function. >>>>> reshape wide @var1 @var2 @var3 @var4, i(instit year) j(LEVEL) string >>>>> >>>>> But this does not work if i use the variable list functionality of >>>>> reshape. I would like to know if their is an easier way of doing this, >>>>> rather than typing in all 244 variables preceded by @. >>>>> reshape wide @var1-@var244, i(instit year) j(LEVEL) string >>>>> * * 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/