ANÁLISIS DE DATOS CON STATA (Manejo de base de datos) Fortino Vela Peón Agosto, 2011

ANÁLISIS DE DATOS CON STATA (Manejo de base de datos) Fortino Vela Peón [email protected] Agosto, 2011 F. VELA Introducción  Las bases de da

3 downloads 33 Views 2MB Size

Recommend Stories


BASE DE DATOS. Qué es una base de datos?
1 BASE DE DATOS ¿Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se pue

BASE DE DATOS CON EXCEL 2007
Informática Aplicada I – Base de Datos con Excel 2007 BASE DE DATOS CON EXCEL 2007 VALIDACIÓN DE DATOS La validación de datos es muy similar al forma

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán YUCATAN Cobá Calkini Ticul Chichen-itz

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

Story Transcript

ANÁLISIS DE DATOS CON STATA (Manejo de base de datos) Fortino Vela Peón [email protected] Agosto, 2011

F. VELA

Introducción  Las bases de datos económicos pueden ser de diversos tipos: 1. Corte transversal (cross section). 2. Series de Tiempo (time series) 3. Combinación de cortes transversales (pooling cross section) 4. Datos panel (panel data)  Las características particulares de cada tipo de datos deben ser consideradas a fin sacar provecho del análisis que se realizara de estos datos.

F. VELA

Corte transversal  “Una base de datos de corte transversal consiste en una muestra de individuos, hogares, empresas, ciudades, estados, países u otras unidades, tomada en algún punto dado en el tiempo” (Wooldrige, 2010: 5).  Una de sus características más importantes radica que, en muchas ocasiones, se obtienen de un proceso de muestreo aleatorio.

 Constituye el tipo de datos con el que se inicia el estudio del análisis econométrico.

F. VELA

Fuente: Tomado de Wooldridge, 2010: 7.

F. VELA

Series de tiempo  “Una base de datos de series de tiempo consiste de las observaciones de una o varias variables a lo largo del tiempo” (Wooldrige, 2010: 8).  Una de sus características más importantes radica que, rara vez, puede suponerse que las observaciones sean independientes del tiempo.

 Constituye el tipo de datos más común en la economía y su estudio es más complejo.

F. VELA

Fuente: Tomado de Wooldridge, 2010: 9.

F. VELA

Combinación de cortes transversales  Al resultado de combinar diferentes cortes transversales se le da el nombre de una base de datos pooling.  Permite ampliar el tamaño de la muestra.  Constituye el tipo de datos que permite analizar los efectos de los cambios en políticas públicas al observar las diferencias que presentan las variables en el tiempo.

F. VELA

Datos panel  “Un conjunto de datos de panel (o longitudinal) consiste en una serie de tiempo por cada unidad de una base de datos de corte transversal” (Wooldrige, 2010: 10).  Su característica que los distingue de las combinaciones de cortes transversales, es que durante un intervalo de tiempo se siguen a las mismas unidades de observación de un corte transversal.

F. VELA

Fuente: Tomado de Wooldridge, 2010: 9.

F. VELA

Las bases de datos  Las bases de datos se han constituido en una de las herramientas más ampliamente difundidas en la actual sociedad de la información en todos los campos del conocimiento.  Dada la variedad de tópicos –en diferentes niveles de análisis- que se captan en una base de datos está puede estar conformada por un conjunto de archivos en los que se distribuye la información obtenida de acuerdo con los temas considerados.

F. VELA

Combinando bases de datos1/  Existen cuatro comandos combinar bases de datos:

(métodos)

para

1. Añadiendo (appending). 2. Combinando (merging) 3. Juntando (joining) 4. Cruzando (crossing)

 La versión 11 introduce una nueva sintaxis para el comando merge. 1/

Para estas notas es necesario obtener los archivos de datos dmus1 y dmus2 de net from http://www.stata-press.com/data/dmus, en la forma net get dmus1 y net get dmus2. De igual manera, se requiere obtener de net from http://www.statapress.com/data/kk2, los archivos net get data y net get kksoep.

F. VELA



Los comandos más utilizados son append y merge.



Para nuestros fines, inicialmente podemos considerar a una base de datos (archivo) como un arreglo rectangular entre observaciones (renglones) y variables (columnas).



append añade observaciones (renglones) a una base de datos.



merge se agregan variables (columnas) a una base de datos.

F. VELA

