sábado, 19 de diciembre de 2015

Odds/Odds ratio (Regresión Logística)

¿Qué es una Odds? 

Esta medida es diferente de una proporción y corresponde a una razón entre la probabilidad de experimentar un evento en relación con la probabilidad de no experimentarlo. Es, en suma, un cociente de dos probabilidades. 

Odds y estudios transversales 
Cuando se tiene en un estudio de prevalencia es posible el cálculo de una Odds, la que corresponde a:






Por ejemplo, si la prevalencia de hipertensión arterial en varones es de 12,5% la chance u Odds de prevalencia de hipertensión será:


Odds en estudios retrospectivos de casos y controles: la lógica del Odds Ratio

En un estudio de casos y controles se puede, en propiedad calcular un odds. De hecho, se puede calcular más de un Odds.

Suponga un estudio de casos y controles en el cual se estudia la relación entre un factor de riesgo y una enfermedad, en el cual se obtiene la siguiente información: 


Enfermos
Controles
Expuestos
120
75
No expuestos
80
125

200
200

Considerando al primer grupo, los sujetos enfermos, ¿Cuál es la Odds de antecedente de exposición al factor de riesgo?






Considerando al primer grupo, los sujetos controles (sanos), ¿Cuál es la Odds de antecedente de exposición al factor de riesgo?


Note que la Odds o chance de haber estado expuesto en los casos es superior a la de los controles.

En este caso particular de diseño de investigación, un cálculo que intuitivamente se desprende es el de relacionar la Odds de exposición entre casos y controles en relación con la exposición estudiada. 

Este es el concepto de "Odds Ratio" (OR) o Razón de chances:


El Odds ratio permite:

1. Reconocer la naturaleza como factor de riesgo o de protección de una exposición.
2. Identificar la magnitud o fuerza de la asociación, lo que permite hacer comparaciones.
3. Su valor es independiente de la incidencia de la condición en estudio.
4. De gran utilidad en estudios de casos y controles

Fuente: http://escuela.med.puc.cl/recursos/recepidem/IndEpi3.htm
http://escuela.med.puc.cl/recursos/recepidem/indepi5.htm

Video donde se interpretan los odds en la regresion logistica (en inglés).

Uno de los comandos para la lectura de las odds, seria: 

tabodds

Se utiliza en estudio de caso control para calcular odds ratios cuando la variable exposición tiene más de dos niveles.
Utiliza test de homogeneidad para determinar que los OR calculados son iguales entre los diferentes niveles de exposición.
Utiliza el test de tendencia asumiendo que la variable exposición tiene un orden , teniendo como hipótesis nula que no hay un incremento del OR cuando el nivel de exposición se eleva.

Videos ayuda sobre comando logistic

Se presentan tres videos ayuda, del comando logistic del canal de You Tube de STATA.

El primero utiliza el comando logistic (modelo de regresion logistica) para predecir variables binarias.


El segundo utiliza el comando logistic, para predecir con variables continuas.


Y el tercero, y ultimo video, presenta el comando logistic, pero esta vez con variables con factores (ej. raza- negra, blanca u otra).

 

Regresión Logística. Estimación del modelo

La estimación del modelo de regresión logística se realiza por el método de máxima verosimilitud. Este método estima los valores de los parámetros b de la regresión que con mayor probabilidad pueden haber generado los valores de la variable dependiente de la muestra, si las asunciones del modelo son ciertas (las asunciones son las habituales de los modelos de regresión: que no falten variables importantes en el modelo, que no haya multicolinealidad entre las variables independientes, etc).


Se calcula una función de verosimilitud que indica cuál es la probabilidad de que para unos determinados parámetros b se hayan observado los valores muestrales. En un proceso iterativo, se van probando distintos valores de los parámetros b hasta que se encuentran los coeficientes que maximizan tal función de verosimilitud (o sea, los coeficientes que más verosímilmente corresponden a los valores muestrales): tales coeficientes serán los estimados para nuestro modelo. 

