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]
Re: AW: st: Panelvar
From 
 
Natalie Trapp <[email protected]> 
To 
 
[email protected] 
Subject 
 
Re: AW: st: Panelvar 
Date 
 
Fri, 06 Aug 2010 10:53:09 +0200 
I thought my code could also work for generating an individual variable 
for Tobias brand names, but I noticed encode is sufficient already.
I used it for my panel data set to generate a unique identification for 
surveyed European farms depending on certain characteristics such as 
region, sub region, farm type, farm size, etc. but it is redundant in 
the brand names case. Sorry!
On 8/6/2010 10:21 AM, Martin Weiss wrote:
<>
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: [email protected]
[mailto:[email protected]] Im Auftrag von Natalie Trapp
Gesendet: Freitag, 6. August 2010 10:12
An: [email protected]
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
   
*
*   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/