Se cargan las librerias que se van a utilizar para este analisis y se configura el espacio de trabajo.
Inicialmente se realiza la carga de la base de datos para un primer diagnostico, en cual se busca conocer el estado de las variables que la conforman, esto es saer si hay datos faltantes en cada una de las variables y de ser así saber el porcentaje de faltantes por cada columna(variable).
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning: Expecting logical in I1512 / R1512C9: got 'Mozilla/5.0 (Linux; Android
## 7.0; Moto C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Mobile
## Safari/537.36'
## Warning: Expecting logical in AF1512 / R1512C32: got 'Si - 1 hijo'
## Warning: Expecting logical in AN1512 / R1512C40: got '3012264818'
## Warning: Expecting logical in I1558 / R1558C9: got 'Mozilla/5.0 (Windows NT
## 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128
## Safari/537.36'
## Warning: Expecting logical in AF1558 / R1558C32: got 'No'
## Warning: Expecting logical in AJ1558 / R1558C36: got 'STP Networks'
## Warning: Expecting logical in AK1558 / R1558C37: got 'Mediana, entre 50 - 500
## empleados'
## Warning: Expecting logical in AO1558 / R1558C41: got 'CSP'
## Warning: Expecting logical in AP1558 / R1558C42: got 'Otros'
## Warning: Expecting logical in AQ1558 / R1558C43: got 'Si'
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning in read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,
## : NA inserted for an unsupported date prior to 1900
## Warning: Expecting logical in BI2314 / R2314C61: got '27'
Tras la revision de la base de datos se evidencia que alrededor del 50% de las variables cuentan con missing de hasta el 100% o un valor de 1 como se muestra en la tabla anterior, estas columnas al encontrarse completamente vacias pueden no formar parte del analisis, por esta razón se procede a generar una nueva base de datos con la cual no se tenga en cuenta de manera inicial estas variables con missing.
Otro punto importante al explorar la base de datos, fue el conocer como se encontraban nombradas las variables y por esta razon, una vez filtradas aquellas que se incluiran en este analisis inicial se busca renombrarlas para tener nombres sin caracteres especiales o espacios que pueda dificultar el posterior analisis.
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
## # Was:
## data %>% select(oldnames)
##
## # Now:
## data %>% select(all_of(oldnames))
##
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Como parte del proceso exploratior esta conocer la clase de cada una de las variables para de esta forma clasificarlas y poder realizar el tipo de analisis que corresponda para aquellas variables cualitativas o cuantitativas, por esta razon se realiza una reclasificacion de clase a las variables de nuesta base de datos.
Una vez ajustado la clase de cada variables y habiendo dejado solo aquellas variables que que cuentan con observaciones disponibles se procede a realizar el analisis de información.
A continuacion se presenta un analisis exploratorio para conocer el comportamiento de las principales variables y asi determinar cuales de ellas son de mayor importancia en la relacion.
Iniciamos con un analisis demografico del grupo de estudio, esto es,
Estadisticas para concoer el genero de las personas que tienen una suscripcion, esto nos permitte identificar que cerca del 70% de la poblacion son mujeres.
Se busca conocer tambien el rango de edades de la poblacion.
df_flt %>%
ggplot2::ggplot(., aes(x = "", y = Edad, fill = Genero)) +
ggplot2::geom_boxplot() +
ggplot2::labs(title = "",
x = "Genero",
y = "Edad",
fill = "") +
ggplot2::theme_gray() +
ggplot2::scale_fill_brewer(palette="Spectral") +
ggplot2::theme(plot.title = element_text(size=16, face='bold'),
strip.text = element_text(size = 12, face = "bold"),
axis.title.x = element_text(size = 12, face = 'bold'),
axis.title.y = element_text(size = 12, face = 'bold'),
axis.text = element_text(size = 12),
legend.position="none")
## Warning: Removed 1910 rows containing non-finite values (`stat_boxplot()`).
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 4.00 24.00 30.00 31.67 38.00 65.00 1910
De lo anterior que la base de datos esta compuesta por personas que tienen una edad promedio de 30 años, tanto para hombres como para mujeres. De la poblacion tambien se puede obtener que todos se encuentran actualmente con un estado de afiliacion “activo” y tambien se puede conocer como se tiene pendiente el contactar a 1772 personas, a 388 de estas ya han sido validadas, 4 de ellas no tienen informacion correcta y cerca de 456 personas aun no han podido ser contactadas.
Otra informacion importante de conocer es la ubicaciond de estas, en lo cual se tiene la siguiente distribución
Como se observa se tiene que las principales ciudades, esto es, Bogota, Cali, Barranquilla y Medellin son las que cuentan con mayor numero de activaciones.
Donde cerca del 80% de la poblacion suscrita hacen parte de los estratos socieconomicos 1,2,3. Siendo el estrato 3 el que mayor preedominancia tiene y con una muy baja participacion de los estrato 5 y 6.