Este proceso iterativo se muestra en la salida de la instrucción logit, cuyo formato general es el siguiente:

logit variableindependiente   variabledependiente1 variabledependiente2 variabledependiente3 …


















Resultados del logit

Los resultados que proporciona STATA para el logit son similares a los de la regresión. Arriba a la derecha aparece el número de observaciones y una prueba estadística de significación del modelo basada en el χ 2 . Con un nivel de confianza del 95%, el modelo es significativo si la probabilidad que aparece es inferior a 0.05. En este caso, puede decirse que la relación entre los coeficientes del modelo y la probabilidad de haber participado alguna vez en una manifestación es significativa estadísticamente. Por último, aparece en esta columna de estadísticos el pseudo R2 . Como su propio nombre indica, es un estadístico análogo al R2 , que indica la bondad de ajuste del modelo a los datos. Aunque no tiene la inmediatez de interpretación del R2 de la regresión lineal, que directamente indica qué proporción de la varianza de la variable dependiente es explicado por el modelo, es una aproximación basada en una comparación de la verosimilitud del modelo sólo con la constante.

Pruebas de significacion del logit

Mediante la orden logit se muestran dos pruebas de significación diferentes: por un lado, el test de chi2 , que indica la significación del modelo completo (o sea, hasta qué punto la relación existente entre la variable dependiente y el conjunto de variables independientes es significativa); por otro lado, aparece el test de z para cada coeficiente, indicando hasta qué punto cada coeficiente tiene un efecto significativo en la ecuación. Adicionalmente se pueden realizar otras pruebas de hipótesis sobre los coeficientes de la ecuación: puede interesar por ejemplo saber si un coeficiente es igual a un determinado valor, o si dos coeficientes tienen el mismo efecto sobre la variable dependiente, o si el efecto de dos coeficientes diferentes es simultáneamente igual a 0.

Ejemplo Modelo Logit Stata


https://www.youtube.com/watch?v=xQ0uySZblxA



martes, 17 de noviembre de 2015

Comando egen

egen un comando muy útil para crear variables. egen o extended generate se utiliza cuando se quieren generar variables que requieren operadores matemáticos complejos: suma de una variable (no renglón a renglón sino el total), máximo, mínimo, número de casos, media, mediana, etc.

El comando egen es una extensión del comando generate . El comando egen genera variables en función de valores de otras variables.

Función general de egen: 





Ejemplos:
egen sumvar1=sum(var1) // suma de la var1
egen meanvar1=mean (var1), by (var3) // media de la variable var1 por cada var3
egen count=count(id), by(dpto) // número de casos por variable departamento

Lista de posibles opciones para egen:

count number of non missing values
diff compares variables, 1 if different, 0 otherwise
group creates a group id from a list of variables
iqr interquartile range
max Maximum value
mean mean
median median
min minimum value
pctile percentile
rank rank
sd standard deviation
sum sums


Es importante saber que la aplicación de este comando desordena el fichero de datos.

db egen

Anotaciones: _N y _n

Existen dos anotaciones de STATA de interés para la construcción de una variable, que son _n y _N.
  • _n enumera cada observación en base al total de observaciones que tenemos en la base. _n es 1 en la primera observación, 2 en la segunda observación, 3 en la tercera observación y asi sucesivamente.
  • _N le da el valor del total de observaciones que tiene la base.

Ejemplo de estas dos anotaciones:

input score group
72 1
84 2
76 1
89 3
82 2
90 1
85 1
end
generate id = _n
generate nt = _N
list
         score      group    id         nt
  1.        72          1          1          7 
  2.        84          2          2          7 
  3.        76          1          3          7 
  4.        89          3          4          7 
  5.        82          2          5          7 
  6.        90          1          6          7 
  7.        85          1          7          7


Como se puede ver el id variable contiene el número de observación que va desde 1 a 7 y nt es el número total de observaciones, que es 7.

lunes, 2 de noviembre de 2015

