duplicates - see - Stata. ¿Cómo dividir una observación?
how to see duplicates in stata (1)
Es difícil resolver el problema general aquí a partir de su ejemplo. Tenga en cuenta que
if region == "North" {
<code>
}
no funciona como parece esperar, ya que es equivalente a
if region[1] == "North" {
<code>
}
y es una rama única. Esto está documentado en http://www.stata.com/support/faqs/programming/if-command-versus-if-qualifier/
Esto es legal:
expand 3 if region == "North"
pero tendrías que seguir con los reemplazos uno a uno.
(MÁS TARDE) Una conjetura salvaje es que estás siguiendo desde Stata. ¿Cómo hacer coincidir los valores en la relación 1: m? y tratando de reinventar la merge
. Todo lo que puedo decir es que sería un gran proyecto para un programador experimentado de Stata.
(TODAVÍA MÁS TARDE)
gen long obsid = _n
gen state = ""
gen isnorth = region == "North"
expand 3 if isnorth
bysort obsid : replace state = "IL" if isnorth & _n == 1
by obsid : replace state = "MI" if isnorth & _n == 2
by obsid : replace state = "IN" if isnorth & _n == 3
Algunas observaciones en mi conjunto de datos deben dividirse en dos o tres observaciones differenet. Por ejemplo, la siguiente observación:
region income gdp other
North 120 450 50
Necesito dividirlo en tres observaciones con los mismos valores para todas las variables a excepción de la región como esta:
region income gdp other
IL 120 450 50
MI 120 450 50
IN 120 450 50
Necesito algo como:
if (region == "North") {
//create three new observations and delete the old one
}
¿Es posible con Stata?