📊 Práctica Stata: generate, replace, summarize, tabulate.

📝 1. generate: Crear nuevas variables

Vamos a crear una nueva variable llamada edad_doble, que será el doble de la edad.

generate edad_doble = edad * 2

Esto generará una nueva columna llamada edad_doble con el valor de la edad multiplicado por 2.

Otro ejemplo:

Vamos a crear una variable categórica llamada adulto que será 1 si la persona es mayor de 18 años.

generate adulto = (edad >= 18)

En Stata, cuando utilizas una expresión lógica dentro de un comando como generate, el resultado es un valor numérico binario:

  • 1 si la condición se cumple (es verdadera).
  • 0 si la condición no se cumple (es falsa).

🔄 2. replace: Modificar valores existentes

Imagina que en el dataset tienes la variable sexo y deseas cambiar todas las observaciones que tienen «Masculino» a «Varón».

replace sexo = "Varón" if sexo == "Masculino"

Después de ejecutar el comando, todos los registros que tenían «Masculino» ahora mostrarán «Varón».


📊 3. summarize: Estadísticas descriptivas

Vamos a ver el resumen estadístico de las variables edad y peso.

summarize edad peso

Esto te dará la media, la desviación estándar, el valor mínimo y máximo de cada variable.

🔍 Con detalles adicionales:

Si deseas obtener más detalles como los percentiles, utiliza el siguiente comando:

summarize peso, detail

📑 4. tabulate: Tablas de frecuencias

Vamos a crear una tabla de frecuencias para la variable sexo.

tabulate sexo

Esto te mostrará la cantidad de hombres y mujeres en el conjunto de datos.

🧩 Tabulación cruzada:

Vamos a ver una tabla cruzada entre sexo y estado_civil.

tabulate sexo estado_civil

Esto te mostrará una tabla de contingencia entre el sexo y el estado civil.

📐 Tabulación con porcentajes por fila:

tabulate sexo estado_civil, row

Esto mostrará los porcentajes de cada categoría dentro de cada sexo.


Práctica Stata: Análisis Descriptivo y Exploratorio

1. Cargar la base de datos en Stata

import excel "ruta/dengue_data.xlsx", sheet("Dengue_Data") firstrow clear

Asegúrate de colocar la ruta correcta donde guardaste el archivo.


2. Estadística descriptiva

Medidas de tendencia central
  • Resumen básico con summarize:
summarize Edad Plaquetas Dias_en_UCI
  • Media de una variable:
mean Edad
  • Mediana con detalles:
summarize Edad, detail

Medidas de dispersión
  • Desviación estándar, rango y rango intercuartílico:
summarize Plaquetas, detail
summarize Dias_en_UCI, detail

Aquí podrás ver la desviación estándar, el rango y el rango intercuartílico.


3. Frecuencias y proporciones

Frecuencia de variables categóricas:
  • Frecuencia de género:
tabulate Sexo
  • Frecuencia de gravedad:
tabulate Gravedad
Tablas cruzadas:
  • Frecuencia de fiebre por sexo:
tabulate Fiebre Sexo
  • Tablas cruzadas con porcentajes:
tabulate Gravedad Sexo, row col

4. Generación de nuevas variables

Recodificación:
  • Recodificar la variable Edad para que
  • 1: Niños/Adolescentes (1-18 años)
  • 2: Jóvenes Adultos (19-40 años)
  • 3: Adultos (41-60 años)
  • 4: Adultos Mayores (61-100 años)
recode Edad (1/18=1 "Niños/Adolescentes") (19/40=2 "Jóvenes Adultos") (41/60=3 "Adultos") (61/100=4 "Adultos Mayores"), gen(Grupo_Edad)

o

generate Grupo_Edad = .
replace Grupo_Edad = 1 if Edad <= 18
replace Grupo_Edad = 2 if Edad > 18 & Edad <= 40
replace Grupo_Edad = 3 if Edad > 40 & Edad <= 60
replace Grupo_Edad = 4 if Edad > 60
label define edad_grupos 1 "Niños/Adolescentes" 2 "Jóvenes Adultos" 3 "Adultos" 4 "Adultos Mayores"
label values Grupo_Edad edad_grupos

5. Análisis Exploratorio

Distribución de variables numéricas:
  • Histograma de edad:
histogram Edad, frequency
  • Gráfico de barras de gravedad:
graph bar (count), over(Gravedad)
Análisis bivariado:
  • Diagrama de dispersión entre días en UCI y plaquetas:
twoway scatter Dias_en_UCI Plaquetas

6. Análisis de mortalidad:

  • Tabla cruzada de gravedad y mortalidad:
tabulate Gravedad Fallecido, row col
  • Promedio de días en UCI según gravedad:
tabstat Dias_en_UCI, by(Gravedad) statistics(mean sd)