Bases de datos en diferentes situaciones Caso 1: añadir observaciones

archivo 1 id

Caso 3: seguir observaciones y combinar variables

archivo 2

var1

id

var1

archivo 5 id

var1

archivo 6 id

1

6

1

1

2

7

2

9

3

8

3

10

4

9

4

5

5

10

5

3









Caso 4: agregar obs. y añadir var. diferentes niveles

Caso 2: combinar variables

archivo 3 id

var1

archivo 4 id

var2

var2

archivo 7 (individuos)

id

var1

archivo 8 (hogares)

id

1

1

1

1

2

2

1

2

3

3

1

3

4

4

2

4

5

5

2

5









var2

F. VELA

Appending  Parte de contar con bases de datos para las mismas variables pero para observaciones distintas.  Por ejemplo, moms.dta y dads.dta.  Cada base de datos contiene las mismas variables pero para distintos individuos: variable clave famid= identificador de la familia age= edad race= raza hs= nivel de educación de preparatoria

F. VELA

use moms list 1. 2. 3. 4.

+-------------------------+ | famid age race hs | |-------------------------| | 3 24 2 1 | | 2 28 1 1 | | 4 21 1 0 | | 1 33 2 1 | +-------------------------+

use dads list 1. 2. 3. 4.

+-------------------------+ | famid age race hs | |-------------------------| | 1 21 1 0 | | 4 25 2 1 | | 2 25 1 1 | | 3 31 2 1 | +-------------------------+

F. VELA

 Se desea añadir a las observaciones en una sola base de datos.  Existen dos formas de hacer esta tarea. clear append using moms dads list

1a

o bien clear use moms append using dads list

2da

F. VELA

1. 2. 3. 4. 5. 6. 7. 8.

+-------------------------+ | famid age race hs | |-------------------------| | 3 24 2 1 | | 2 28 1 1 | | 4 21 1 0 | | 1 33 2 1 | | 1 21 1 0 | |-------------------------| | 4 25 2 1 | | 2 25 1 1 | | 3 31 2 1 | +-------------------------+

F. VELA

 En la última forma, se denomina al archivo moms.dta como la base de datos maestra (master) debido a que esta se encuentra activa en la memoria.  Por su parte, a la base de datos dads.dta se le denomina la base de datos usuaria (using) dado que es la que se especifica después de la sintaxis using. clear use moms append using dads list

F. VELA

 Sin embargo, al añadir los datos no se puede identificar la fuente de datos de donde provienen las observaciones.  Para ajustar esto se puede emplear la siguiente sintaxis: clear append using moms dads,gen(datasrc) list, sepby(datasrc)

F. VELA

1. 2. 3. 4. 5. 6. 7. 8.

+-----------------------------------+ | datasrc famid age race hs | |-----------------------------------| | 1 3 24 2 1 | | 1 2 28 1 1 | | 1 4 21 1 0 | | 1 1 33 2 1 | |-----------------------------------| | 2 1 21 1 0 | | 2 4 25 2 1 | | 2 2 25 1 1 | | 2 3 31 2 1 | +-----------------------------------+

 Es posible considerar múltiples bases de datos y realizar el mismo procedimiento para añadir observaciones en una sola.

F. VELA

 Por ejemplo, considerando los archivos br_clarence.dta, br_isaac.dta y br_sally.dta, que contienen información sobre la revisión bibliográfica de tres sujetos distintos para los mismos tres libros. dir br*.dta use br_clarence list clear append using br_clarence br_isaac br_sally,gen(rev) list, sepby(rev)

F. VELA

dir br*.dta 0.8k 6/26/11 15:22 0.8k 6/26/11 15:22 0.8k 6/26/11 15:22

br_clarence.dta br_isaac.dta br_sally.dta

+--------------------------------------------------------------+ | booknum book rating | |--------------------------------------------------------------| 1. | 1 A Fistful of Significance 5 | 2. | 2 For Whom the Null Hypothesis is Rejected 10 | 3. | 3 Journey to the Center of the Normal Curve 6 | +--------------------------------------------------------------+

1. 2. 3. 4. 5. 6. 7. 8. 9.

