Pregunta 1 Comparar ingreso corriente (ing_cor) de los 6 estados (Estado) del centro (Cd de México (9), Estado de México (15), Hidalgo (13), Morelos (17), Puebla (21), Tlaxcala(29))

Diagrama de caja

baseDatos = read.csv("Centro.csv")
options(scipen=999)
baseDatos$Estado <- as.factor(baseDatos$Estado)
levels(baseDatos$Estado) <- c("CDMX", "Edomex", "Hidalgo", "Morelos", "Puebla", "Tlaxcala")
boxplot(baseDatos$ing_cor ~ baseDatos$Estado, col= c("blue", "magenta", "cyan", "orange", "purple", "green"), ylab="Ingreso corriente", xlab="Estado", main="Ingreso Corriente en el Centro de México")

Histogramas

baseDatos = read.csv("Centro.csv")

options(scipen=999)

par(mfrow=c(2,3)) #dividirá en seis partes, dos renglones y tres columnas y en cada uno de esos espacios va una gráfica

# Cd. México (9)

CdMexico = subset(baseDatos,baseDatos$Estado==9) 

hist(CdMexico$ing_cor, col="blue", ylab="Frecuencia", xlab="Ingreso corriente", main="Ciudad de México")

# Edo. México (15)

EdoMexico = subset(baseDatos,baseDatos$Estado==15) 

hist(EdoMexico$ing_cor, col="magenta", ylab="Frecuencia", xlab="Ingreso corriente", main="Estado de México")

# Hidalgo (13)

Hidalgo = subset(baseDatos,baseDatos$Estado==13) 

hist(Hidalgo$ing_cor, col="cyan", ylab="Frecuencia", xlab="Ingreso corriente", main="Hidalgo")

# Morelos (17)

Morelos = subset(baseDatos,baseDatos$Estado==17) 

hist(Morelos$ing_cor, col="orange", ylab="Frecuencia", xlab="Ingreso corriente", main="Morelos")

# Puebla (21)

Puebla = subset(baseDatos,baseDatos$Estado==21) 

hist(Puebla$ing_cor, col="purple", ylab="Frecuencia", xlab="Ingreso corriente", main="Puebla")

# Tlaxcala (29)

Tlaxcala = subset(baseDatos,baseDatos$Estado==29) 

hist(Tlaxcala$ing_cor, col="green", ylab="Frecuencia", xlab="Ingreso corriente", main="Tlaxcala")

Medidas descriptivas

library(knitr)
library(kableExtra)
media=tapply(baseDatos$ing_cor,baseDatos$Estado,mean) #calcula media de ingreso por nivel socioeconómico
mediana=tapply(baseDatos$ing_cor,baseDatos$Estado,median)
rangointer=tapply(baseDatos$ing_cor,baseDatos$Estado,IQR)
desviacionstd=tapply(baseDatos$ing_cor,baseDatos$Estado,sd)
descriptive<-data.frame(media,mediana,rangointer,desviacionstd) #data.frame une las medidas anteriores en una tabla
colnames(descriptive)=c("Media", "Mediana", "Rango Inter", "Desviación Std")
rownames(descriptive)=c("Ciudad de México", "Estado de México", "Hidalgo", "Morelos", "Puebla", "Tlaxcala")
kable(descriptive, caption = "Medidas Descriptivas", format = "html") %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(1, width = "3.5cm") %>%
  column_spec(2, width = "3cm") %>%
  column_spec(3, width = "3cm") %>%
  column_spec(4, width = "3cm") %>%
  column_spec(5, width = "3.2cm")
Medidas Descriptivas
Media Mediana Rango Inter Desviación Std
Ciudad de México 77602.32 57389.22 51332.33 80502.68
Estado de México 50063.32 39051.40 38213.03 42514.05
Hidalgo 52216.13 41460.19 35438.83 41440.16
Morelos 58325.18 43385.22 43394.45 60785.44
Puebla 47658.21 38799.96 32282.99 34166.85
Tlaxcala 47880.22 39525.34 34946.00 34409.92

Pregunta 2 Comparar ingreso corriente (ing_cor) de las zonas urbanas y rurales