Combinando Bases de Datos (Fusión de Ficheros)

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.

domingo, 1 de noviembre de 2015

Otra biblografía...

*Otra de la biblografia posible para la practica de STATA es posible gracias a las publicaciones de clases de Esteban Calvo: Introduccion a Stata.

Esteban Calvo

Profesor del Instituto de Políticas Públicas de la Universidad Diego Portales, Profesor Adjunto de Epidemiología en el Mailman School of Public Health de Columbia University y estoy afiliado al Robert N. Butler Columbia Aging Center. También he sido Profesor de Sociología de la Universidad Católica de Chile  y consultor de Harvard University, Naciones Unidas, Gobierno de Chile y Center for Retirement Research.

http://www.estebancalvo.com/es/difusion_/recursos/


Se agrega esta biblografia a las ya mencionadas en otro post:

Fuentes y referencias biblográficas: 
Es una página web del curso de STATA impartido en la Universidad Autónoma de Barcelona, España. Pueden encontrar materiales y ejercicios (la mayoría en español e inglés).


Gestión de base de datos: tipos de datos, string

Variables “string”

Para crear una variable que contenga palabras se utiliza el siguiente comando:

generate str8 pais = ” ”

El límite máximo es de 244 caracteres. En este caso, la variable de tipo string amplía la cantidad de caracteres de acuerdo a los datos que almacena.

replace pais = Argentina

Contenido posibles de un string

Datos identificatorios: algunas variables de tipo string contienen identificadores para las observaciones.
  • Esta información no puede ser utilizada directamente en el análisis estadístico.

Datos de categorías: por ejemplo un texto que indica el nombre del país. En este caso la información si podría usarse para cálculos estadísticos. Para esto debe transformarse en numérica de la siguiente manera:

encode paises, gen(npaises)
  • Este comando crea la variable npaises que es de tipo numérica (long), pero que contiene una etiqueta para cada valor numérico distinto de acuerdo a la palabra presente en la variable país.

Datos numéricos en un string: por alguna razón, un string podría estar almacenando número.
  • Si queremos crear una variable numérica a partir de esa información, debemos hacer:

generate numvar = real(stringvar)
  • El paso inverso también es posible de la siguiente manera:

generate stringvar = string(numvar)

martes, 27 de octubre de 2015

Detectar duplicados y eliminarlos


Escrito por el Prof. Florentino Jorge Menendez

El tratamiento más sencillo es con sólo dos instrucciones:

duplicate list (Acá te lista las observaciones duplicadas en todas las variables)
duplicate drop (Acá te borra observaciones de tal forma que te queda solo una).

Si quisieras eliminar los casos duplicados, que aparecen en una variable y con ella sus datos (otras columnas). La sintaxis seria duplicates drop var1, force. Se le agrega el force, para poder eliminar los duplicados. 

Si vos tuvieras miedo de tener observaciones repetidas en una variable de identificación, que por cualquier razón (error de tipeo por ejemplo) no fuera igual en todas las variables, las podés trabajar con:

duplicates list id (Esto te da si están repetidas en id)
duplicates tag id, gen(id_dupl) (Esto pone un 1 en la variable id_dupl, para poder mirar qué pasa con esas observaciones)

list if id_dupl == 1  (Para ver en qué difieren las variables de observaciones que tienen mismo id)

Con la sintaxis db duplicates, te accede a la seleccion de las diferentes cuadros de menus posibles para manejar duplicados. tag, drop, example, report...

Los diferentes cuadros de menu para trabajar los duplicados:

*db duplicates 


Preserve y restore

Antes de eliminar alguna variable o eliminar determiandas observaciones, se puede tener un respaldo de la base antes de realizar cualquier acciones antes mencionadas. Estos comandos permiten guardar la base de datos tal como se encuentra. 

  • preserve toma una foto de la base de datos y se pueden realizar modificaciones en la base. Si se quiere revertir se hace restore.


Eliminar y generar nuevas variables

