Punto 2

taller2 = read.table("taller2.csv", 
    header =TRUE, sep = ",", dec = ".", row.names = 1, 
    stringsAsFactors = TRUE)
summary(taller2)
##     gender     SeniorCitizen    Partner    Dependents     tenure     
##  Female:3488   Min.   :0.0000   No :3641   No :4933   Min.   : 0.00  
##  Male  :3555   1st Qu.:0.0000   Yes:3402   Yes:2110   1st Qu.: 9.00  
##                Median :0.0000                         Median :29.00  
##                Mean   :0.1621                         Mean   :32.37  
##                3rd Qu.:0.0000                         3rd Qu.:55.00  
##                Max.   :1.0000                         Max.   :72.00  
##                                                                      
##  PhoneService          MultipleLines     InternetService
##  No : 682     No              :3390   DSL        :2421  
##  Yes:6361     No phone service: 682   Fiber optic:3096  
##               Yes             :2971   No         :1526  
##                                                         
##                                                         
##                                                         
##                                                         
##              OnlineSecurity              OnlineBackup 
##  No                 :3498   No                 :3088  
##  No internet service:1526   No internet service:1526  
##  Yes                :2019   Yes                :2429  
##                                                       
##                                                       
##                                                       
##                                                       
##             DeviceProtection              TechSupport  
##  No                 :3095    No                 :3473  
##  No internet service:1526    No internet service:1526  
##  Yes                :2422    Yes                :2044  
##                                                        
##                                                        
##                                                        
##                                                        
##               StreamingTV              StreamingMovies           Contract   
##  No                 :2810   No                 :2785   Month-to-month:3875  
##  No internet service:1526   No internet service:1526   One year      :1473  
##  Yes                :2707   Yes                :2732   Two year      :1695  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  PaperlessBilling                   PaymentMethod  MonthlyCharges  
##  No :2872         Bank transfer (automatic):1544   Min.   : 18.25  
##  Yes:4171         Credit card (automatic)  :1522   1st Qu.: 35.50  
##                   Electronic check         :2365   Median : 70.35  
##                   Mailed check             :1612   Mean   : 64.76  
##                                                    3rd Qu.: 89.85  
##                                                    Max.   :118.75  
##                                                                    
##   TotalCharges    Churn     
##  Min.   :  18.8   No :5174  
##  1st Qu.: 401.4   Yes:1869  
##  Median :1397.5             
##  Mean   :2283.3             
##  3rd Qu.:3794.7             
##  Max.   :8684.8             
##  NA's   :11

Interpretación

Para el analisis de esta parte, seleccionamos 3 varibles significativas para interpretar, por ejemplo, el genero, se puede visualizar que hay un equilibrio entre ambos generos, ya que no se evidencia una diferencia notable entre la cantidad de hombres y la cantidad de mujeres que hay. Asimismo, para el Churn, aunque haya un porcentaje mayoritario de los clientes que no abandonan, el 27 % de la desercion de dichos clientes muestra un nivel relevante. Por ultimo, esta el Contract (tiempo de contrato), en esta variable, los clientes tienen la mayoria de contratos mensuales, lo que demuestra menos compromiso y más posibilidad de abandono mientras que los contratos anuales son menos, pero pueden reflejar clientes más estables.

Punto 3

Correlación

library(corrplot)
## corrplot 0.95 loaded
attach(taller2)

nuevosDatos = data.frame(tenure, MonthlyCharges, TotalCharges)

r = cor(na.omit(nuevosDatos))
corrplot(r, method = "number")

## Interpretación

En la matriz de correlación se evaluan las relaciones de los datos de 1 a -1, en donde 1 es una correlación positiva perfecta mientras que -1 es una correlación negativa perfecta. En las variables que se van analizar tenure(tiempo de permanecia del cliente), MonthlyCharges (cargos mensuales) y TotalCharges (cargos totales), se observa que existe una correlación tenure y TotalCharges (0.83), lo que indica que a mayor tiempo de permanencia, mayor es el pagado. Asimismo, entre MonthlyCharges y TotalCharges (0.65) se presenta una correlación positiva moderada, mostrando que un aumento en los cargos mensuales tiende a incrementar el total pagado. Por ultimo pero no menos importante, la correlación entre tenure y MonthlyCharges (0.25) es débil, lo que significa que el tiempo que un cliente lleva en la compañia no esta muy relacionado con sus cargos mensuales.

Punto 4 Diagrama de Cajas

library(ggplot2)
ggplot(taller2, aes(y=MonthlyCharges, x=Churn, fill=Churn))+
  geom_boxplot()

## Interpretación