Diagrama de caja

baseDatos = read.csv("Centro.csv")

options(scipen=999)
baseDatos$localidad <- as.factor(baseDatos$localidad)
levels(baseDatos$localidad) <- c("Rural", "Urbana")
boxplot(baseDatos$ing_cor ~ baseDatos$localidad, col= c("magenta", "blue"), ylab="Ingreso corriente", xlab="Zona", main="Ingreso Corriente en Zonas Rurales y Urbanas")

Histogramas

baseDatos = read.csv("Centro.csv")

options(scipen=999)

par(cex = 0.7) 
par(mfrow=c(1,2)) #dividirá en seis partes, un renglón y tres columnas y en cada uno de esos espacios va una gráfica

# Rural

Rural = subset(baseDatos,baseDatos$localidad=="R") 

hist(Rural$ing_cor, col="magenta", ylab="Frecuencia", xlab="Ingreso corriente", main="Zona Rural")

# Urbano

Urbano = subset(baseDatos,baseDatos$localidad=="U") 

hist(Urbano$ing_cor, col="blue", ylab="Frecuencia", xlab="Ingreso corriente", main="Zona Urbana")

Medidas descriptivas

library(knitr)
library(kableExtra)
media=tapply(baseDatos$ing_cor,baseDatos$localidad,mean) #calcula media de ingreso por nivel socioeconómico
mediana=tapply(baseDatos$ing_cor,baseDatos$localidad,median)
rangointer=tapply(baseDatos$ing_cor,baseDatos$localidad,IQR)
desviacionstd=tapply(baseDatos$ing_cor,baseDatos$localidad,sd)
descriptive<-data.frame(media,mediana,rangointer,desviacionstd) #data.frame une las medidas anteriores en una tabla
colnames(descriptive)=c("Media", "Mediana", "Rango Inter", "Desviación Std")
rownames(descriptive)=c("Zona Rural", "Zona Urbana")
kable(descriptive, caption = "Medidas Descriptivas", format = "html") %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(1, width = "3.5cm") %>%
  column_spec(2, width = "3cm") %>%
  column_spec(3, width = "3cm") %>%
  column_spec(4, width = "3cm") %>%
  column_spec(5, width = "3.2cm")
Medidas Descriptivas
Media Mediana Rango Inter Desviación Std
Zona Rural 43615.90 34727.96 30095.65 31996.05
Zona Urbana 62138.22 47660.68 44179.53 59933.08

Pregunta 3 - Comparar gasto de las familias en Centro y Sur

Histogramas

baseCentro = read.csv("Centro.csv")
baseSur = read.csv("Sur.csv")

options(scipen=999)
boxplot(baseCentro$gasto_mon, baseSur$gasto_mon, col= c("purple", "green"))

par(mfrow=c(1,2)) #dividirá en seis partes, un renglón y tres columnas y en cada uno de esos espacios va una gráfica

hist(baseCentro$gasto_mon, col="purple", ylab="Frecuencia", xlab="Gasto", main="Zona Centro")

hist(baseSur$gasto_mon, col="green", ylab="Frecuencia", xlab="Gasto", main="Zona Sur")

## Para unir las dos bases en una sola y crear una variable regiónn nueva que añadimos a la base

baseCentro = read.csv("Centro.csv")
baseSur = read.csv("Sur.csv")

options(scipen=999)

regionC=rep("Centro", nrow(baseCentro)) #creo un vector que tenga la longitud del número de renglones de la base
regionS=rep("Sur", nrow(baseSur)) #creo un vector que tenga la longitud del número de renglones de la base
baseCentro=cbind(baseCentro, regionC) #añadimos el vector que creamos como una nueva columna a la base Centro
baseSur=cbind(baseSur, regionS) #añadimos el vector que creamos como una nueva columna a la base Sur
#Ahora  necesitamos que en ambas bases la nueva columna se llame igual para luego unir todos los renglones de las dos bases

colnames(baseCentro)[colnames(baseCentro) == "regionC"] <- "region"
colnames(baseSur)[colnames(baseSur) == "regionS"] <- "region"
baseCentro_baseSur=rbind(baseCentro,baseSur) #une los renglones de las dos bases de datos ya con la nueva variable región

