MANEJO DE BASES DE DATOS Y ANÁLISIS
ECONOMÉTRICO CON Stata 12
CONFERENCISTA:
BRAYAN RICARDO ROJAS ORMAZA
**
Economista, Certificado en Administración del Riesgo, realizando curso de Posgrado en Gestión de Riesgos Financieros, actualmente se desempeña como Director Técnico Cuantitativo de Software Shop para Latinoamérica y es profesor de la Universidad del Rosario y de la Universidad Piloto, ha trabajado en el área de Investigaciones del Banco de la República de Colombia, y como asistente de investigación en la Universidad Nacional, tiene publicaciones en modelos econométricos y en software aplicado.
Como instructor a nivel internacional ha dictado cursos y conferencias de Stata, EViews y Risk Simulator en entidades estatales, instituciones financieras y universidades en países como Chile, Venezuela, Colombia, Ecuador, México, entre muchos otros.
El texto está acompañado de bases de datos y está totalmente basado en ejemplos a lo largo del texto para ayudar al aprendizaje. Está basado en otros textos introductorios, en material online y en cursos previos dictados en diversas universidades. Es recomendable tener conocimiento previo de estadística para entender mejor el material.
Este documento es propiedad de su autor y tiene fines académicos. Toda reproducción total o parcial está prohibida.
INTRODUCCIÓN
Hoy en día es común encontrar diferentes aplicaciones computacionales capaces de realizar sin fin de procedimientos en milésimas de segundo, desde hace varios años el computador ha sido una herramienta muy útil para las diferentes áreas del conocimiento y las ciencias económicas no han sido la excepción, los grandes avances teóricos han llevado a necesitar cada vez más de las aplicaciones computacionales para poder pasar de la teoría a la práctica.
Las ciencias económicas, sociales y aplicadas se han vinculado desde hace varias décadas a las ciencias puras para poder por medio de los métodos cuantitativos verificar los hechos sociales, el uso de la estadística, la matemática y la física cada día van en incremento; pero de igual forma éstos métodos han necesitado de diferentes recursos para su aplicación, es en busca de suplir estas necesidades que Stata se ha comprometido día a día en apoyar al desarrollo de la teoría con la práctica haciendo uso del total de recursos disponibles.
Se aclara que Stata no es un software libre ni gratuito, para poder acceder a él es necesario adquirir un plan de licenciamiento, para mayor información ingresar a www.stata.com. Una de las ventajas del software es la posibilidad de trabajo por ambiente GUI (interactivo) y/o por ambiente de comandos con una programación bastante potente, incluyendo un lenguaje de programación para matrices conocido como MATA.
Este material es dirigido a todo tipo de usuario, para el estudiante que se está involucrando al mundo de la estadística y econometría, el docente que utiliza la herramienta para impartir sus clases usando para ello un software de alto nivel como es Stata y para profesionales e investigadores que día a día requieren una herramienta que les sirva para apoyar sus labores y sus tesis.
El documento se ha dividido en 8 capítulos, en los primeros tres podrá encontrar información sobre la introducción manejo y manipulación de datos así como la presentación de resultados por medio de gráficas y tablas; en el capítulo 4 encontrará el tema de regresión, capítulo 5 modelos de regresión para variable discreta, capítulo 6 modelos de series de tiempo ARIMA, capítulo 7 modelos de datos de panel y los últimos dos capítulos es introducción a la programación y algunos trucos y recomendaciones.
DESCRIPCIÓN DEL LIBRO
3
El manual contiene #### páginas, las cuales describe los principales usos para un usuario de diferente nivel y estudios. Para el mejor entendimiento del manual se describe el siguiente cuadro:
DESCRIPCIÓN CARACTERÍSTICA
Comando Tipo de Letra cursiva, fuente Times New
Roman, tamaño de letra 11 Notas o recomendaciones Resaltado en un cuadro de texto
Rutas de acceso por medio de los menús Se describe el nombre del Menú seguido por el símbolo “”
Mensajes de Error Color de Fuente Rojo
TABLA DE CONTENIDO
1.
MANEJO FUNDAMENTAL DE Stata 12 ... 5
1.1 CONOCIENDO EL ENTORNO DE Stata ... 6
1.2 EL MENÚ DE AYUDA ... 7
1.3 TIPOS DE ARCHIVOS ... 12
1.4 ESTRUCTURA DE COMANDOS ... 12
1.5 VENTANAS DE COMANDOS ... 12
1.6 CONFIGURANDO LA MEMORIA DE Stata ... 13
1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata ... 14
1.8 BASES DE DATOS DE EJEMPLO ... 14
1.9 TIPOS DE VARIABLES ... 14
2.
MANEJO DE BASES DE DATOS ... 16
2.2 SALVANDO UNA BASE DE DATOS ... 22
2.3 DESCRIPCIÓN DE LA BASE DE DATOS ... 22
2.4 CONSERVAR Y RECARGAR BASES DE DATOS ... 30
2.5 FILTROS DE LA BASE DE DATOS ... 30
2.6 ADMINISTRADOR DE VARIABLES ... 31
2.7 CREACIÓN DE CATEGORÍAS ... 32
2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS ... 38
2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS ... 43
2.12 ANÁLISIS DE DUPLICADOS ... 45
2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO ... 49
3
ANÁLISIS ESTADÍSTICO CON Stata ... 50
3.1 ESTADÍSTICAS DESCRIPTIVAS ... 51
3.2 PONDERADORES – WEIGHT- ... 52
3.3 CALCULO DE MEDIAS ... 53
3.4 INTERVALOS DE CONFIANZA ... 53
3.5 PRUEBAS DE HIPÓTESIS ... 54
3.6 MANEJO DE Tablas DE DATOS ... 54
4
3.8 PRUEBAS NO PARAMÉTRICAS ... 56
4
GRÁFICAS CON Stata ... 58
4.1 HISTOGRAMAS ... 59
4.2 GRÁFICO DE TORTAS ... 61
4.3 GRÁFICO DE CAJAS ... 66
4.4 GRAFICAS TWOWAY ... 67
4.5 EDITOR DE GRÁFICOS DE Stata ... 68
4.6 GRAFICA DE SERIES DE TIEMPO ... 72
4.7 SCATTER GRAPH ... 74 4.8 GRAFICA DE PUNTOS ... 75 4.9 GRAFICOS DE BARRAS ... 76 4.10 OPCIONES Y EJEMPLOS ... 79 4.11 COMBINANDO GRÁFICAS ... 86 4.12 OTRAS GRÁFICAS ... 86
5
REGRESIÓN LINEAL EN Stata ... 95
6
MODELOS ARIMA ... 107
7
MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA MODELOS
LOGIT Y PROBIT ... 116
8
MODELOS DE DATOS PANEL O LONGITUDINALES ... 123
8.1 ANÁLISIS DE DATOS PANEL ... 123
VENTAJAS DE ESTIMACIÓN POR PANEL ... 124
8.2 ANÁLISIS DE DATOS PANEL DE DOS PERÍODOS ... 125
8.3 ANÁLISIS DE POLÍTICAS POR MEDIO DE DATOS PANEL ... 127
8.4 ANÁLISIS DE MÁS DE DOS PERÍODOS ... 128
8.5 EFECTOS FIJOS ... 131
8.6 EFECTOS ALEATORIOS ... 132
8.7 ANÁLISIS DE DATOS PANEL EN Stata ... 132
8.8 ESTRUCTURA DE BASES DE DATOS PANEL ... 133
8.9 REGRESIÓN AGRUPADA ... 134
8.10 EFECTOS ALEATORIOS ... 135
8.11 EFECTOS FIJOS ... 136
8.12 EFECTOS ALEATORIOS vs. FIJOS ... 137
8.13 AUTOCORRELACIÓN Y HETEROSCEDASTICIDAD ... 139
8.14 CORRECCIÓN DE HETEROCEDASTICIDAD Y AUTOCORRELACIÓN ... 141
8.15 MODELOS DINÁMICOS CON DATOS PANEL ... 141
9
INTRODUCCIÓN A LA PROGRAMACIÓN ... 143
9.1 LOCAL MACROS... 143
9.2 CREANDO CICLOS ... 143
9.3 ESCALARES Y MATRICES ... 144
10
TRUCOS CON Stata ... 148
5
1.
{ TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO
FUNDAMENTAL DE Stata 12
{TC "MANEJO FUNDAMENTAL DE
STATA 11" }
Stata es un programa estadístico para investigadores de diferentes disciplinas, como bioestadísticos investigadores sociales y económicos. Los diferentes tipos de análisis integrados a Stata están documentados y soportados teóricamente por numerosos documentos, publicaciones y revistas. Los manuales de Stata reúnen en 19 volúmenes con ejemplos estadísticos, explicaciones teóricas, métodos, fórmulas y documentos de referencia. Al tratarse de un programa en ambiente Windows, su interface es similar a la de todos los programas bajo este ambiente.
Stata está disponible en 4 tipos de versión.
Small Stata Versión estudiantil de Stata
Intercooled Stata Versión estándar de Stata
Stata/SE Versión especial de Stata para manejo de bases de datos grandes.
Stata/MP Versión especial de Stata diseñada para trabajar en equipos con más de un procesador o núcleo (2 a 32 procesadores) Tabla 1. Tipos de versión Stata
A continuación se presentan las principales diferencias entre las versiones Intercooled y SE de Stata2:
Small Stata/IC Stata/MP and Stata/SE
Número de observaciones 1,200 2,147,483,647 2,147,483,647
2
Para conocer todas las diferencias entre las versiones de Stata, dirigirse a la ayuda por medio del comando
6
Número de Variables 99 2,047 32,767
Tabla 2. Diferencia entre versiones
1.1 CONOCIENDO EL ENTORNO DE Stata
Una vez que se hace clic en el icono de Stata en el menú de inicio, se despliegan los siguientes cuadros de trabajo. Estas ventanas constituyen el cuerpo básico Stata para llevar a cabo un análisis de datos, teniendo una interface bastante amigable.
Figura 1. Ventanas de Stata
Ventana de Variables: Muestra el listado de variables de la base de datos activa.
Ventana de Comandos: En este cuadro se escriben y almacenan las líneas de comandos, si se desea recuperar un comando previo puede utilizar las teclas RePág o AvPág y podrá autocompletar el nombre de la variable utilizando la tecla TAB.
Ventana de Resultados: Permite visualizar la sintaxis, y los resultados de los procedimientos ejecutados por el usuario. Aquí encontrará el logo de Stata, indicando la versión y el tipo de licencia y el número máximo de variables a importar. Una de las características de ésta ventana es que por medio de colores el programa informa si un comando ha sido correctamente ejecutado, si aparece en color negro no hubo
VENTANA DE RESULTADOS
VENTANA DE COMANDOS
VENTANA
DE
REVIS
IÓN
VENTANA DE
VARIABLES
VENTANA DE
PROPIEDADES
DE VARIABLES
7
problema en la realización, rojo indicar error y el azul es un hipervínculo al menú de ayuda.
Ventana de Revisión: Bitácora que Permite llevar un completo registro de todos los procedimientos ejecutados durante una sesión de Stata ya sea que se ejecutaron por el ambiente GUI, por la ventana de comandos o por un editor .do. Una de las propiedades de la ventana Review es que si se desea repetir un comando simplemente debe hacer doble clic sobre el comando deseado y Stata lo ejecutará de nuevo.
Ventana de Propiedades: Presenta la información de cada variable, como nombre, tipo de variable, formato, las notas de la base de datos (puede usar el comando notes para verlas en la ventana de resultados), entre otras características.
BARRAS
Figura 2. Menús de Stata
Barra de Nombre: Indica la versión de Stata disponible, el nombre y la ruta de la base de datos activa.
Barra de Menús: Es el conjunto de las diferentes herramientas que tiene Stata las cuales le permiten al usuario cargar, transformar, modificar, analizar, graficar y solicitar información y ayuda del programa.
Barra de Herramientas: Es el conjunto de íconos de acceso rápido a herramientas fundamentales como son abrir, salvar, creación de un archivo Log, un archivo .do, abrir el editor, el visor y el administrador de variables.
1.2 EL MENÚ DE AYUDA
Stata ha incorporado en la versión 11 un conjunto de nuevas opciones en el menú de ayuda para facilitarle al usuario la mejor forma de entender cómo funciona el programa. Una de las novedades principales es que se ha agregado la opción de tener disponibles los manuales de Stata en formato PDF.
Para acceder a los manuales de ayuda debe seguir la ruta Help PDF Documentation
Barra de Nombre
Barra de Menús
Barra de Herramientas
8
El menú de ayuda de Stata le permite:
- Ver el índice de contenidos del programa
- Buscar información sobre algún tema, la rutina que permite ejecutarla en Stata, o el sitio desde donde es posible descargar la macro para alimentar el programa.
- Obtener ayuda sobre algún comando de Stata
- Listar y descargar las últimas actualizaciones del programa.
- Instalar programas de Stata escritas por otros usuarios, desde el “Stata Journal” o del boletín técnico “Stata Technical Bulletin”.
- Acceder a lugares de interés en el sitio Web de Stata.
El sistema de ayuda para los comandos de Stata es una de las herramientas que más rápidamente puede familiarizar al usuario con el manejo de Stata. Alternativamente al sistema de ventanas, el usuario puede digitar en el cuadro de comandos help seguido del comando del cual desea información.
9
Figura 3. La Ayuda de Stata
La ayuda de Stata ofrece información sobre:
- La sintaxis completa y abreviada de letra(s) subrayadas) de cada comando, - Descripción del comando,
- Opciones adicionales para ejecutar el comando, - Ejemplos sobre cómo usar el comando,
- Hipervínculos a otros comandos relacionados y/o similares y,
10
Con frecuencia, el usuario desconoce el nombre del comando específico que realiza algún procedimiento en Stata. En estos casos es conveniente realizar una búsqueda temática por medio del comando search. A través de este comando Stata realiza una búsqueda en línea en:
- Los ejemplos oficiales de Stata disponibles en su sitio web,
- El sitio de preguntas frecuentes “Frequently Asked Questions” de Stata, - Ejemplos en línea compilados por la universidad de UCLA,
- Las referencias bibliográficas en “Stata Journal” y “Stata Technical Bulletin”.
Por ejemplo, supongamos que queremos calcular en Stata el coeficiente de concentración gini (procedimiento muy conocido en economía y estadística), pero no sabemos si Stata realiza este cálculo y, además, si es posible hacerlo, no conocemos el comando para ejecutarlo. En estos casos el comando search resulta de gran ayuda. Por ejemplo al escribir en el cuadro de comandos
search gini adoupdate, update
11
Figura 4. Search
En el cuadro de ayuda aparecen en azul hipervínculos a sitios oficiales (Stata Journal “SJ”, o Stata Technical Bulletin “STB”) desde donde se pueden descargar macros relacionadas con el procedimiento que calcula el coeficiente de concentración gini.
ACTUALIZACIONES DE Stata: Automáticamente Stata hace actualizaciones periódicas del
programa. Sin embargo el usuario puede pedir manualmente al programa que se actualice a través del comando update así:
12
1.3 TIPOS DE ARCHIVOSAntes de iniciar una sesión de trabajo es importante tener en cuenta que Stata opera a través de diferentes tipos de archivos.
Tipo de Archivo Extensión
Archivos de datos *.dta Archivos gráficos *.gph Bitácoras de salida *.smcl Archivos de comandos *.do Archivos de programación *.ado
Tabla 3. Tipos de Archivos
1.4 ESTRUCTURA DE COMANDOS
[by varlist:] Command [varlist] [=exp] [if exp] [in range] [weight] [using filename] [,
options]
Por ejemplo:
Se debe tener en cuenta que Stata distingue entre letras mayúsculas y minúsculas. Todos los comandos del programa se deben escribir en letras minúsculas. De lo contrario el programa no lo reconoce. Los paréntesis cuadrados indican que no es un carácter obligatorio dependiendo el comando específico.
Es posible usar con Stata prefijos para algunos comandos, por ejemplo, el comando regress que permite realizar el procedimiento de regresión se puede ejecutar digitando solamente los tres primeros caracteres, es decir al tener reg ejecuta la misma función que al escribir regress.
Para conocer mayor información sobre la estructura de los comandos de Stata, busque información así: help syntax
1.5 VENTANAS DE COMANDOS
Es común encontrar en las ventanas emergentes de Stata el nombre del comando que permite realizar la instrucción que se le ordenará al programa para que realice, por ejemplo, al seguir la ruta
13
En este caso es el comando insheet. A continuación se explican algunas características generales de las ventanas emergentes de Stata para la realización de procedimientos, este manual no presentará las ventanas en las cuales se ejecutan las instrucciones sino los comandos y las opciones correspondientes.
Figura 5. Características de una ventana
1.6 CONFIGURANDO LA MEMORIA DE Stata
Stata funciona exclusivamente desde la memoria RAM. El programa únicamente interactúa con el disco duro del computador cuando se hacen salvados de bases de datos, gráficos, archivos log, o archivos de comandos. En la versión 12 Stata configura automáticamente el tamaño de la memoria para poder trabajar con bases de datos muy grandes.
Para versiones inferiores a la 12 las versiones SE y MP del programa trabajan con 10 megas de memoria RAM. Sin embargo, cuando se trabaja con bases de datos muy grandes, es posible configurar la cantidad de memoria RAM disponible para una sesión de trabajo a través del comando set memory.3 Por ejemplo, para trabajar con 100 megas de memoria RAM la sintaxis es4:
3
Si desea conocer qué versión tiene de Stata y la configuración de la memoria y la licencia del programa escriba el comando about y creturn list.
Comando
Descripción del comando
Copiar como comando Ejecutar No Ejecutar Ejecutar y mantener la ventana activa Ayuda de la instrucción
Limpiar la
ventana
14
set mem 100m
Es muy importante que antes de empezar una sesión de trabajo el usuario configure la cantidad de memoria RAM que necesita de lo contrario emergerá el siguiente error:
no room to add more observations r (901);
1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata
La sintaxis para cargar y salvar datos puede ser muy extensa dependiendo de la ruta de acceso a las bases de datos o el lugar en el disco duro donde se quieran almacenar los resultados. Una forma práctica de abreviar la sintaxis en ambos casos consiste en indicarle a Stata, antes de comenzar la sesión de trabajo, el lugar en el disco duro de donde se desean tomar los datos y donde se quieren almacenar los resultados. Este procedimiento se lleva a cabo a través del comando cd así:
cd "C:\...."
La otra opción es por medio del Menú File Change Working Directory
Entre comillas se debe encontrar la dirección o ruta de la carpeta donde se encuentran las bases de datos que serán empleadas en la sesión de trabajo de Stata.
1.8 BASES DE DATOS DE EJEMPLO
En el momento en que Stata se instala en su equipo se incluyen bases de datos de ejemplo
las cuales le permitirán trabajar con el software, tenga en cuenta estos archivos dado que la
ayuda en muchas ocasiones se referencia a las bases de datos del software, para acceder a
ellas siga la ruta File Example Datasets Example datasets installed with Stata o para
acceder a todas las bases de datos seleccione Stata 12 manual datasets pero debe tener
acceso a internet.
El comando asociado es
sysuse dir
* para ver el directorio de bases de ejemplo en su equipo
sysuse auto.dta
* cargará la base auto.dta que es una base de ejemplo de Stata
1.9 TIPOS DE VARIABLES
Una de las preguntas comunes en el manejo de un software estadístico es cómo el programa clasifica o categoriza las variables, es decir que formato es posible asignarle a una variable, para ello es necesario primero que el usuario tenga claro el tipo de variable.
15
Las variables las podemos dividir de acuerdo al siguiente esquema
Stata es “case sensitive”, es decir, distingue entre mayúsculas y minúsculas, de forma que las variables var1 es diferente a Var1.
Para Stata se manejan los datos cuantitativos por diferentes tipos de variables los cuales se diferencian por el rango de los datos o por el tamaño en el número de caracteres disponibles a continuación se presenta una tabla que describa los tipos de datos.
TIPO DE VARIABLE RANGO FORMATO
MÍNIMO MÁXIMO Byte -127 100 %8.0g Int -32,767 32,740 %8.0g Long -2,147,483,647 2,147,483,620 %12.0g Float -1.70141E+38 1.70141173319*10^38 %9.0g Doublé -8.9885E+307 8.9884656743*10^307 %10.0g
Precisión para FLOAT 3.795x10^-8. Precisión para DOBLE 1.414x10^-16.
Tabla 4. Tipos de Variable
El número que aparece después del símbolo % es el número máximo de dígitos enteros o ancho que soporta el formato y el número a la derecha índica el número de decimales, posteriormente se encuentra una letra. Donde [f] es aproximación al entero más cercano, [e] indica notación científica y [g] indica decimales.
Stata por defecto selecciona el formato FLOAT, el otro tipo de variables son las variables alfanuméricas, estas variables en las que se encuentran principalmente las variables cualitativas, Stata define un formato especial para ellas, y es el formato STRING, %str# es la visualización de este formato, en el cual el carácter # indica el largo de la cadena.
VARIABLE
CUANTITATIVA
Continua
Discreta
16
FORMATO DE LAS VARIABLES: El formato de las variables hace referencias a la forma como
son almacenadas y desplegadas las variables en STATA. Para cambiar el formato de una de una variable a través del lenguaje de sintaxis debe tener en cuenta que el formato de toda variable siempre antecedido por el símbolo “%”.
Variables de cadena
Variable numérica
Si desea cambiar el formato de una variable utilice el comando recast.
sysuse auto describe Price recast float price
Para mayor información: help data_types y help recast
2. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO DE
BASES DE DATOS
Antes de realizar usted un análisis de la información ya sea de tipo descriptivo, inferencial, debe contar con la información lo mejor posible para poder realizar los correspondientes análisis, por ello en éste capítulo podrá ver como realizas manejo de bases de datos financieras y económicas.
Una de las ventajas de Stata es su fortaleza en el manejo de bases de datos, principalmente porque permite al usuario manejar gran cantidad de variables y de observaciones, además, es posible realizar manipulación y transformaciones como es crear, eliminar, modificar, concatenar y demás funciones a variables, de igual forma permite agregar variables y observaciones a una base de datos con otras bases.
Entre opciones avanzadas se encuentran la protección de bases de datos, la creación de firmas y restricciones a usuarios. Stata permite a los usuarios manejar bases de datos de formatos como son
% 20 s
Variable “String”Inicio de un formato número de caracteres
Formato general “g”, Notación científica “e”, formato fijo “f”
% 10. 0 g c
opcional, separados demiles por comas Inicio de un formato
Dígitos antes del punto decimal
17
MS Excel, texto, SQL, SAS, entre otros, de igual forma permite exportar archivos a dichos formatos.
El capítulo se divide en cuatro secciones, la primera un manejo de bases de datos básico, en la segunda sección datos de corte transversal, la tercera datos de series de tiempo y en la última manejo de datos de panel.
1.1 FUNDAMENTOS DE BASES DE DATOS
Hay ciertas características que usted podrá aprender para el manejo de la información, entre ellas los pasos fundamentales, como son, importar una base de datos, eliminación, transformación de bases de datos, entre otros.
1.1.1 Creación de un archivo log
Un archivo tipo texto con extensión “.log” o “.smcl”5, permite guardar todo lo que usted digite y ejecute en la línea de comandos así como las salidas obtenidas en la ventana de resultados realizadas durante la sesión activa de Stata.
Se recomienda que la extensión sea SMCL, dado que le permite conservar las fuentes y colores de su ventana de resultados y además podrá configurarlo para imprimir.
Figura 6. Creación de un archivo Log Para la creación de un archivo log por medio de comandos debe usar
log using tables.log, replace
1.1.2 Abrir una base de datos
El primer paso es cargar una base de datos, para ello depende el formato de la base de
datos. Es común que los usuarios contengan su información en archivos tipo Excel, para
ello es necesario tener claro que Stata requiere que el separador decimal debe ser el punto
(.), para ello se recomienda utilizar la herramienta de buscar-reemplazar de Excel o hacer
cambio de la configuración de Excel o de la configuración regional de su equipo.
5
18
Recuerde que las bases de datos de Stata finalizan con la extensión .dta, cuando se tiene un
base tipo Stata para abrirla puede utilizar la ruta File Open y seleccionar el archivo o por
el ícono abrir de la barra de herramientas, por medio de comandos podrá usar la instrucción
use
use "C:\Users\Brayan\Desktop\ipc_raw.dta", clear
Recuerde la sección 1.7 en donde se indica como activar un directorio de trabajo para no
tener que referenciar la ruta o path en donde se encuentra el archivo; si ya tiene un
directorio activo la instrucción es:
use ipc_raw, clear
Dado que la instrucción solo importa bases de datos de formato Stata no se requiere
ingresar la extensión .dta.
Finalmente con el comando use podrá seleccionar solamente las variables que desea usando
la opción using importar por ejemplo
use fecha ipc inflación using ipc_ra, clear
2.1.1 Importar una base de datos .CSV o TXT
Uno de los formatos más comunes en el manejo de información estadística es el formato
Separado por Comas (CSV), para importar una base de dato se sigue la ruta:
File
Import ASCII data created by a SpreedsheetComo se mencionó anteriormente en la parte superior de cada ventana aparece el nombre del comando correspondiente, si el usuario desea llamar una ventana puede hacerlo desde la ventana de comandos por medio de db nombre_comando.
En este caso el comando insheet tiene la siguiente estructura
insheet [variables] using ruta , opciones
Por ejemplo:
insheet using "C:\Users\USER\Documents\Software Shop\Stata\Taller docentes\Docentes_01.csv", delimiter(":") clear
En el caso que el usuario no requiera importar la totalidad de la base de datos debe especificar después del comando insheet el nombre de las variables; entre las opciones encontramos el tipo de formato que separa los datos, como son tabulaciones (tab), comas (comma) o especificado por el usuario (delimiter(“x”)).
19
La función anterior es similar para archivos con extensión .TXT.
2.1.2 Importar una base de datos .XLS o .XLSX
2.1.2.1 Pegar bases de datos de Hojas de cálculo
Es común que las bases de datos y los archivos que se usan a diario por las empresas y sus
trabajadores sean de hojas de cálculo, para facilitar el trabajo de uso de Stata cuando las
bases son de una hoja de cálculo se puede sin mayor problema copiar los datos de la hoja
correspondiente y posteriormente en la ventana edit dar clic derecho y seleccionar pegar o
la secuencia CTRL + V, de ésta forma Stata reconoce los datos correspondientes.
Nota: El usuario debe tener sumo cuidado con el formato de la base original dado que Stata
trabaja los separadores decimales con el punto y no con la coma como se usa en la
configuración de los computadores con idioma español. Para ello se recomienda al usuario
cambiar el formato de separador decimal y de miles en su hoja de cálculo o directamente
desde la configuración regional de su equipo. De igual forma usar la técnica de buscar y
reemplazar le permite obtener un buen resultado.
Se recomienda ver información adicional con help input, infix e infile.
Editor de datos en stataLos datos pueden ser visualizados o introducidos en Stata haciendo clic en el ícono de la ventana “Data Editor”, presionando “control+7”, o haciendo clic en
Data Data Editor Editor
Figura 7. Editor de datos de Stata
La ventana emergente presenta un formato similar a una hoja de cálculo y le permite a un usuario hacer manipulación de variables y observaciones similares a las que se realizan en una hoja de cálculo. La opción más sencilla para cargar una base de datos es copiar y pegar la información de su hoja de cálculo a la ventana de Edit de Stata.
20
Snapshots: Permite preservar y restaurar la base de datos a un punto
predeterminado por el usuario.
Hide/Show Variables: Sólo para efectos de visualización, esta opción permite
ocultar parte de una base de datos.
Filter Observations: Mientras esté abierto el editor de datos, a través de esta
opción es posible mantener un filtro sobre la base la base de datos.
Variable Properties: Esta opción permite renombrar variables, asignar etiquetas a
variables y valores de variables categóricas, y ajustar los tipos de variables y los
formatos de las variables.
Variable Manager: Similar a la opción anterior, además permite visualizar
simultáneamente varias variables y adicionar notas a estas.
2.1.2.2 Asistente de Importación de Excel files
La versión 12 de Stata ha incorporado una nueva herramienta para importar bases de datos
tipo .xls o .xlsx, para acceder al asistente siga la ruta File Import Excel Spreadsheet
(*.xls, *.xlsx) emergerá la siguiente ventana:
21
Figura 8. Asistente Importación Archivos de Excel
Nota: Para poder importar la base de datos debe tener cerrada la base de datos de lo
contrario el asistente no realizará la importación.
La estructura del comando es:
import excel [using] filename [, import_excel_options]
En las opciones podrá seleccionar:
- sheet("sheetname") Nombre de la hoja a importar
- cellrange([start][:end]) Rango de celdas a cargar
- firstrow Tomar la primera fila como los nombres de las variables
- allstring Importar todas las variables como texto
- clear Reemplazar los datos en la memoria
Para el ejemplo la instrucción es:
import excel "C:\Users\Brayan\Desktop\base1.xlsx", sheet("base 1") firstrow
2.1.3 Importar otros tipos de archivo
Busque el
archivo
de Excel
Seleccione
la hoja a
importar
Active la casilla si en
su hoja la primera fila
contiene los nombres
de las variables
Seleccione
el rango de
los datos
22
Hay otro tipo de archivos que Stata le permite importar automáticamente como archivo
para ello se recomienda tener en cuenta las siguientes recomendaciones:
TIPO DE BASE
COMANDO
ODBC
Odbc
Archivo de Texto sin diccionario
(.raw)
Infile
Archivo de Texto con ancho fijo
(.raw)
Infix
Archivo
de
Texto
con
diccionario (
infile2
Formatos SAS XPORT o .xpf
import sasxport
Formato tipo haver
haver
XML files
Xmlsave
Tabla 5. Otros comandos para importar archivos
Finalmente si tiene otro tipo de archivos se recomienda que adquiera el software
Stat/transfer,
para
mayor
información
ingrese
a
http://www.stata.com/products/transfer.html
, éste programa le permite importar archivos
tipo SPSS, SAS, R, RATS, Statistica, MATLAB, GAUSS, entre otros.
2.2 SALVANDO UNA BASE DE DATOS
Como los datos han sido cargados en la memoria RAM, sólo puede modificarse la base de datos original de tres formas
Haciendo clic en el icono de salvado en la barra de herramientas Haciendo clic en ctrl+S
A través del cuadro de comandos empleando el comando “save”, por ejemplo
save base1.dta, replace
La opción replace le permite sobre escribir un archivo que tenga en el mismo directorio de trabajo activo y con el mismo nombre.
Una vez que los datos han sido guardados o abiertos es posible optimizar el espacio que estos ocupan utilizando el comando compress este comando comprime la base de datos. Es muy útil cuando trabajamos con bases de datos grandes.
2.3 DESCRIPCIÓN DE LA BASE DE DATOS
Una vez se tenga una base de datos cargada, es necesario empezar a revisarla y obtener
información de ella, para ellos Stata le permite al usuario por medio de diferentes
procedimientos entender cada variable y su contenido.
23
Lo primero que debe realizar el usuario una vez importa o abre una base de datos es
observar la base, para ello se encuentran diferentes formas de visualizar los datos, entre
ellas las opciones de edit y de browse, las cuales abren una ventana con forma de hoja de
cálculo, la otra opción es por medio del comando list que permite visualizar la o las
variables en la ventana de resultados, se recomienda usar los comandos edit, browse y list
con las opciones if – in.
Adicional a esto el usuario puede recibir información específica de cada variable por medio
de las opciones del menú Data Describe Data. En éste menú las opciones de describe
data in memory, describe data contents e inspect variables, le da la posibilidad al usuario de
obtener información correspondiente al nombre, la etiqueta, el tipo y formato de la variable,
notas, etiquetas sobre valores, el número de valores perdidos, entre otras. A continuación se
presenta un ejemplo del uso de estos comandos
*cargar una base de datos del programa
sysuse auto
*observar los datos
browse
24
*Describir los datos
describe make price mpg
Cuando se desea aplicar un comando para todas las variables de la base de datos podrá hacerlo ingresando el comando sin incluir ninguna variable de esta forma Stata tomará la instrucción para toda la base de datos, otra alternativa es escribir _all posterior al comando por ejemplo:
sysuse auto describe _all
2.3.1 Creación de Variables
Por medio del menú Data podemos encontrar opciones como crear nuevas variables Data Create or Change Data Create New Variable:
.
mpg int %8.0g Mileage (mpg) price int %8.0gc Price
make str18 %-18s Make and Model
variable name type format label variable label
storage display value
foreign byte %8.0g origin Car type gear_ratio float %6.2f Gear Ratio
displacement int %8.0g Displacement (cu. in.) turn int %8.0g Turn Circle (ft.) length int %8.0g Length (in.) weight int %8.0gc Weight (lbs.)
trunk int %8.0g Trunk space (cu. ft.) headroom float %6.1f Headroom (in.)
rep78 int %8.0g Repair Record 1978 mpg int %8.0g Mileage (mpg) price int %8.0gc Price
make str18 %-18s Make and Model
variable name type format label variable label
25
Figura 10. Generate
La creación de las variables se realiza por medio del comando generate, los comandos en Stata no es necesario escribirlo en su totalidad, la mayoría de los comandos pueden ser reducidos en un prefijo, para conocer el prefijo de cada comando escriba help nombre del comando en la ayuda aparecerá subrayado el nombre hasta cierto carácter indicando que puede usar solamente ese texto para ejecutar el comando, por ejemplo g es igual a generate
Figura 11. Prefijo de un comando Algunos ejemplos de creación de variables:
generate suma = var1 + var2 gen resta = var1 – var2 g multiplicación = var1 * var2
26
Tabla 6. Operadores
En algunas ocasiones se requieren algunos caracteres especiales, uno de ellos son los caracteres _n y _N o denominadas variables del sistema, _n es un contador del número de observaciones, y _N indica el total de observaciones de la base de datos.
gen tendencia = _n gen totales = _N
Para la creación de variables con condiciones puede utilizar la opción de la estructura de comandos [if] [in], estas opciones le permitirán poner restricciones no solo para la creación de variables si no para la gran mayoría de comandos que contiene Stata, debe tener en cuenta que solo debe escribir una vez el carácter if o in, a continuación algunos ejemplos en el uso de estos caracteres especiales:
gen dummy = 1 if TV >5 * crea una variable con valores = 1 si TV > 5, perdido en otro caso. list make mpg if mpg>25
list price in 10/20 * crea una lista para las observaciones entre la 10 y 20 list price in -10/l * crea una lista con las últimas 10 observaciones
Para la opción in se puede utilizar las siguientes estructuras: # Condición sobre una única observación
#/# Condición sobre un rango de observaciones
#/l Condición sobre una observación hasta la última (l)
f/# Condición desde la primera observación (f) hasta una observación
27
A continuación listamos algunas funciones matemáticas, estadísticas y de fecha importantes en la creación de variables
FUNCIÓN EJEMPLO DESCRIPCIÓN
ln() g lpib = ln(pib) Logaritmo natural
exp() g epib = exp(pib) Exponencial
sqrt() g y = sqrt(epib) Raíz cuadrada
abs() g x = abs(y) Valor absoluto
cos() g coseno = cos() Coseno
logit() g logit = logit(x) Retorna el logaritmo de los odds ratio de x runiform() g uniforme = runiform() Genera números aleatorios de una distribución
uniforme [0,1)
rnormal() g normal = rnormal() Genera números aleatorios de una distribución normal estándar (0,1)
rnormal(m,s) g normal = rnormal(10,2) Genera números aleatorios de una distribución normal con media m y desviación estándar s int() g enteros = int(pib) Convierte una variable o dato en entero
invnormal(p) g inversa = invnormal(prob) Genera una variable como la inversa de la probabilidad de una distribución normal length(s) g largo = length(nombre) Presenta el número de caracteres de una
variable string Tabla 7. Ejemplos Funciones generate
2.3.2 Extensiones en la creación de variables
Podemos utilizar algunos comandos adicionales para la creación de variables con algunas condiciones, tales como el comando egen y la función cond()
Ejemplos:
gen dummy = cond(TV>5,1,0) gen dummy = (TV>5)
egen concatenar = concatenate(“variable1” “ “ “variable”)
FUNCIÓN EJEMPLO DESCRIPCIÓN
max() egen maximo = max(ingresos) Presenta el máximo de una variable min() egen minimo = min(ingresos) Presenta el mínimo de una variable mean() egen promedio = mean(ingresos) Presenta el promedio de una variable
kurt() egen curtosis = kurt(ingresos) Presenta la curtosis de una variable
sd() egen desviación = sd(ingresos) Presenta la desviación estándar de una variable
2.3.3 Ordenar variables y bases de datos
28
Figura 12. Ordenar datos
Para ordenar en forma descendente se recomienda usar el comando gsort de la siguiente forma:
gsort – var1 – var2 +var3
El comando anterior nos produce un ordenamiento descendente primero por la variables VAR1, seguido por la variable VAR2 y de forma ascendente por la variable VAR3, indicando que se debe ubicar un signo (-) para establecer descendente y un signo (+) para orden ascendente, aunque este último no es necesario en el comando.
Existe otro caso y es en el caso que se deseé ordenar las variables, es decir cambiar el orden en la base de datos, por medio del comando order es posible realizar esto, de igual forma es posible utilizar aorder para que las variables queden ordenadas en forma alfabética. Finalmente el comando
move permite modificar la ubicación de las variables, pero a partir de la versión 11, este comando es
reemplazado por order.
2.3.4 Cálculos por grupos
En algunas ocasiones el usuario requiere de verificar la información por una característica particular, grupales, entre otras, para ellos Stata cuenta con el prefijo by el cual se ubica previo al comando estadístico, gráfico o de modelo.
Ejemplos
use http://www.stata-press.com/data/imeus/census2d, clear gsort region -pop
by region: generate totpop = sum(pop) by region: list region totpop if _n = = _N
29
by region: egen meanpop = mean(pop)
by region popsize, sort: egen meanpop2 = mean(pop) by sex age: regress wage expert expert2 occup
El comando by permite generar variables por diversas categorías, además, permite ordenar de acuerdo a alguna variable. En el último ejemplo hace una regresión por cada categoría entre el género y la edad.
2.3.5 Codebook e Inspect
codebook, escribe el contenido de las variables, indicando número de observaciones, valores
perdidos, percentiles, entre otros.
codebook foreign
codebook price
inspect, entrega el número de observaciones de una variable identificando los valores positivos,
negativos, cero, missing, y si estos corresponden a números enteros o no. Los “missing values” se 3 1 Foreign
12 0 Domestic tabulation: Freq. Numeric Label
unique values: 2 missing .: 0/15 range: [0,1] units: 1 label: origin
type: numeric (byte)
foreign Car type 3 15906 3 14500 3 13594 3 13466 3 12990 tabulation: Freq. Value
unique values: 5 missing .: 0/15 range: [12990,15906] units: 1 type: numeric (int)
price Price
30
señalan en Stata mediante un punto (.). Se considera que un missing value es mayor que cualquier valor.
2.4 CONSERVAR Y RECARGAR BASES DE DATOS
Es importante cuidar la base de datos que se está trabajando, por eso se recomienda salvar la base de datos, pero además, Stata ofrece opciones que le permitirán al usuario guardar la base de datos de forma virtual, por medio de los comandos preserve y snapshot y para recuperar la base con el comando restore
preserve restore
snapshot save, label("nombre del elemento guardado") snapshot restore 1
La diferencia entre el snapshot y el preserve es que este último solo permite guardar una vez la base de datos, mientras el snapshot varias veces.
2.5 FILTROS DE LA BASE DE DATOS
Ejemplos de filtros
browse if pop > 10000000
browse if pop > 10000000 & marriage > 100000
browse if pop > 10000000 & marriage > 100000 & popurban > 10000000 browse if pop > 10000000 | marriage > 100000 & popurban > 10000000 Uso del in
browse pop in 1/10
browse pop in f/10 f = FIRST, l = LAST browse pop in 10/l hasta el último
Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep, drop y list.
drop elimina observaciones y/o variables.
keep conserva observaciones y/o variables.
list presenta variables y/o observaciones en la ventana de resultados.
(5 unique values) 1 5 74 . # # # # Missing 5 # # # Total 69 69 # # # Positive 69 69 # Zero # Negative Total Integers Nonintegers rep78: Repair Record 1978 Number of Observations . inspect rep78
31
edit permite visualizar los datos en una hoja de datos y podrá editar y modificar los datos.
browse realiza las mismas opciones de edit pero no se puede modificar la información.
El comando keep y drop tienen la misma estructura
keep/drop variables keep/drop if expresión keep/drop in rango
Ejemplos
sysuse census
drop death divorce * Elimina las variables death y divorce
keep state pop* medage marriage * Conserva las variables indicadas
drop if medage > 30 * Elimina las observaciones donde medage sea mayor a 30
sort popurban
keep in -10/l * Conserva las últimas 10 observaciones con mayor popurban
2.6 ADMINISTRADOR DE VARIABLES
En la versión 11 de Stata se incluyó la ventana del administrador de variables, este
administrador de variables permite modificar información de cada variable, principalmente
el cambio de nombre, etiquetas, tipo de variable, formato, notas y creación de categorías y
etiquetas.
Figura 13. Administrador de variables.
Para la modificación de la variable, deberá ser seleccionada la variable y una vez
modificada la información correspondiente debe dar click en Apply.
En la versión 12 Stata ha incluido una nueva ventana que es la ventana de propiedades en la
cual se pueden modificar la información de cada variable:
32
Figura 14. Ventana de Propiedades
Entre los cambios del administrador de variables y la ventana de propiedades se encuentran
las siguientes opciones, se describe el comando correspondiente para automatización de
tareas.
2.6.1 Rename
Este comando permite cambiar el nombre de una variable. Por ejemplo
rename nombreviejo nombrenuevo
rename price precio
2.6.2 Label Variable
Para ponerle nombre o etiqueta al variable
label var nombrevariable “etiqueta variable”
lable var precio “Precio del auto”
2.6.3 Notes
Se pueden crear dos tipos de notas, una para la base de datos o para la base de datos, a
continuación un ejemplo para cada caso:
notes divorce: 1 si la persona es divorciada, 0 en otro caso * nota para la variable divorce
notes _dta: Censo 1994
* nota para la base de datos
2.7 CREACIÓN DE CATEGORÍAS
La forma más sencilla de crear categorías de variables es por medio del administrador de
variables, la variable que seleccionará debe ser discreta, una vez inicie el administrador
33
debe seleccionar la variable que codificará, luego debe dar clic en Manage que se encuentra
a la derecha de la opción Value label
La figura 14 presenta el administrador de etiquetas, en el cual podrá crear, editar o eliminar
etiquetas y para las etiquetas ya creadas puede agregar, editar o eliminar valores que se
encuentran en una etiqueta creada.
Figura 14. Administrador de Value Labels
Para crear una nueva etiqueta haga clic en Create Label, en la figura 15 podrá agregar,
eliminar y editar las categorías con su correspondiente descripción.
34
Figura 15. Creación de Labels
Una vez haya creado la etiqueta deberá asignarla a la(s) variable(s) que correspondan, para
ello en el administrador de variable a la izquierda de Manage seleccione el nombre de la
etiqueta.
Figura 16. Asignación de etiquetas
Por medio de comandos
label define respuestas 1 “si” 2 “no” * Creación de la etiqueta con sus valores
label values pregunta1 respuestas *Se asigna a la variable pregunta1 la etiqueta respuestas
2.8 MODIFICACIÓN Y TRANSFORMACIÓN DE VARIABLESEn la sección anterior se presentó la forma de creación de variables por medio de los comandos gen y egen, de igual forma el comando replace. Pero existen otras formas de modificar variables ya sea en su formato, tipo de variable, codificación entre otras, a continuación se presentan las más importantes.
2.8.1 Recode
Este comando permite recodificar algún valor de una variable
35
recode x1 (1=2), gen(nx1)
En el ejemplo 1 se recodifica la variable x, cambiando los valores 1 por valores 2, la variable transformada se guarda como nx.
Figura 17. Recode
En el ejemplo 2 se cambia de 1 a 2 y de 2 a 1, generando la variable nx1.
2.8.2 División de Variables de texto
Split divide una variable texto en nuevas variables por el espacio o un carácter específico
split var1, parse(,) gen(geog)
2.9 COMBINACIÓN DE BASES DE DATOS
La combinación de bases de datos es un problema muy común para el investigador o el analista de información, Stata le permite realizar diferentes tipos de fusiones de bases de datos, a continuación presentaremos los dos formatos más importantes, la adición vertical (merge) y horizontal (append).
36
2.9.1 Combinación Vertical – AppendEste comando agrega filas a la base de datos, las variables deben como regla contener los mismos nombres, el mismo tipo de variable y además la base de datos sus variables deben estar ordenadas de igual forma. Para combinar conjuntos de datos verticalmente se emplea el comando append. En nuestro ejemplo, a la base de datos HOMBRES vamos a adicionar los casos correspondientes la información de las mujeres así:
use hombres, clear append using MUJERES
En la nueva base de datos se ha combinado la información hombres y mujeres en una única base de datos.
d
EDUCACION.dta
HOMBRES.dta
Adición casos:
append
No es necesaria
variable llave
MUJERES.dta
Adición de variables:
merge
Es necesaria variable llave.
Las bases de datos deben
estar ordenadas.
Revisar la variable _merge
37
En este punto se deben tener en cuenta dos aspectos.
1. El comando append debe estar acompañado de la palabra using la cual indica que el nombre a continuación corresponde a la base de datos de datos que será adicionada verticalmente.
2. Como la base de datos cargada en la memoria RAM ha cambiado es conveniente que el usuario salve la nueva información con otro nombre así.
save PERSONAS, replace
2.9.2 Combinación Horizontal – Merge
Se usa cuando se quieren traer nuevas variables de una base llamada using a una base de datos ya existente o master, éste comando une dos bases de datos utilizando una variable en común (generalmente es una ID, llave o código que identifica las observaciones de la base de datos). Las dos bases de datos deben estar guardadas en formato .dta, y deben estar ordenadas de acuerdo a la variable que se va a pegar. El objetivo de este comando es agregar variables (columnas).
Para pegar dos bases de datos (A.dta y B.dta), se deben realizar los siguientes pasos:
1. Ordenar (sort) la base de datos B de acuerdo a las variables con las que se hará la unión de las bases, es decir de acuerdo al ID, y guardar.
2. Abrir la base A y ordenarla de acuerdo al paso 1. 3. Usar el comando merge
4. Guardar la base de datos (save)
Si la base no está ordenada y contiene datos repetidos emerge el siguiente error:
Using data not sorted Master data not sorted
Para verificar que usted tenga un identificador único se recomienda que lo verifique por medio del comando isid.
38
isid id num
Si emerge error es porque el identificador se repite y si va hacer una fusión tendrá inconvenientes. Al momento de realizar el merge se crea una variable denominado _merge, que contiene tres valores:
_merge = = 1 Las observaciones son originarias del archivo “master” o base _merge = = 2 Las observaciones son originarias del archivo “using” _merge = = 3 Las observaciones se encuentran en ambos archivos
Siguiendo con el ejemplo anterior, vamos a agregar a la base de datos PERSONAS.dta, nuevas variables con la información sobre el nivel educativo y los años de educación aprobados de las personas. Esta información se encuentra en la base de datos EDUCACION.dta. Los pasos a seguir para realizar este tipo de pegue son:
1. Cargar la base “using” (EDUCACION.dta) de donde queremos traer las nuevas variables, la
ordenamos de acuerdo con la(s) variable(s) identificadora(s) “numero y e01” y salvamos los cambios. El comando para ordenar las observaciones es sort así:
use EDUCACION sort numero e01 d
save EDUCACION, replace
En este caso, el comando save está acompañado de la opción replace la cual denota que se está sobrescribiendo en la base EDUCACION original.
2. Cargar la base “master” (PERSONAS.dta), la ordenamos por el mismo criterio anterior y
salvamos los cambios.
use PERSONAS sort numero e01 d
save PERSONAS, replace
3. Aplicamos el comando merge para pegar horizontalmente las dos bases así:
La base de datos PERSONAS.dta contiene ahora las variables de la base de datos EDUCACION.dta, creando automáticamente la variable _merge.
39
Cuando una base de datos tiene más de una observación por unidad de estudio (individuo, país, empresa, etc.) nos puede interesar sólo trabajar con una observación por unidad (collapse) o mantener las observaciones distintas para cada individuo pero que se creen como variables o columnas distintas (reshape)
2.10.1 Collapse
Si se tiene una base de datos de hogares, cada observación es un miembro del hogar. Si cada hogar dispone de un identificador único, entonces se puede formar una base de datos alternativa que contenga una sola observación por hogar (en lugar de una observación por individuo) para cada una de las variables deseadas. Esta observación puede contener la media, desviación estándar, suma u otro estadístico. Ejemplo:
collapse (mean) edad (max) educación (p50) ingreso, by(hogar)
Lo anterior crea una base de datos con cuatro variables, hogar, edad, ingreso y educación.
Con frecuencia, la información estadística tiene algún grado de reserva o confidencialidad que la hace no accesible al público en su forma original. La mayor parte de la información proveniente de bases de datos grandes, por ejemplo las encuestas (de personas, de hogares, de empresas de la industria manufacturera, etc.) o los censos (de población, de instituciones educativas, de edificaciones, etc.) suele ser presentada en tablas resumen y en bases de datos colapsadas o agregadas.
En Stata es posible colapsar bases de datos a través del comando collapse. Debe tenerse en cuenta: 1) La(s) variable(s) de agregación: Variable(s) que definen las nuevas unidades de observación u observaciones agregadas.
2) El(Los) criterio(s) de agregación: Es la(s) operación(es) matemática(s) que será(n) aplicados a la base de datos original para obtener las nuevas unidades de observación colapsadas: suma, media, mediana, cuenta, percentil, etc.
3) La base de datos original ha sido modificada. Debería salvarse con un nuevo nombre. Por ejemplo, a partir de la base personas.dta, se puede obtener una base de datos agregada por localidad y sexo así:
40
La variable edu007 corresponde a los años de educación promedio y jefe a la suma de los jefes de hogar, en ambos casos, por localidad y sexo.
2.10.2 Reshape
En algunas ocasiones dependiendo del estudio muestral y de la construcción de la base de datos, usted encontrará su información en dos formatos, ancho (wide) y largo (long), el formato ancho es aquel en el cual usted tiene un conjunto i de individuos y un número j de variables, donde j es generalmente una variable con información para diferentes períodos de tiempo.
Para mostrar un ejemplo, utilizaremos la base de datos reshapeState descrita en el libro [1]:
use http://www.stata-press.com/data/imeus/reshapeState, clear list
En este caso se encuentran seis códigos de estados de nueva Inglaterra, y aparece la información de la población desde 1970 hasta el 2000 calculada cada década, a continuación transformaremos la base de datos de formato wide a long por medio del comando reshape, la estructura de este comando es:
reshape long variable_j, i(variable_individuos) j(nombre nueva variable) reshape wide variable_j, i(variable_individuos) j(variable_temporal)
6. VT .1086679 .0445188 .5644092 .7219492 .6759487 5. RI .684176 .2551499 .2110077 .4079702 .0580662 4. NH .6047949 .8714491 .8414094 .1180158 .8944746 3. ME .5578017 .5552388 .5219247 .2769154 .4216726 2. MA .6432207 .0610638 .8983462 .9477426 .4611429 1. CT .1369841 .6184582 .4241557 .2648021 .871691 state pop1970 pop1980 pop1990 pop2000 area
41
con la base de datos actual pasaremos de wide a long
reshape long pop, i(state) j(año)
list
Si se encuentra usted con una base de datos similar a la generada con el comando reshape, podrá pasarla a formato wide, en nuestro caso usaremos la siguiente sintaxis
reshape wide pop, i(state) j(year)
Continuando con el ejemplo de la encuesta de hogares. Se puede hablar de orientación vertical u horizontal cuando a cada una de las observaciones i en una base de datos, se las segmenta por algún criterio j (v.g., diferentes periodos de tiempo). En nuestro ejemplo, cada una de las localidades i, ha sido segmentada por sexo j, mientras que la base de datos en conjunto ha sido desplegada de forma vertical. En este caso sin embargo, puede resultar más cómodo emplear una base de datos orientada horizontalmente, en particular si se quieren hacer comparaciones para cada una de las localidades entre hombres y mujeres. Podemos emplear el comando reshape, acompañado de las opciones wide (despliegue horizontal) o long (despliegue vertical), para cambiar la orientación de la base de datos colapsada así:
reshape wide edu007, i(localid) j(e03)
pop1970 pop1980 ... pop2000 -> pop
xij variables:
j variable (4 values) -> año Number of variables 6 -> 4 Number of obs. 6 -> 24 >
Data wide -> long
24. VT 2000 .7219492 .6759487 23. VT 1990 .5644092 .6759487 22. VT 1980 .0445188 .6759487 21. VT 1970 .1086679 .6759487 20. RI 2000 .4079702 .0580662 19. RI 1990 .2110077 .0580662 18. RI 1980 .2551499 .0580662 17. RI 1970 .684176 .0580662 16. NH 2000 .1180158 .8944746 15. NH 1990 .8414094 .8944746 14. NH 1980 .8714491 .8944746 13. NH 1970 .6047949 .8944746 12. ME 2000 .2769154 .4216726 11. ME 1990 .5219247 .4216726 10. ME 1980 .5552388 .4216726 9. ME 1970 .5578017 .4216726 8. MA 2000 .9477426 .4611429 7. MA 1990 .8983462 .4611429 6. MA 1980 .0610638 .4611429 5. MA 1970 .6432207 .4611429 4. CT 2000 .2648021 .871691 3. CT 1990 .4241557 .871691 2. CT 1980 .6184582 .871691 1. CT 1970 .1369841 .871691 state año pop area
42
Para volver a la forma vertical
reshape long edu007, i(localid) j(e03)
2.10.3 Xpose
Usted podrá modificar la orientación de una forma completa en su base de datos, es decir, pasar de filas a columnas (similar a realizar un transponer en Excel), debe tener cuidado dado que no podrá retornar a la posición inicial.
sysuse auto , replace
43
keep mpg foreign xpose , clear
2.10.4 Stack
El comando stack le permitirá a usted fusionar variables por ejemplo tiene los meses de cada año ordenados en columnas y quiero formar una sola variable con todos los meses para todos los años 2.10.5 Extraer una muestra aleatoria de su base
En algunas ocasiones para hacer estudios muestrales requiere que la base de datos sea dividida por un método aleatorio, para ello podrá hacer uso del comando simple
sample 80 || tomará el 80% de la muestra
sample 20, count || tomará 20 observaciones a la zar
2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS
Cuando usted trabaja con bases de datos en el día a día se encontrará con diferentes problemas y situaciones que lo pondrán a prueba en el manejo no solo de Stata sino en el conocimiento de su información, por eso es importante que siempre se pregunte antes de hacer cualquier cambio en su base de datos, qué quiere hacer y cuál es el resultado esperado, de esta forma podrá pensar más fácilmente que tipo de ejecución requiere en Stata para llegar a su objetivo, a continuación presentaremos un conjunto de comandos que presentan algunos casos típicos en el manejo de bases de datos.
2.11.1 Replicar información
Dependiendo su análisis podrá requerir replicar algún tipo de información de su base de datos, por ejemplo un cliente, un usuario, un grupo, una empresa, un país, aunque no es una alternativa muy común, Stata le ayudará a realizar la reproducción de sus datos, expand, es el comando para duplicar información, pero con la característica que lo puede hacer n veces
sysuse auto, clear keep if price > 12000 list make price
expand 3 5. Peugeot 604 12,990 4. Linc. Versailles 13,466 3. Linc. Mark V 13,594 2. Cad. Seville 15,906 1. Cad. Eldorado 14,500 make price
44
De acuerdo al comando usado, los datos se encontrarán 3 veces en la base de datos, tal y como se presenta a continuación.
sort make price list make price
2.11.2 Verificación de datos
El comando assert le permitirá verificar la valides de sus datos, este comando le ofrece la posibilidad de incluir en un archivo de programación una condición, si la condición se cumple parará la ejecución de la programación, y de esta forma usted podrá chequear si hay algo que no es correcto en su base de datos, por ejemplo, usted tiene una base de datos con la edad de las personas, podrá utilizar assert para verificar que en ésta variable no hayan datos extraños, como una edad mayor a 100 años o menor a 0. La estructura sería
assert edad < 0 | edad > 100
Y aún más completo recomendaríamos incluir evaluar valores perdidos
assert edad < 0 | edad > 100 | edad = =.
2.11.3 Contador y reporte de datos repetidos
El comando count
cuantifica el número de observaciones con ciertas características. La
instrucción por sí sola, presenta el número total de observaciones, pero es posible
determinar algunas restricciones
15. Peugeot 604 12,990 14. Peugeot 604 12,990 13. Peugeot 604 12,990 12. Linc. Versailles 13,466 11. Linc. Versailles 13,466 10. Linc. Versailles 13,466 9. Linc. Mark V 13,594 8. Linc. Mark V 13,594 7. Linc. Mark V 13,594 6. Cad. Seville 15,906 5. Cad. Seville 15,906 4. Cad. Seville 15,906 3. Cad. Eldorado 14,500 2. Cad. Eldorado 14,500 1. Cad. Eldorado 14,500 make price