Generate

Para crear una nueva variable, usaremos el comando generate. En Stata al crear una nueva variable debemos especificar el nombre y el contenido de la misma. Para definir el contenido usaremos expresiones lógicas y funciones aritméticas, lo que da mucho poder al comando generate. Por ejemplo:
  • generate nuevavariable=.  (Genera una nueva variable con todos los valores ‘missing’)
  • generate nuevavariable=variableexistente (Genera una copia de una variable)
  • generate nuevavariable=1 if variableexistente<=2 (Genera una variable que toma valor 1 si la antigua es menor o igual que 2, y missing para el resto)
  • generate nuevavariable= variableexistente^2 (Genera una variable igual al cuadrado de la antigua)
Dialogo Box (Cuadro de Menu) de Generate


Drop /keep

Para eliminar una variable, o un conjunto de variables, sólo tenemos que usar el comando drop nombrevariable Por el contrario, si lo que queremos es conservar una serie de variables, usaremos el comando keep, que es el inverso de drop (elimina todas las variables no especificadas).

Drop if / drop in (keep if/ keep in)

Si lo que queremos es eliminar algunas observaciones en lugar de variables, usaremos las expresiones lógicas para especificar qué casos queremos borrar (o conservar). Así, usaremos drop if cuando queramos especificar una condición, y drop in cuando queramos delimitar un rango de observaciones.






















Recodificar variables

Replace

Si para crear una nueva variable usábamos el comando generate, para cambiar su contenido, normalmente usaremos el comando replace. El comando replace, combinado con las expresiones lógicas y funciones aritméticas, es de gran utilidad y nos permite hacer muchas cosas que en otros programas resultan más complicadas de hacer. La sintaxis general es replace variable = valor o expresión (if /in)





















Recode

