Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AW: st: Panelvar


From   Tobias Friedli <tobias.friedli@access.uzh.ch>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   Re: AW: st: Panelvar
Date   Fri, 6 Aug 2010 10:23:40 +0200

Thank you both very much for the fast response. I will try it and report back.

Regards
Toby



Am 06.08.2010 um 10:21 schrieb "Martin Weiss" <martin.weiss1@gmx.de>:

> 
> <> 
> 
> 
> I think -encode- is all Toby needs:
> 
> 
> *************
> clear*
> 
> inp str11 brand int year
> firstbrand 1990
> firstbrand 1991
> firstbrand 1992
> secondbrand 1990
> secondbrand 1991
> secondbrand 1992
> end
> 
> list, noo
> 
> //does not work
> cap noi xtset brand year
> 
> //does work...
> encode brand, gen(numericbrand)
> xtset numericbrand year
> *************
> 
> What is the rest of your code meant to do, Natalie?
> 
> 
> HTH
> Martin
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Natalie Trapp
> Gesendet: Freitag, 6. August 2010 10:12
> An: statalist@hsphsun2.harvard.edu
> Betreff: Re: st: Panelvar
> 
> On 8/6/2010 10:00 AM, Hobst wrote:
>> Hello
>> 
>>  I have a panaldata set. I want to use the brandnames as the panel ID
>> variable, but obviously Stata doesnt accpet a string variable as the panel
>> ID var. How can i create a variable that defines a unique numbre for every
>> brand name so i can use it as the panel ID var for my paneldata?
>> 
>> Thanks a lot for your help.
>> 
>> Regards
>> Toby
>> 
> Hi Toby,
> 
> I would first encode the string variable:
> 
> *encode varname, generate(newvarname)
> 
> then I would use "forvalues"
> 
> *sort  newvarname
> *gen individual = .
> *gen newvarname_lag = newvarname[_n-1]
> *local number = 1
> *replace individual = `number'  in 1
> *local anzahl = _N
> *forvalues i = 2/`anzahl' {
> *replace individual = `number'  + 1 in `i'
> *replace individual = `number'  if newvarname== newvarname_lag  in `i'
> *local number = individual[`i']
> *}
> *drop  newvarname_lag
> 
> I am sorry, there is most probably a much more simple way to do it, but 
> I wrote this when I had to identify individuals over more than one 
> variable. I hope this helps you.
> 
> regards,
> natalie
> 
> -- 
> Natalie Trapp
> 
> Research Unit Sustainability and Global Change
> Centre for Marine and Atmospheric Sciences
> Hamburg University
> Bundesstraße 55
> D-20146 Hamburg
> 
> PhD student at the International Max Planck
> Research School on Earth System Modeling
> 
> 
> 
> *
> *   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/
> 
> 
> *
> *   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/

*
*   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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index