📝 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
Edadpara 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)