+--------------------------------------------------------------------+ | rev booknum book rating | |--------------------------------------------------------------------| | 1 1 A Fistful of Significance 5 | | 1 2 For Whom the Null Hypothesis is Rejected 10 | | 1 3 Journey to the Center of the Normal Curve 6 | |--------------------------------------------------------------------| | 2 1 The Dreaded Type I Error 6 | | 2 2 How to Find Power 9 | | 2 3 The Outliers 8 | |--------------------------------------------------------------------| | 3 1 Random Effects for Fun and Profit 6 | | 3 2 A Tale of t-tests 9 | | 3 3 Days of Correlation and Regression 8 | +--------------------------------------------------------------------+

F. VELA

Errores comunes al aplicar append  Aunque resulta fácil el aplicar el comando append, existen ciertos problemas cuando existen entre los archivos: i)

ii) iii) iv)

v)

diferencias en los nombres de las variables; conflictos entre las etiquetas de las variables; conflictos en las etiquetas de valores; inconsistencias en los códigos de valores; y mezcla de diferentes tipos de variables.

F. VELA

Diferencias en los nombres de las variables  Considere use moms1 list use dads1 list use moms1, clear

F. VELA

1. 2. 3. 4.

1. 2. 3. 4.

+----------------------------+ | famid mage mrace mhs | |----------------------------| | 1 33 2 1 | | 2 28 1 1 | | 3 24 2 1 | | 4 21 1 0 | +----------------------------+

Si bien las variables consideradas miden las mismas característica de los individuos (edad, raza y si están graduados), los nombres de ellas difieren en los archivos.

+----------------------------+ | famid dage drace dhs | |----------------------------| | 1 21 1 0 | | 2 25 1 1 | | 3 31 2 1 | | 4 25 2 1 | +----------------------------+

use moms1 append using dads1 list

Al añadir dan por resultado lo siguiente

F. VELA

1. 2. 3. 4. 5. 6. 7. 8.

+-------------------------------------------------+ | famid mage mrace mhs dage drace dhs | |-------------------------------------------------| | 1 33 2 1 . . . | | 2 28 1 1 . . . | | 3 24 2 1 . . . | | 4 21 1 0 . . . | | 1 . . . 21 1 0 | |-------------------------------------------------| | 2 . . . 25 1 1 | | 3 . . . 31 2 1 | | 4 . . . 25 2 1 | +-------------------------------------------------+

 Se tienen diferentes variables para individuos de la base de datos nueva.

los

Solución: utilice el mismo nombre de variable en ambos archivos, o bien, renombrar a las variables.

F. VELA

+-------------------------+ use moms1 | famid age race hs | rename mage age |-------------------------| rename mrace race 1. | 1 33 2 1 | 2. | 2 28 1 1 | rename mhs hs 3. | 3 24 2 1 | save moms1temp 4. | 4 21 1 0 | use dads1 5. | 1 21 1 0 | |-------------------------| rename dage age 6. | 2 25 1 1 | rename drace race 7. | 3 31 2 1 | rename dhs hs 8. | 4 25 2 1 | +-------------------------+ save dads1temp clear append using moms1temp dads1temp list

F. VELA

Conflictos entre las etiquetas de las variables  Considere use momslab describe use dadslab describe append using momslab dadslab describe

F. VELA Contains data from momslab.dta obs:

4

vars:

4

size:

27 Dec 2009 21:47

80 (99.9% of memory free)

-------------------------------------------------------------------------------------------------------------storage variable name

type

display

value

format

label

variable label

-------------------------------------------------------------------------------------------------------------famid

float

%5.0g

Family ID

age

float

%5.0g

Mom's Age

race

float

%9.0g

eth

Mom's Ethnicity

hs

float

%15.0g

grad

Is Mom a HS Graduate?

etiquetas distintas

-------------------------------------------------------------------------------------------------------------Sorted by:

famid

Contains data from dadslab.dta obs:

4

vars:

4

size:

27 Dec 2009 21:47

80 (99.9% of memory free)

-------------------------------------------------------------------------------------------------------------storage variable name

type

display

value

format

label

variable label

-------------------------------------------------------------------------------------------------------------famid

float

%5.0g

Family ID

age

float

%5.0g

Dad's Age

race

float

%9.0g

eth

Dad's Ethnicity

hs

float

%15.0g

hsgrad

Is Dad a HS Graduate?

etiquetas distintas

-------------------------------------------------------------------------------------------------------------Sorted by:

famid

F. VELA

Contains data from dadslab.dta obs:

12

vars:

4

size:

27 Dec 2009 21:47

240 (99.9% of memory free)

---------------------------------------------------------------------------------------------------------------storage variable name

