martes, 27 de octubre de 2015

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)




1 comentario: