Curso de Introducción a STATA_S2

5

Click here to load reader

description

datos sobre comandos en stata, para el desarrollo de obtencion de manejo de datos estadisticos

Transcript of Curso de Introducción a STATA_S2

Page 1: Curso de Introducción a STATA_S2

Curso de introducción a Stata – Jordi Muñoz (UAB)

Sesiones 2 - 3: Transformación de datos

Hasta ahora hemos visto los elementos básicos de stata, y cómo inspeccionar los datos que

tenemos. A partir de ahora vamos a trabajar sobre ellos, modificándolos del modo que sea

necesario para el análisis.

Nombres y Etiquetas

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:

o Primero creamos la etiqueta mediante el siguiente comando: label define

nombreetiqueta 1”etiqueta1” 2”etiqueta” (etc.)

o Después vinculamos la etiqueta a la variable o variables: label values

variable nombreetiqueta

Crear y eliminar 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:

1

Page 2: Curso de Introducción a STATA_S2

Curso de introducción a Stata – Jordi Muñoz (UAB)

o generate nuevavariable=. Genera una nueva variable con todos los

valores ‘missing’

o generate nuevavariable=variableexistente Genera una copia de

una variable

o generate nuevavariable=1 if variableexistente<=2 Genera

una variable que toma valor 1 si la antingua es menor o igual que 2, y missing

para el resto

o generate nuevavariable= variableexistente^2 Genera una

variable igual al cuadrado de la antigua

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 que 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: básicos

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 (#=#) (# # = #) (# / # =#)

o En esta sintaxis, podemos especificar dos valores de partida separándolos con

un espacio, o un rango de valores, usando el símbolo /

2

Page 3: Curso de Introducción a STATA_S2

Curso de introducción a Stata – Jordi Muñoz (UAB)

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 com los missing que se consideran

infinito)

Opciones de recode

A parte de la sintaxis básica, recode tiene algunas opciones que pueden resultar útiles:

o Generate: Si no queremos sobreescribir la variable, sino recodificarla en una

nueva, usaremos la opción generate: recode variable (#=#),

gen(nx1)

o Prefix: Si estamos recodificando más de una variable al mismo tiempo y

queremos hacerlo en nuevas variables usaremos un prefijo mediante la opción

pre: recode var1 var2 var2 (#=#), pre(nueva) Esto nos aplicará

la recodificación a unas nuevas variables que se llamaran ‘nuevavar1’ y

‘nuevavar2’ respectivamente.

o Etiquetas: A la vez que recodificamos, podemos definir etiquetas siempre y

cuando estemos recodificando en una nueva variable, usando la sintaxis

siguiente: recode variable (#=# “Etiqueta de valor”), gen(nx1)

. Si queremos definir un nombre para las nuevas etiquetas lo podemos hacer

con la opción label (por defecto tomarían el nombre de la variable.

Tab, gen

A menudo necesitaremos recodificar una variable categórica en una serie de variables

dicotómicas o dummies que tomen valor 1 para cada una de las categorías de la variable

preexistente, y 0 en el resto de casos. Un comando muy útil en este sentido es tabulate

variable, generate(prefix)que nos creará automáticamente la serie de variables

dicotómicas que queremos.

Recodificar variables: complejos

Egen

Egen es una família de funciones para crear nuevas variables con múltiples

posibilidades. Tiene una sintaxis particular que conviene conocer porque nos puede

ahorrar mucho tiempo en determinadas circunstancias. Además, egen se ha visto

ampliado por múltiples contribuciones de usuarios que, en sesiones posteriores,

veremos cómo descargar. La sintaxis básica de egen es la siguiente:

3

Page 4: Curso de Introducción a STATA_S2

Curso de introducción a Stata – Jordi Muñoz (UAB)

egen nuevavariable = función(variableexistente)

Entre las funciones de egen podemos destacas las siguientes:

Cut: la función cut nos sirve para crear fácilmente variables categóricas a partir de

una variable contínua: podemos decir, por ejemplo, que nos cree una variable con

4 grupos de edad, bien definidos por nosotros mismos, bien 4 grupos con

frecuencias iguales:

o egen nuevavariable = cut(variableexistente), at(14, 18,

25, 45, 65, 100)

o egen nuevavariable = cut(variableexistente), group(5)

o egen nuevavariable = cut(variableexistente),

at(18(15)99)

Podemos comprovar lo que hemos realizado con el comando table: table nuevavariable, contents(min variableexistente max variableexistente)

Diff. La función dif nos creará una variable dicotómica que tomará valor 1 si las

variables que especifiquemos son iguales entre ellas y 0 si no lo son.

egen nuevavariable = diff(variable1 variable2)

Group: Nos crea una variable categórica para los grupos definidos por las variables

que especifiquemos:

egen nuevavariable = group(variable1 variable2)

Rowmean: Si queremos una variable que recoja la media de cada individuo en un

grupo de variables en nuestra base de datos, podemos usar la siguiente función:

egen nuevavariable = rowmean(variable1 variable2)

Valor medio: Alternativamente, nos puede interesar calcular el valor medio de una

variable para determinados grupos. Esto lo podemos hacer combinando la opción by (o

bysort) con la función mean.

By grupo: egen nuevavariable = mean(variable1)

Variables de cadena y numéricas

Hemos visto que en Stata hay diferentes tipos de variables, básicamente las numéricas

y las de cadena. A menudo querremos convertir las variables de cadena en numéricas

y, quizás, las numéricas en cadenas de texto. Esto lo podemos hacer de dos modos

diferentes:

4

Page 5: Curso de Introducción a STATA_S2

Curso de introducción a Stata – Jordi Muñoz (UAB)

5

o Encode/decode: encode crea una nueva variable numérica basada en una

variable de cadena usando el texto de la variable original cómo etiquetas de

valor. Decode realiza la operación inversa.

encode variable, generate(nuevavariable)

o Destring/tostring: Si lo que tenemos es, meramente, una variable numérica

que está guardada como cadena en Stata, la podemos transformar en una

variable numérica real usando la opción destring