type

display

value

format

label

variable label

---------------------------------------------------------------------------------------------------------------famid

float

%5.0g

Family ID

age

float

%5.0g

Dad's Age

race

float

%9.0g

eth

Dad's Ethnicity

hs

float

%15.0g

hsgrad

Is Dad a HS Graduate?

---------------------------------------------------------------------------------------------------------------Sorted by: Note:

dataset has changed since last saved

 Las etiquetas de las variables se basan en el archivo dadslab.dta. Solución: Utilice etiquetas de variables más generales.

F. VELA

Conflictos en las etiquetas de valores  Considere use momslab list use dadslab list clear append using gen(datasrc) list

momslab

dadslab,

F. VELA

1. 2. 3. 4.

1. 2. 3. 4.

+-------------------------------------------+ | famid age race hs | |-------------------------------------------| | 1 33 Mom Black Mom HS Grad | | 2 28 Mom White Mom HS Grad | | 3 24 Mom Black Mom HS Grad | | 4 21 Mom White Mom Not HS Grad | +-------------------------------------------+

+-------------------------------------------+ | famid age race hs | |-------------------------------------------| | 1 21 Dad White Dad Not HS Grad | | 2 25 Dad White Dad HS Grad | | 3 31 Dad Black Dad HS Grad | | 4 25 Dad Black Dad HS Grad | +-------------------------------------------+

 Las etiquetas de valores de las variables race y hs son distintas. Cuando se utilizan append se tiene:

F. VELA

1. 2. 3. 4. 5. 6. 7. 8.

+-----------------------------------------------------+ | datasrc famid age race hs | |-----------------------------------------------------| | 1 1 33 Mom Black Mom HS Grad | | 1 2 28 Mom White Mom HS Grad | | 1 3 24 Mom Black Mom HS Grad | | 1 4 21 Mom White Mom Not HS Grad | | 2 1 21 Mom White Mom Not HS Grad | |-----------------------------------------------------| | 2 2 25 Mom White Mom HS Grad | | 2 3 31 Mom Black Mom HS Grad | | 2 4 25 Mom Black Mom HS Grad | +-----------------------------------------------------+

 Cuando se utiliza append las etiquetas de valores de las variables race y hs que se emplean en primer lugar (en este caso, momslab.dta) Solución: Utilice etiquetas de valores para las variables más generales.

F. VELA

Inconsistencias en los códigos de valores  Considere use momshs list use dads list use momshs append using dads list tabulate hs

F. VELA

1. 2. 3. 4.

+-------------------------+ | famid age race hs | |-------------------------| | 3 24 2 2 | | 2 28 1 2 | | 4 21 1 1 | | 1 33 2 1 | +-------------------------+

1 no

hs= 2 sí

1. 2. 3. 4. 5. 6. 7. 8.

1. 2. 3. 4.

+-------------------------+ | famid age race hs | |-------------------------| | 1 21 1 0 | | 4 25 2 1 | | 2 25 1 1 | | 3 31 2 1 | +-------------------------+

+-------------------------+ | famid age race hs | |-------------------------| | 3 24 2 2 | | 2 28 1 2 | | 4 21 1 1 | | 1 33 2 1 | | 1 21 1 0 | |-------------------------| | 4 25 2 1 | | 2 25 1 1 | | 3 31 2 1 | +-------------------------+

0 no hs= 1 sí

 La variable hs es dicótomica solo tiene dos códigos: sí/no. Sin embargo cuando se tabula se tienen tres niveles:

F. VELA

HS | Graduate? | Freq. Percent Cum. ------------+----------------------------------0 | 1 12.50 12.50 1 | 5 62.50 75.00 2 | 2 25.00 100.00 ------------+----------------------------------Total | 8 100.00

Solución: Asegurar que los codigos utilizados en los valores de las variables sea el mismo. use momshs recode hs (1=0) (2=1) append using dads list tabulate hs

F. VELA

Mezcla de diferentes tipos de variables  Esto sucede cuando una de las variables en los dos archivos se almacenan en diferente formato, por ejemplo, string y numeric.  La variable hs es almacenada en moms.dta como numérica, mientras que dadstr.dta como variable de cadena.  ¿Qué sucede cuándo las añadimos? use moms append using dadstr

F. VELA

 Se observa un mensaje de error. append using dadstr hs is str3 in using data r(106);

