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   Natalie Trapp <natalie.trapp@zmaw.de>
To   statalist@hsphsun2.harvard.edu
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: 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




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