Diagrama de caja

options(scipen=999)
baseCentro_baseSur$region <- as.factor(baseCentro_baseSur$region)
levels(baseCentro_baseSur$region) <- c("Centro", "Sur")
boxplot(baseCentro_baseSur$gasto_mon ~ baseCentro_baseSur$region, col= c("purple", "green"), ylab="Gasto", xlab="Zona", main="Gasto en Zona Centro y Sur")

Medidas descriptivas

library(knitr)
library(kableExtra)
media=tapply(baseCentro_baseSur$gasto_mon,baseCentro_baseSur$region,mean) #calcula media de gasto por zona
mediana=tapply(baseCentro_baseSur$gasto_mon,baseCentro_baseSur$region,median)
rangointer=tapply(baseCentro_baseSur$gasto_mon,baseCentro_baseSur$region,IQR)
desviacionstd=tapply(baseCentro_baseSur$gasto_mon,baseCentro_baseSur$region,sd)
descriptive<-data.frame(media,mediana,rangointer,desviacionstd) #data.frame une las medidas anteriores en una tabla
colnames(descriptive)=c("Media", "Mediana", "Rango Inter", "Desviación Std")
rownames(descriptive)=c("Zona Centro", "Zona Sur")
kable(descriptive, caption = "Medidas Descriptivas", format = "html") %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(1, width = "3.5cm") %>%
  column_spec(2, width = "3cm") %>%
  column_spec(3, width = "3cm") %>%
  column_spec(4, width = "3cm") %>%
  column_spec(5, width = "3.2cm")
Medidas Descriptivas
Media Mediana Rango Inter Desviación Std
Zona Centro 37834.30 29791.47 26096.96 40379.62
Zona Sur 27177.91 21951.25 19375.75 22759.81

Evidencia Individual - Puebla / Argelia Sosa Hernandez

Pregunta 1: Ingreso corriente entre estratos socioeconómicos

baseDatos = read.csv("Centro.csv")
Puebla = subset(baseDatos, baseDatos$Estado == 21)
options(scipen=999)

Diagrama de caja

Puebla$est_socio = as.factor(Puebla$est_socio)
levels(Puebla$est_socio) = c("Bajo", "Medio Bajo", "Medio Alto", "Alto")

boxplot(Puebla$ing_cor ~ Puebla$est_socio, 
        col=c("skyblue", "lightgreen", "orange", "red"), 
        main="Ingreso Corriente por Estrato Socioeconómico en Puebla",
        ylab="Ingreso Corriente", 
        xlab="Estrato Socioeconómico")

Histogramas de ingreso corriente por estrato

Puebla$est_socio = as.factor(Puebla$est_socio)
levels(Puebla$est_socio) = c("Bajo", "Medio Bajo", "Medio Alto", "Alto")

par(mfrow=c(2,2))  # 2 filas x 2 columnas

bajo = subset(Puebla, Puebla$est_socio == "Bajo")
mediobajo = subset(Puebla, Puebla$est_socio == "Medio Bajo")
medioalto = subset(Puebla, Puebla$est_socio == "Medio Alto")
alto = subset(Puebla, Puebla$est_socio == "Alto")

hist(bajo$ing_cor, col="skyblue", main="Nivel Bajo", xlab="Ingreso Corriente")
hist(mediobajo$ing_cor, col="lightgreen", main="Nivel Medio Bajo", xlab="Ingreso Corriente")
hist(medioalto$ing_cor, col="orange", main="Nivel Medio Alto", xlab="Ingreso Corriente")
hist(alto$ing_cor, col="red", main="Nivel Alto", xlab="Ingreso Corriente")

Medidas descriptivas de ingreso corriente por estrato

library(knitr)
library(kableExtra)

minimo = tapply(Puebla$ing_cor, Puebla$est_socio, min)
mediana = tapply(Puebla$ing_cor, Puebla$est_socio, median)
media = tapply(Puebla$ing_cor, Puebla$est_socio, mean)
maximo = tapply(Puebla$ing_cor, Puebla$est_socio, max)
desv = tapply(Puebla$ing_cor, Puebla$est_socio, sd)
rangointer = tapply(Puebla$ing_cor, Puebla$est_socio, IQR)