Solución: Convertir hs del archivo dadstr.dta en una variable numérica y luego emplear append. use dadstr destring hs, replace append using moms list

F. VELA

1. 2. 3. 4. 5. 6. 7. 8.

+-------------------------+ | famid age race hs | |-------------------------| | 1 21 1 0 | | 4 25 2 1 | | 2 25 1 1 | | 3 31 2 1 | | 3 24 2 1 | |-------------------------| | 2 28 1 1 | | 4 21 1 0 | | 1 33 2 1 | +-------------------------+

 También pueden existir otros tipos de conflictos cuando se añaden variables que fueron definidas únicamente como variables cadena.

F. VELA

 Considere :

use momstr describe use dadstr describe

Contains data from momstr.dta obs: 4 vars: 4 22 Dec 2009 20:49 size: 68 (99.9% of memory free) ---------------------------------------------------------------------------------------------------storage display value variable name type format label variable label ---------------------------------------------------------------------------------------------------famid float %5.0g Family ID age float %5.0g Age race float %5.0g Ethnicity hs str1 %9s HS Graduate? str1 ---------------------------------------------------------------------------------------------------Contains data from dadstr.dta obs: 4 vars: 4 22 Dec 2009 20:49 size: 76 (99.9% of memory free) ---------------------------------------------------------------------------------------------------storage display value variable name type format label variable label ---------------------------------------------------------------------------------------------------famid float %5.0g Family ID age float %5.0g Age race float %5.0g Ethnicity hs str3 %9s HS Graduate? str3 ----------------------------------------------------------------------------------------------------

F. VELA

Solución: Cuando se utiliza append. Stata indica que ha cambiado la amplitud de la variable hs para acomodar la información. Lo más importante es que Stata realiza esta acción automáticamente. use momstr append using dadstr

F. VELA

 Lo mismo sucede cuando se añaden variables numéricas que presentan diferentes formatos (byte, int, long, float y double). Solución: Al emplear append en este caso, Stata elige automáticamente un formato de datos numérico apropiado. use moms describe use dadsdbl describe use moms append dadsdbl list

F. VELA

Contains data from moms.dta obs:

4

vars:

4

size:

22 Dec 2009 20:07

80 (99.9% of memory free)

-------------------------------------------------------------------------------------------------------------storage variable name

type

display

value

format

label

variable label

-------------------------------------------------------------------------------------------------------------famid

float

%5.0g

Family ID

age

float

%5.0g

Age

race

float

%5.0g

Ethnicity

hs

float

%7.0g

HS Graduate?

--------------------------------------------------------------------------------------------------------------

Contains data from dadsdbl.dta obs:

4

vars:

4

size:

22 Dec 2009 20:02

76 (99.9% of memory free)

-------------------------------------------------------------------------------------------------------------storage variable name

type

display

value

format

label

variable label

-------------------------------------------------------------------------------------------------------------famid

int

%5.0g

Family ID

age

byte

%5.0g

Age

race

double %5.0g

Ethnicity

hs

long

HS Graduate?

%7.0g

--------------------------------------------------------------------------------------------------------------

F. VELA

append using dadsdbl race was float now double hs was float now double

 Mayor información puede encontrarse sobre el comando append en help append.

F. VELA

Merge: one-to-one-match merging  El procedimiento match-merge combina dos bases de datos (archivos) empleando una o más variables clave para integrar a las observaciones entre las dos bases (Mitchell, 2010:189).  La(s) variable(s) clave identifica(n) a cada observación en cada base de datos.

 Las ilustraciones siguientes emplean bases de datos pequeñas pero el funcionamiento es similar con bases de datos de mayor tamaño.

F. VELA

 Considere moms1.dta y dads1.dta. use moms1 list use dads1 list use moms1 merge 1:1 famid using dads1 list

Nota: Recuerde obtener los archivos de datos dmus1 y dmus2 de: net from http://www.stata-press.com/data/dmus net get dmus1 net get dmus2

variable clave

F. VELA

1. 2. 3. 4.

1. 2. 3. 4.

+----------------------------+ | famid mage mrace mhs | |----------------------------| | 1 33 2 1 | | 2 28 1 1 | | 3 24 2 1 | | 4 21 1 0 | +----------------------------+ +----------------------------+ | famid dage drace dhs | |----------------------------| | 1 21 1 0 | | 2 25 1 1 | | 3 31 2 1 | | 4 25 2 1 | +----------------------------+