recode es una alternativa, más limitada pero útil para recodificar variables categóricas. Con recode cambiamos los valores de la variable uno a uno, debiendo especificar siempre los valores de partida y los de destino. La sintáxis básica es como sigue: recode variable (#=#) (# # = #) (# / # =#) En esta sintaxis, podemos especificar dos valores de partida separándolos con un espacio, o un rango de valores, usando el símbolo / o  # normalmente será un valor numérico, pero también puede ser:
  • missing - Todos los casos perdidos
  • nonmissing - Todos los casos válidos
  • else - El resto de valores no especificados
  • min - El valor mínimo
  • max - El valor máximo (ojo con los missing que se consideran infinito)




Estadística descriptiva en Stata


Summarize

El comando summarize variable1 variable2 (etc.) nos aporta información del número de observaciones válidas, la media, la desviación estándar y el mínimo y máximo de las variables que nosotros especifiquemos. Se trata de la información más relevante y, a menudo, tendremos suficiente con ella. Sin embargo, si queremos un resumen más completo podemos usar la opción detail, summarize variable1 variable2, detail. Es la sintaxis para el resumen estadistico.


Stata nos aporta más información sobre el contenido y propiedades de las variables. Con este comando, obtenemos los estadísticos descriptivos como la media, la desviación estándar, mínimo y máximo, Percentiles, Varianza, Asimetría (Skewness) y Kurtosis.


Tablas de estadísticos descriptivos

El comando summarize, a efectos generales, resulta de gran utilidad para hacer resúmenes de la muestra entera. Si lo combinamos con la opción if, podemos pedir estadísticos descriptivos para las submuestras que nos interesen, y combinado con by nos permite obtener los estadísticos descriptivos separados por grupos. Pero esta opción produce un output difícil de leer e incómodo de exportar. Por eso Stata dispone de diversas opciones para realizar tablas de estadísticos descriptivos:

Tabulate, summarize
Nos muestra una tabla de frecuencias de los grupos con la media y la desviación estándar de la variable especificada. Es útil cuando queremos estos dos estadísticos de una variable entre grupos, pero no tiene mucha más flexibilidad. tabulate variablegrupo, summarize(variable1)



Tabstat
Este comando es más potente, puesto que nos permite incluir más de una variable y un amplio abanico de estadísticos descriptivos. El formato de resultados es especialmente útil, sobre todo cuando trabajamos con una sola variable. tabstat variable1 variable2, stats(mean med sd min max) 


martes, 20 de octubre de 2015

Do file

Do File es una opción que el programa STATA presenta para que toda la programación de manipulación de bases de datos esté disponible.

Todos los comandos que se utilicen en la ventana “Command” de la parte inferior quedarán automáticamente guardados en el historial de comandos. El historial de comandos es la ventana ubicada en la parte superior izquierda que lleva el nombre “Command”.


Cuando se termine de trabajar, y de generar todas las variables, se puede copiar todo el historial de comandos con “shift” en cada teclado y las teclas de dirección, o simplemente seleccionándolo todo y copiándolo con click derecho.


En la parte superior del STATA se encuentran estas opciones, similares a las que presenta un Word, o Excel, etc… La flecha roja presenta la opción de creación de Do files. Simplemente se da click encima de ésta y automáticamente se abrirá una ventana en el STATA. En esta nueva ventana se pueden pegar (CTRL +V , o utilizar click derecho + pegar) los comandos previamente copiados.



Esta nueva ventana se debe guardar, FILE, SAVE AS… y se ha creado el Do file. Se puede cerrar todo el STATA posteriormente.

Para correr el Do File

Cuando se quiera correr toda la sesión que se trabajó, se abre el programa y se abre la misma pestaña presentada en la segunda imagen de este documento. Al momento de abrir la ventada de Do file se puede buscar el archivo guardado (FILE, OPEN).

Si el Do file no tiene errores (OJO se deberá tener un Do file sin errores, los comandos erróneos son rojos y si se intenta correr un Do file con comandos rojos éste se detendrá automáticamente) toda la sesión que se trabajó será ejecutada en la interfaz del Stata. 

jueves, 15 de octubre de 2015

Nombres, Etiquetas y Notas

Las variables en Stata tienen nombres y etiquetas que nos ayudarán a identificarlas. Un buen
uso de los nombres y etiquetas nos puede ahorrar mucho tiempo y hacer nuestro tabajo en
Stata más fácil, eficiente y fiable.

Rename

Si queremos cambiar el nombre de cualquier variable, sólo tenemos que usar la orden rename nombreviejo nombrenuevo

Etiquetas de variable

Las etiquetas de variable resultan útiles especialmente cuando tenemos muchas
variables similares o cuyos nombres no resulten informativos. Para asignar etiquetas o
cambiarlas, sólo tenemos que escribir label variable nombrevariable
“etiqueta” (las comillas son importantes).

Etiquetas de valores

No sólo las variables tienen etiquetas, sino que las categorías en las variables
categóricas también las pueden tener. Esto resulta especialmente útil porque nos
permite identificar las categorias sin tener que recurrir constantemente a los
cuestionarios o libros de códigos. Para asignar etiquetas de valor a una variable
debemos proceder en dos pasos:

  • Primero creamos la etiqueta mediante el siguiente comando: label define nombreetiqueta 1”etiqueta1” 2”etiqueta” (etc.)
  • Después vinculamos la etiqueta a la variable o variables: label values variable nombreetiqueta

Desde el menu es posible, gracias al cuadro que encontramos en la pantalla principal, abajo a la derecha, Propiedades. Aqui es posible cambiar las etiquetas de las variables, y las etiquetas de los valores.


Destacar que para modificar los elementos mencionados, se deberá clickear el "candado" (para desbloquear esta ventana)


O desde el Variable Manager, donde se encuentra este tipo de pantalla, pero para cada variable (detallando sus caracterisiticas y opciones). 

  

Name, nombre de la variable
Label, etiqueta de la variable
Type, tipo de la variable (string, float...etc)
Format (formato), este alude a la presentación, la forma de visualización.

Notas

Y en Notes, aparecen las diferentes notas que puede tener la o las variables. Las notas en Stata son meta datos, son comentarios de la base o de las variables (en este caso de las variables).

Las sintaxis de las mismas son:
  • note: agregar notas a la base
  • note [variable]: agrega notas en la variable de la base




Existe un menu donde es posible, asi como agregar notas y etiquetar variables, etiquetar valores de una variable. En la siguiente captura de pantalla lo podemos visualizar.

En la misma es posible crear las etiquetas de los valores, editarlas o borrarlas. En el caso a continuacion, se etiqueto a 1 como Extranjero y 0 como Domestico (a este etiquetado se le llamo Origen, origin).




viernes, 9 de octubre de 2015

Comandos de ayuda de STATA

Comando de ayuda de STATA

help La ayuda de Stata es el primer recurso que utilizaremos normalmente. La podemos abrir desde el menú ayuda o desde la línea de comandos usando la orden help. Cada comando de Stata tiene su archivo de ayuda asociado. Usando el menú de Help puede buscar información usando palabras claves y producir una pantalla que contiene:
  • Enlaces de hipertexto las cuales lo conectan con los archivos de ayuda correspondientes.
  • Referencias a temas en los manuales de referencia y de gráficas (Reference Manual y Graphics Manual), a la guía del usuario (User's Guide) y al boletín técnico (Stata Technical Bulletin.)
  • FAQs preguntas frecuentemente hechas sobre el tema en el sitio-web de Stata.




findit (lo que se quiere buscar) Busca en el contenido que tiene STATA de ayuda y manual en el sistema. Otro comando de ayuda. 

Menú del comando findit















db Este comando sirve para dirigirte al cuadro de dialogo de lo que se quiere utilizar. Las iniciales db viene de dialogo box. Ej. db [commandname]

martes, 6 de octubre de 2015

Valores Perdidos. Missing.

Prácticamente siempre nuestros datos serán incompletos. Es decir: tendremos observaciones para las cuales no dispondremos de toda la información de todas las variables. En esos casos hablamos de ‘casos perdidos’ o ‘valores perdidos’. Con Stata podemos trabajar con ellos de diversos modos.

Stata representa los valores perdidos con un punto (.) De este modo, el programa sabe que aquella celda es un valor perdido y que no debe considerarlo en sus cálculos. De todos modos, si queremos distinguir entre diferentes tipos de casos perdidos (no aplicable/ no sabe/ no contesta, etc) podemos usar una letra después del punto .a, .b, etc. Así, podemos definir hasta 27 tipos de valores perdidos.

Por defecto, cuando le pedimos a Stata una tabla de frecuencias de una variable, omite los valores perdidos. Esto, que en general resulta útil, a veces puede no interesarnos, puesto que pueden contener información interesante. Asi, cuando pidamos una tabla de frecuencias con el comando tabulate, si añadimos al final del comando la opción , missing el programa considerará y nos mostrará también los casos perdidos.

En cuanto a la sintaxis para observar los valores perdidos, es posible gracias a misstable (tabla de los valores perdidos).
  • misstable summarize [varlist]
  • misstable sum, all  Es posible observar los valores perdidos de todas las variables.
En una sintaxis para no tomar en cuenta los valores perdidos o missing values, se debe luego del comando y la expresion, agregar:
  • ... if !missing(variable)
  • ... if variable !=.
  • ... if variable <= . 
Esta última expresión tiene en cuenta que hay valores faltantes distintos de . , que son .a, .b, etc.

Visualización de misstable sum












Aquí observamos con misstable sum que la única variable con 5 valores perdidos es rep78






















Operadores para trabajar con subgrupos o submuestras


Stata por defecto aplicará todas las órdenes a todos los casos de la base de datos. Sin embargo, a menudo nos interesará trabajar solo con una sub muestra de ellos, ya sea por razones substantivas o de conveniencia para realizar cálculos y transformaciones. Existen diversas instrucciones para precisar a qué parte de los datos aplicar cada orden:

if. Es la instrucción principal para definir subgrupos. Usando if tras un comando aplicaremos la orden anterior sólo al subgrupo definido por la expresión lógica que precisemos: se realizará la operación sólo para aquellos casos que cumplan la condición definida por la expresión lógica. Como if trabaja con operadores lógicos, se trata de un mecanismo muy potente que nos permite definir casi cualquier tipo de subgrupo que podamos necesitar. Así podemos hacer referencia a valores de la misma variable a la que estemos aplicando la orden u otras variables de la base de datos. Podemos combinar condiciones de diversos modos. Ej. list make mpg if mpg>25

in. Si en lugar de definir una expresión lógica queremos aplicar la orden a un grupo de observaciones definido por su número de posición en la base de datos, usaremos la expresión in en lugar de if. Para indicar entre que observaciones queremos aplicar la orden usaremos los números de orden separados por una barra /. Ej. list price in 20/l 

by. Sirve, no para filtrar los casos como if, sino para segmentar la ejecución de la orden y hacerlo por los grupos definidos por la variable que acompañe a by. Ordena la base en sentido ascendente. El operador by es uno de los pocos elementos en Stata que rompe con la estructura básica de la sintaxis, puesto que se escribe delante del comando y no después como el resto. Así, escribiremos by variable [variable2]: comando. Ej. by foreign:  summarize rep78

bysort. Permite ejecutar una misma orden para diferentes categorías de una o más variables especificadas al tiempo que ordena los datos para poder realizarlo.Ej. bysort rep78: tabulate foreign

Operadores lógicos

& y
| o
! no
~ no
> mayor que
< menor que
>= mayor o igual
<= menor o igual que
== igual
!= no igual
~= no igual

Diferencia entre = y ==

Un error frecuente en Stata es confundir el uso del operador aritmético = con el lógico ==. Así, cuando queramos expresar una igualdad lógica deberemos usar el doble signo de igual (==) mientras que el simple (=) lo reservamos para operaciones aritméticas.



Video: Introducción a la gestión de datos en Stata (Parte 1 y 2)


Esta entrada se creó con la utilidad de aportar un elemento multimedia para aprender a utilizar Stata.

Estos dos videos de aproximadamente 1 hora cada uno, proviene de unos talleres dados por Software Shop (distribuidor de software científico en Latinoamérica). Este taller mostrará las rutinas de ejecución y los comandos para la descripción, edición, generación, ordenación, de variables y datos en Stata

Introducción a la gestión de datos en Stata: Parte 1



Introducción a la gestión de datos en Stata: Parte 2

lunes, 5 de octubre de 2015

Primeros comandos de STATA


La fuentes biblográficas a utilizar para esta entrada, aparte del material y de los temas tratados en clase, seran los indicados en la entrada Primera clase de Stata: Introducción.

Estructura básica de la Sintaxis

Los comandos en Stata tienen una estructura básica común, que podemos resumir del siguiente modo:
  • ‘comando variables subgrupos, opciones’
  • [by varlist]: comando [varlist] [=exp] [if exp] [in range] [ponderador], [opciones]
    varlist: Lista de variables a las cuales se les quiere aplicar el comando específico.

En otras palabras: primero escribiremos el nombre de la acción que queremos que realice el programa, seguido de las variables a las que queremos que se aplique esta orden. Opcionalmente aquí podemos especificar las observaciones a las que queremos aplicar la orden (por defecto se aplican a toda la base de datos) y tras una coma especificaremos las opciones del comando que necesitemos.

Información adicional sobre sintaxis y comandos

  • Stata habla inglés. Aunque de entrada nos pueda parecer complejo, el lenguaje con el que nos relacionaremos con Stata es sencillo puesto que, en lo esencial, es inglés. Así, si queremos un resumen de una variable le diremos al programa summarize, si queremos una tabla, tabulate, si queremos una regresión regress, y así sucesivamente. En caso de duda, siempre podemos probar.
  • Distingue mayúsculas y minúsculas.
  • Abreviaciones en Stata. Una característica muy útil de Stata pero que al principio puede provocar alguna confusión, es que los comandos, opciones y nombres de variables se pueden abreviar. La norma general es que se permite una abreviación tan corta como sea posible para identificar sin ambigüedad el comando, opción o variable. Por eso es habitual ver sintaxis de Stata en las que el comando summarize se substituye por sum, tabulate por tab, etc. 

Comandos STATA: Básicos

Comandos de inspección de datos: Descripción de Variables

Una vez tenemos abierto el archivo de datos (base de datos a trabajar) que nos interese, podemos empezar a trabajar con él. La primera tarea a realizar será la inspección de los datos.

browse. El comando browse nos permite abrir la ventana de exploración de datos. Si escribimos browse en la línea de comandos, sin especificar nada más, veremos la base de datos completa. Si, en cambio, queremos restringir la inspección a un conjunto de variables (u observaciones) sólo tenemos que aplicarlo.

summarize. El comando summarize nos proporciona información básica sobre las variables que nos interesen (número de observaciones (sin contar los casos perdidos), media, desviación típica, mínimo y máximo. Más adelante veremos más opciones de este comando.

summarize Despliega estadísticas descriptivas básicas para todas las variables de la base de datos.
summarize [variable1] [variable2] Despliega estadísticas descriptivas básicas para las variables mencionadas.
summarize [variable1] , detail Despliega estadísticas descriptivas detalladas para la variable.

Tabla del comando sum.



tabulate. En caso de variables categóricas, o de cadena, la orden summarize no funcionará o nos aportará información insuficiente o inapropiada. Por ello, usaremos el comando tabulate, para generar tablas de frecuencias que nos informarán de la distribución de la variable elegida. Por defecto, nos muestra cuantos casos hay en cada categoría, el porcentaje que representan y el porcentaje acumulado. tab1. Si queremos aplicar el comando tabulate a más de una variable, debemos utilizar la variante tab1. Esto evitará que Stata intente hacer tablas multidimensionales (de las que hablaremos en su momento).

Visualización de tabulate para una variable especifica.













describe. El comando describe nos proporciona información sobre la(s) variable(s) especificadas, como el tipo de variable, el formato en el que está guardada, su nombre y etiqueta. Es útil para resumir un conjunto de variables de nuestra base de datos.

describe [variable]

Visualización de describe para una variable especifica.
codebook. Es un comando más completo que describe aunque precisamente por ese motivo, los resultados que genera son menos compactos. Produce abundante información sobre la variable, los valores que toma, el rango, los casos perdidos, etc.

codebook Despliega estadísticas para todas las variables de la base de datos.
codebook [variable1] [variable2] Despliega estadísticas sólo para las variables mencionadas.


Visualización de codebook para una variable especifica
























list. Es un comando de inspección de casos, que nos muestra los valores de las variables especificadas para los casos que escojamos. Si no especificamos que variables queremos, por defecto nos mostrará los valores de todas las variables, igual que para los casos. Si trabajamos con encuestas no es un comando muy útil porque no tenemos interés en los casos particulares pero si nuestra base de datos fuese, por ejemplo, de países o de municipios, entonces sí nos interesaría.

list Muestra los valores de todas las variables en todas las observaciones.
list in 1/5  Muestra los valores de todas las variables en las primeras cinco observaciones.
list [variable]  Muestra los valores de la variable.

Visualización de list para una variable especifica y de los 10 primeros casos. 

by varlist. Se aplica el comando específico por valores de determinada variable. Para poder aplicar la opción by los datos siempre deben estar ordenados por la variable de corte seleccionada. El comando utilizado para ordenar datos es sort.

sort [variable1] Ordena los datos por los valores de la variable.

by [variable1]: summarize [variable2] Despliega las estadísticas descriptivas de la variable1 por los elementos de la [variable2].