Para el resultado No de la variable churn, es decir, que las personas no cambian de compañia, se puede observar que los datos se encuentran mas dispersos que en el resultado Yes, ya que la caja es de mayor tamaño. Por otro lado, el resultado Yes tiene mayor mediana que el resultado No. Ningun resultado presenta datos atipicos.

Punto 5 Diagrama de cajas 2

library(ggplot2)
ggplot(taller2, aes(y=TotalCharges, x=Churn, fill=Churn))+
  geom_boxplot()
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

## Interpretación

Para el resultado No de la variable Churn, los datos se encuentran mas dispersos porque la caja es de mayor tamaño que el resultado Yes, ademas, la mediana es mayor. Por el lado del resultado Yes, se encuentran varios datos atipicos y menor dispersion en la caja.

Punto 6

library (ggplot2)
 ggplot(taller2, aes (x = Churn, fill = gender)) +

 geom_bar(position = "fill") +

labs(

 title = "Distribución de Género por Rotación de Clientes",

x = "Rotación de Clientes (Churn)",

y = "Proporción (%)",

fill = "Género"

)+

theme_linedraw()

## Interpretación

En el gráfico se observa que aproximadamente un poco más del 50% de las mujeres presentan rotación, es decir, no permanecen en la compañía telefónica. Mientras que, el otro porcentaje de mujeres (inferior al 50%), si se va.

En comparación, con los hombres, más del 50% permanecen en la compañía (no rotan) y un poco menos del 50% sí rota.

Punto 7 grafico de dispersion

taller2 = read.table("taller2.csv", 
          header =TRUE, sep = ",", dec = ".", row.names = 1, stringsAsFactors=TRUE)

library(corrplot)
attach(taller2)
## The following objects are masked from taller2 (pos = 4):
## 
##     Churn, Contract, Dependents, DeviceProtection, gender,
##     InternetService, MonthlyCharges, MultipleLines, OnlineBackup,
##     OnlineSecurity, PaperlessBilling, Partner, PaymentMethod,
##     PhoneService, SeniorCitizen, StreamingMovies, StreamingTV,
##     TechSupport, tenure, TotalCharges
x= tenure
y= MonthlyCharges

Interpretación

0.2478, existe muy poca correlación entre la antiguedad de los trabajadores y los cargos mensuales. La correlacion es positiva, quiere decir que es directamente proporcional, sin embargo es cercana a 0 por lo que es muy debil la relación entre las dos variables. Por lo que se puede concluir que NO existe una una relación lineal.

ggplot(taller2, aes(x=tenure, y=MonthlyCharges))+
  geom_jitter() +
  geom_smooth(method = "lm", colour="red")
## `geom_smooth()` using formula = 'y ~ x'

  x=tenure
  y=MonthlyCharges
  modelo= lm(y~ x)
  summary(modelo)
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -57.498 -27.251   6.245  24.943  54.376 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 54.92978    0.57476   95.57   <2e-16 ***
## x            0.30372    0.01415   21.47   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 29.15 on 7041 degrees of freedom
## Multiple R-squared:  0.06145,    Adjusted R-squared:  0.06132 
## F-statistic:   461 on 1 and 7041 DF,  p-value: < 2.2e-16

Interpretación del modelo y gráfica

El modelo encontrado es y= 0.30X + 54.9

En donde podemos interpretar del intercepto que, cuando no hay antiguedad (x=0), es decir, cuando los trabajadores son nuevos los cargos son de 54.92 dolares, y estos incrementan en 0.30 por cada mes trabajado. De igual manera, este modelo no es confiable porque existe muy poca correlación (0.24), lo cual también se puede evidenciar en la gráfica de dispersión, en donde vemos los datos revueltos y no tan cercanos a la linea.

Punto 8

g1 = ggplot(taller2, aes(y=MonthlyCharges, x=Churn, fill=Churn))+
  geom_boxplot()

g2 = ggplot(taller2, aes(y=TotalCharges, x=Churn, fill=Churn))+
  geom_boxplot()
  
g3 = ggplot(taller2, aes (x = Churn, fill = gender)) +

 geom_bar(position = "fill") +

labs(

 title = "Distribución de Género por Rotación de Clientes",

x = "Rotación de Clientes (Churn)",

y = "Proporción (%)",

fill = "Género"

)+

theme_linedraw()
  
g4 = ggplot(taller2, aes(x=tenure, y=MonthlyCharges))+
  geom_jitter() +
  geom_smooth(method = "lm", colour="red")

library(gridExtra)
grid.arrange(g1, g2, g3, g4)
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
## `geom_smooth()` using formula = 'y ~ x'