Result # of obs. ----------------------------------------not matched 0 matched 4 -----------------------------------------

1. 2. 3. 4.

use moms1 list

use dads1 list

merge 1:1 famid using dads1 (_merge==3)

+---------------------------------------------------------------+ | famid mage mrace mhs dage drace dhs _merge | |---------------------------------------------------------------| | 1 33 2 1 21 1 0 matched (3) | | 2 28 1 1 25 1 1 matched (3) | | 3 24 2 1 31 2 1 matched (3) | | 4 21 1 0 25 2 1 matched (3) | +---------------------------------------------------------------+

list

F. VELA

 El listado denominado Result confirma que, al utilizar el comando merge, cada observación de moms1.dta fue integrado a dads1.dta. Result # of obs. ----------------------------------------not matched 0 matched 4 -----------------------------------------

(_merge==3)

 Con list podemos apreciar que la variable clave famid (identificador del hogar) ha permitido combinar a las variables de los dos archivos: dmoms1.dta y dads1.dta. 1. 2. 3. 4.

+---------------------------------------------------------------+ | famid mage mrace mhs dage drace dhs _merge | |---------------------------------------------------------------| | 1 33 2 1 21 1 0 matched (3) | | 2 28 1 1 25 1 1 matched (3) | | 3 24 2 1 31 2 1 matched (3) | | 4 21 1 0 25 2 1 matched (3) | +---------------------------------------------------------------+

F. VELA

 En el lenguaje del comando merge de Stata, moms1.dta es la master dataset, dads1.dta es la using dataset y famid es la key variable.  ¿Qué si algunas observaciones empatan” en los archivos?  Veamos un segundo ejemplo.

“no

F. VELA

 Considere moms2.dta y dads2.dta. use moms2 list use dads2 list use moms2 merge 1:1 famid using dads2 list 1. 2. 3. 4.

+---------------------------------------+ | famid mage mrace mhs fr_moms2 | |---------------------------------------| | 1 33 2 1 1 | | 3 24 2 1 1 | | 4 21 1 0 1 | | 5 39 2 0 1 | +---------------------------------------+

+---------------------------------------+ | famid dage drace dhs fr_dads2 | |---------------------------------------| 1. | 1 21 1 0 1 | 2. | 2 25 1 1 1 | 3. | 4 25 2 1 1 | +---------------------------------------+

F. VELA

Result # of obs. ----------------------------------------not matched 3 from master 2 from using 1 matched 2 -----------------------------------------

1. 2. 3. 4. 5.

(_merge==1) (_merge==2) (_merge==3)

+-----------------------------------------------------------------------------------------+ | famid mage mrace mhs fr_moms2 dage drace dhs fr_dads2 _merge | |-----------------------------------------------------------------------------------------| | 1 33 2 1 1 21 1 0 1 matched (3) | | 3 24 2 1 1 . . . . master only (1) | | 4 21 1 0 1 25 2 1 1 matched (3) | | 5 39 2 0 1 . . . . master only (1) | | 2 . . . . 25 1 1 1 using only (2) | +-----------------------------------------------------------------------------------------+

 El comando merge resume la forma en que se realizo el empate de las observaciones.  Se puede observar que las familias 3 y 5 tienen datos para moms2.dta pero no para dads2.dta.

F. VELA

Merging: one-to-many match merging  El procedimiento 1:1 merge combino uno a uno las observaciones de dos bases de datos (archivos) empleando una variable clave.  En contraste cuando se combinan madres e hijos es claro que una madre puede tener más de un hijo lo que da origen al procedimiento denominado one-to-many (uno a muchos).  moms1.dta es 1 base de datos mientras que kids1.dta es una base de datos m.

F. VELA

 Considere moms1.dta y kids1.dta. use moms1 list use kids1 list 1. 2. 3. 4.

1. 2. 3. 4. 5. 6. 7. 8.

+----------------------------+ | famid mage mrace mhs | |----------------------------| | 1 33 2 1 | | 2 28 1 1 | | 3 24 2 1 | | 4 21 1 0 | +----------------------------+

+-----------------------------+ | famid kidid kage kfem | |-----------------------------| | 3 1 4 1 | | 3 2 7 0 | | 2 1 8 0 | | 2 2 3 1 | | 4 1 1 0 | |-----------------------------| | 4 2 3 0 | | 4 3 7 0 | | 1 1 3 1 | +-----------------------------+