tabla_ingreso = data.frame(minimo, mediana, media, maximo, desv, rangointer)
colnames(tabla_ingreso) = c("Mínimo", "Mediana", "Media", "Máximo", "Desviación Std", "Rango Inter")
rownames(tabla_ingreso) = c("Nivel Bajo", "Nivel Medio Bajo", "Nivel Medio Alto", "Nivel Alto")

kable(tabla_ingreso, caption = "Medidas Descriptivas del Ingreso Corriente en Puebla", format = "html") %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(1, width = "3.5cm") %>%
  column_spec(2, width = "3cm") %>%
  column_spec(3, width = "3cm") %>%
  column_spec(4, width = "3cm") %>%
  column_spec(5, width = "3cm") %>%
  column_spec(6, width = "3cm")
Medidas Descriptivas del Ingreso Corriente en Puebla
Mínimo Mediana Media Máximo Desviación Std Rango Inter
Nivel Bajo 6823.22 29762.60 34548.12 239190.6 27034.14 21873.01
Nivel Medio Bajo 11163.93 42078.75 49651.30 155468.8 29311.47 36417.12
Nivel Medio Alto 12823.37 55473.18 64446.13 154589.9 34724.51 44375.21
Nivel Alto 33998.33 68856.94 87887.15 286500.0 70111.45 31505.71

Pregunta 2: Gasto monetario entre zonas rurales y urbanas

baseDatos = read.csv("Centro.csv")
Puebla = subset(baseDatos, baseDatos$Estado == 21)
options(scipen=999)

Diagrama de caja

Puebla$localidad = as.factor(Puebla$localidad)
levels(Puebla$localidad) = c("Rural", "Urbana")

boxplot(Puebla$gasto_mon ~ Puebla$localidad,
        col=c("pink", "cyan"),
        main="Gasto Monetario por Zona en Puebla",
        ylab="Gasto Monetario",
        xlab="Zona")

Histogramas

par(mfrow=c(1,2))  # 1 fila, 2 columnas

rural = subset(Puebla, Puebla$localidad == "Rural")
urbano = subset(Puebla, Puebla$localidad == "Urbana")

hist(rural$gasto_mon, col="pink", main="Zona Rural", xlab="Gasto Monetario")
hist(urbano$gasto_mon, col="cyan", main="Zona Urbana", xlab="Gasto Monetario")

Medidas descriptivas de gasto monetario por zona

minimo = tapply(Puebla$gasto_mon, Puebla$localidad, min)
mediana = tapply(Puebla$gasto_mon, Puebla$localidad, median)
media = tapply(Puebla$gasto_mon, Puebla$localidad, mean)
maximo = tapply(Puebla$gasto_mon, Puebla$localidad, max)
desv = tapply(Puebla$gasto_mon, Puebla$localidad, sd)
rangointer = tapply(Puebla$gasto_mon, Puebla$localidad, IQR)

tabla_gasto = data.frame(minimo, mediana, media, maximo, desv, rangointer)
colnames(tabla_gasto) = c("Mínimo", "Mediana", "Media", "Máximo", "Desviación Std", "Rango Inter")
rownames(tabla_gasto) = c("Zona Rural", "Zona Urbana")

kable(tabla_gasto, caption = "Medidas Descriptivas del Gasto Monetario en Puebla", format = "html") %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(1, width = "3.5cm") %>%
  column_spec(2, width = "3cm") %>%
  column_spec(3, width = "3cm") %>%
  column_spec(4, width = "3cm") %>%
  column_spec(5, width = "3cm") %>%
  column_spec(6, width = "3cm")
Medidas Descriptivas del Gasto Monetario en Puebla
Mínimo Mediana Media Máximo Desviación Std Rango Inter
Zona Rural 2374.14 21540.28 24738.52 72245.78 13660.62 15253.66
Zona Urbana 1269.75 28958.96 35261.74 162941.34 24925.17 21802.71