El objetivo de este documento es generar un análisis sobre cómo varía la necesidad de rentar una vivienda en el transcurso de vida. Los datos se obtuvieron a partir de la Encuesta Nacional de Vivienda, a patir de las tablas TSDEM y TDEMANDA. La primera captura las características del hogar y la segunda da informoación referente a la demanda y las necesidades de vivienda (rentar, comprar, construir).
El presente análisis se relacionará con la Hipótesis del Ciclo Vital de Franco Modigliani, la cual señala que los individuos intentan suavizar el consumo, ahorrando en periodos de altos ingresos (como la etapa laboral) y desahorrando en periodos de bajos ingresos (como la jubilación).
library(readr)
library(tidyverse)
library(viridis)
library(patchwork)
tsdem <- read_csv("tsdem.csv")
tdemanda<-read_csv("tdemanda.csv")La llave se creará a partir de la concatenación de las variables FOLIO,VIV_SEL,HOGAR,N_REN en la tabla TSDEM y FOLIO,VIV_SEL,HOGAR,P3A2_2 en la tabla TDEMANDA.
tsdem<-tsdem %>% mutate(KEY=paste0(FOLIO,VIV_SEL,HOGAR,N_REN))
tdemanda<-tdemanda %>% mutate(KEY=paste0(FOLIO,VIV_SEL,HOGAR,P3A2_2))A partir de las llaves en ambas tablas, con la función de left_join se unen ambas tablas, posteriormente, se aplica un filtro a la variable P34A donde solo se quedan las personas que tienen la necesidad de rentar una vivienda.Es importante señalar que se graficó el Factor de Expansión de cada observación, ya que este indica cuantas unidades de la población total representa cada unidad de la muestra.
data_union<-left_join(tsdem,tdemanda, by= c("KEY"="KEY")) %>%
filter(P3A4==1) %>% mutate(motivo=case_when(
P3A5 == 1 ~ "No le interesa comprar",
P3A5 == 2 ~ "Invierte en su persona",
P3A5 == 3 ~ "Mensualidad < hipoteca",
P3A5 == 4 ~ "Fácil mundanza",
P3A5 == 5 ~ "Sin acceso a crédito/ \nSin recursos",
P3A5 == 6 ~ "Otro",
P3A5 == 9 ~ "No sabe",
P3A5 == "b" ~ "Blanco por secuencia"),
tamaño_loc=case_when(
TLOC.x == 1 ~ "100,000 y más habitantes",
TLOC.x == 2 ~ "15,000 a 99,999 habitantes",
TLOC.x == 3 ~ "2,500 a 14,999 habitantes",
TLOC.x == 4 ~ "menor a 2,500 habitantes",
),
sexo_2 = case_when(
SEXO == 1 ~ "Hombre",
SEXO == 2 ~ "Mujer"),
cada_cuanto=case_when(
P3_4A == 1 ~ "A la semana",
P3_4A == 2 ~ "A la quincena",
P3_4A == 3 ~ "Al mes",
P3_4A == 4 ~ "Al año",
P3_4A == 9 ~ "No sabe",
P3_4A == 1 ~ "Blanco por secuencia"))
data_union$EDAD <- as.numeric(as.character(data_union$EDAD))ggplot(data = data_union,aes(x=as.numeric(EDAD),y=FACTOR.x, fill = motivo))+
geom_col()+theme_minimal()+
labs(title="Motivo de demandar vivienda por edad",
x = "Edad",
y = "",
fill="")+
theme(legend.position = "bottom")+
scale_fill_viridis_d()data_union2<-data_union %>%
filter(P3_4<99888) %>%
group_by(cada_cuanto,EDAD) %>%
summarise(
salario_prom=mean(as.numeric(P3_4)),
num_per=sum(FACTOR.x)
) %>%
filter(!is.na(cada_cuanto)) %>%
mutate(
duracion=case_when(
cada_cuanto=="A la semana" ~ 7,
cada_cuanto == "A la quincena" ~ 15,
cada_cuanto == "Al mes" ~ 30,
cada_cuanto == "Al año" ~ 360,
cada_cuanto == "No sabe" ~ 0,
cada_cuanto == "Blanco por secuencia" ~ 0),
salario_diario= salario_prom/duracion)
ggplot(data=data_union2, aes(x=as.numeric(EDAD), y=salario_diario))+
geom_line(linetype="dashed", size=.5)+
geom_point()+
theme_minimal()+
geom_smooth(color="red", size=.2)+
labs(title="Salario diario promedio por edad",
x = "Edad",
y = "")+
scale_fill_viridis_d()