F. VELA

 La variable clave es famid.  Se puede observar que la madre de la familia 1 solo tiene un hijo pero la de la familia 4 tiene 3 hijos. 1. 2. 3. 4. 5. 6. 7. 8.

+-----------------------------+ | famid kidid kage kfem | |-----------------------------| | 3 1 4 1 | | 3 2 7 0 | | 2 1 8 0 | | 2 2 3 1 | | 4 1 1 0 | |-----------------------------| | 4 2 3 0 | | 4 3 7 0 | | 1 1 3 1 | +-----------------------------+

 Se busca combinar las dos bases de datos (las variables de manera que corresponda a la misma familia)

F. VELA

 Siguiendo con la sintaxis se tiene use moms1 merge 1:m famid using kids1 Result # of obs. ----------------------------------------not matched 0 matched 8 (_merge==3) -----------------------------------------

 Se señala que todas las observaciones fueron “empatadas” (match).  Es posible ordenar la base de datos resultante considerando las variables famid y kidid.

F. VELA

 Siguiendo con la sintaxis sort famid kidid list, sepby(famid)

1. 2. 3. 4. 5. 6. 7. 8.

+----------------------------------------------------------------+ | famid mage mrace mhs kidid kage kfem _merge | |----------------------------------------------------------------| | 1 33 2 1 1 3 1 matched (3) | |----------------------------------------------------------------| | 2 28 1 1 1 8 0 matched (3) | | 2 28 1 1 2 3 1 matched (3) | |----------------------------------------------------------------| | 3 24 2 1 1 4 1 matched (3) | | 3 24 2 1 2 7 0 matched (3) | |----------------------------------------------------------------| | 4 21 1 0 1 1 0 matched (3) | | 4 21 1 0 2 3 0 matched (3) | | 4 21 1 0 3 7 0 matched (3) | +----------------------------------------------------------------+

 De esta manera, por ejemplo, se puede apreciar que la madre de la familia 4 tiene tres hijos donde su información se despliega en tres ocasiones.

F. VELA

 ¿Qué sucede si los archivos no “empatan” perfectamente?  Veamos este caso: use moms2 list use kids2 list

1. 2. 3. 4.

+---------------------------------------+ | famid mage mrace mhs fr_moms2 | |---------------------------------------| | 1 33 2 1 1 | | 3 24 2 1 1 | | 4 21 1 0 1 | | 5 39 2 0 1 | +---------------------------------------+

1. 2. 3. 4. 5. 6. 7.

+-----------------------------+ | famid kidid kage kfem | |-----------------------------| | 2 2 3 1 | | 2 1 8 0 | | 3 2 7 0 | | 3 1 4 1 | | 4 2 3 0 | |-----------------------------| | 4 3 7 0 | | 4 1 1 0 | +-----------------------------+

F. VELA

 Siguiendo con la sintaxis use moms2 merge 1:m famid using kids2 list Result # of obs. ----------------------------------------not matched 4 from master 2 (_merge==1) from using 2 (_merge==2) matched 5 -----------------------------------------

(_merge==3)

 Los resultados señalan que 5 observaciones fueron “empatadas” y 4 no lo fueron. Entre las no empatadas 2 provienen del master dataset y las otras 2 del using dataset.

F. VELA

 La base de datos combinada se puede ordenar de acuerdo a famid y kidid. sort famid kidid list, sepby(famid)

1. 2. 3. 4. 5. 6. 7. 8. 9.

+-------------------------------------------------------------------------------+ | famid mage mrace mhs fr_moms2 kidid kage kfem _merge | |-------------------------------------------------------------------------------| | 1 33 2 1 1 . . . master only (1) | |-------------------------------------------------------------------------------| | 2 . . . . 1 8 0 using only (2) | | 2 . . . . 2 3 1 using only (2) | |-------------------------------------------------------------------------------| | 3 24 2 1 1 1 4 1 matched (3) | | 3 24 2 1 1 2 7 0 matched (3) | |-------------------------------------------------------------------------------| | 4 21 1 0 1 1 1 0 matched (3) | | 4 21 1 0 1 2 3 0 matched (3) | | 4 21 1 0 1 3 7 0 matched (3) | |-------------------------------------------------------------------------------| | 5 39 2 0 1 . . . master only (1) | +-------------------------------------------------------------------------------+

