Muchas veces es necesario combinar dos o más bases de datos
para formar una sola. Para ello se pueden utilizar los comandos merge o append.
merge une dos bases de datos utilizando una variable en común. Las dos bases de
datos deben estar en formato .dta (Stata) y las observaciones deben estar
ordenas (utilizando sort) de acuerdo a la variable que sirve como referencia.
El objetivo de merge es anexar variables no observaciones.
En el caso de append sucede lo contrario, lo que se busca es
anexar observaciones (por lo general) a una misma serie de variables. La
sintaxis es mucho más sencilla pues solo se tiene que nombrar la base de
datos que se desea anexar. Por ejemplo: append using ndatos
------------------------------------------------------------------
Comando append
El comando append combina bases de datos “verticalmente”. Se
carga una base de datos a la memoria y la otra se “pega” al final de la que
está en memoria. La base de datos en la memoria se llama “master” y la que se
va a pegar se llama “using” o datos a usar.
Comando append con bases de datos con diferentes variables
Cuando las bases no contienen exactamente las mismas
variables, el comando append pega las observaciones adecuadamente y crea
valores inexistentes (missing values) para las que no están en ambas bases de
datos.
Master y Using
Combinando datos: merge
“merge” combina dos bases de datos “horizontalmente”,
basándose en una variable(s) identificadora de las observaciones.
- Varias formas de combinar dos bases de datos de esta manera:
1:1 , 1:m , m:1 y m:m (la m es de múltiple).
- Útiles solo dos: 1:1 y m:1
- En esta notación el primer término se refiere a la base de
datos master y la segunda a using.
1:1 el identificador de la observación en ambas bases de
datos es único (ej. en una base tenemos los nombres de las personas con su edad
y en la otra tenemos el nombre con la estatura. Solo tenemos un nombre por
persona en cada base de datos)
m:1 el identificador es único para las observaciones en la
base de datos using, pero no necesariamente único en la master (ej. en una
tenemos varias observaciones por persona (incluyendo región) y en la otra
tenemos variables a nivel de región, PIB).
- Cada vez que se utiliza el comando merge, en la base de
datos resultante se crea una nueva variable
- La variable creada por el comando merge se llama “_merge” y
puede tomar tres códigos (números)
- Los números nos indican si el id se encontró en una sola de
las bases de datos (y si es así en cuál), o en ambas.
Para continuar entendiendo los comandos merge y append los invito a la lectura de estas presentaciones, una de ellas en ingles y otra en español.
Se presentan ambos comandos con ejemplos practicos para entender la potencialidad de cada comando.