F. VELA

Merging: many-to-one match merging  El procedimiento ilustrado anteriormente para el comando merge fue 1:m (one-to-many), pero Stata permite también combinar m:1 (manyto-one), en el cual el master dataset puede tener múltiples observaciones que empatar al using dataset en el cual la(s) variable(s) clave(s) identifican de manera única a cada observación.  En concreto, para el ejemplo anterior, más que combinar a las madres con los hijos, es posible combinar a los hijos con las madres.

F. VELA

 La sintaxis sería entonces use kids1 merge m:1 famid using moms1 Result # of obs. ----------------------------------------not matched 0 matched 8 (_merge==3) -----------------------------------------

 Como se muestra a continuación, las variables del archivo kids1.dta aparecen antes que las del archivo moms1.dta debido a que kids1.dta hace el papel de master dataset y moms1.dta el de using dataset.

F. VELA

 Ordenando nuevamente por famid y kidid se tiene sort famid kidid list, sepby(famid)

1. 2. 3. 4. 5. 6. 7. 8.

+----------------------------------------------------------------+ | famid kidid kage kfem mage mrace mhs _merge | |----------------------------------------------------------------| | 1 1 3 1 33 2 1 matched (3) | |----------------------------------------------------------------| | 2 1 8 0 28 1 1 matched (3) | | 2 2 3 1 28 1 1 matched (3) | |----------------------------------------------------------------| | 3 1 4 1 24 2 1 matched (3) | | 3 2 7 0 24 2 1 matched (3) | |----------------------------------------------------------------| | 4 1 1 0 21 1 0 matched (3) | | 4 2 3 0 21 1 0 matched (3) | | 4 3 7 0 21 1 0 matched (3) | +----------------------------------------------------------------+

F. VELA

¿Hacia donde vamos?

F. VELA

ENOE  Para algunas instituciones generadoras de información, una base de datos es “un conjunto de tablas con información de diferente tipo, las cuales se relacionan entre sí mediante campos de identificación que les son comunes y que sirven para poder vincularlas” (INEGI, 2007:1).  Una tabla almacena datos de un tema en particular, en registros (filas) y campos (columnas).

F. VELA

 La conformación de la base de datos de la Encuesta Nacional de Ocupación y Empleo (ENOE) lo hace de la siguiente manera: 1. Tabla de vivienda VIV 2. Tabla de hogares HOG 3. Tabla de Sociodemográfico SDEM 4. Tabla de cuestionario de ocupación y empleo I COE1 5. Tabla de cuestionario de ocupación y empleo II COE2

F. VELA

 El nombre de las tablas de datos se hace añadiendo a las iniciales la letra T y un número a tres dígitos, el cual indica el trimestre y año de la información en cuestión.  Así, por ejemplo, los nombres asignados para las cinco tablas que conforman la base de datos de la ENOE para el primer trimestre de 2005 son: 1. VIVT105.DBF 2. HOGT105.DBF 3. SDEMT105.DBF 4. COE1T105.DBF 5. COE2T105.DBF

F. VELA

 Cada tabla de ENOE contiene un número determinado de registros (entiéndase como registro, a cada renglón que existe en la tabla).  La siguiente imagen representa la relación que existe entre las tablas y sus registros

F. VELA

 Se interpreta; para cada vivienda existe uno o más hogares, para cada hogar existe uno o más residentes con sus características sociodemográficas, para cada residente con edad de 12 años cumplidos o más existe un cuestionario de ocupación y empleo.  http://www.inegi.org.mx/sistemas/microdatos 2/encuestas.aspx?c=14439&s=est

F. VELA

F. VELA

Terminología de una base de datos Tabla Es la estructura básica de almacenamiento de una base de datos, consiste en una o más columnas y cero o más filas.

Fila Es la combinación de los valores de las columnas en una tabla; una fila es comúnmente llamada registro.

Columna Representa un tipo de datos en una tabla. Esta es descrita con un nombre y contiene información de un tamaño y tipo específico. También conocida como variable.

F. VELA

Campo El campo puede contener información. Si no hay información en el campo, se dice que tiene un valor nulo (NULL).

Llave primaria (campo llave) Identificador de la tabla que permite, mantener una relación de pertenencia de información, además de ser indispensable para poder relacionar dos o más tablas si fuera necesario, cuando la unidad de análisis sean solo los hogares y/o las viviendas.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.