Telco_Cusomer_Churn = read.table("Telco_Cusomer_Churn.csv",
                                 header =TRUE, sep = ",", row.names = 1,
                                 stringsAsFactors = TRUE)
summary(Telco_Cusomer_Churn)
##     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

###Perfil de clientes : solo el 16% de los usuarios son adultos mayores, por otro lado el género está balanceado, por lo que no parece ser un factor determinante ###Tenure: Existen clientes muy nuevos y otros con hasta 6 años de permanencia. La media que es 32 meses y la mediana 29 meses muestran que gran parte de los clientes tienen relativamente poco tiempo con la empresa, lo cual puede indicar un reto en la fidelización. ###MonthlyCharges: Van desde 18 hasta 119 dólares, con un promedio de 65. La mayoría de clientes se concentran en planes de costo medio a alto, lo que puede implicar una mayor sensibilidad al abandono cuando la percepción de valor no compensa el precio. ###TotalCharges : Están relacionados con el tiempo de permanencia y el tipo de plan, llegando hasta 8,600 dólares. Esto confirma que los clientes de larga duración generan mayor ingreso, reforzando la importancia de retenerlos.

library(corrplot)
## corrplot 0.95 loaded
attach(Telco_Cusomer_Churn)
nuevosDatos = data.frame(tenure, MonthlyCharges, TotalCharges)

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

###La correlación muestra que el “tiempo como cliente y los cargos totales (0.83)” tienen una relación fuerte: mientras más tiempo, más paga en total. ##Entre “cargos mensuales y cargos totales (0.65)” también hay relación positiva, aunque un poco más baja. ##En cambio, entre “tiempo y cargos mensuales (0.25)” la relación es débil, o sea, lo que paga al mes no depende mucho del tiempo que lleve el cliente

library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(y=MonthlyCharges, x = Churn))+
  geom_boxplot(fill="hotpink")

##En el diagrama se ve que los clientes que se fueron (Yes) suelen pagar más al mes, ya que su mediana está cerca de 80, mientras que los que se quedaron (No) tienen una mediana más baja, más o menos en 65. También se nota que los que no se fueron tienen más variedad en lo que pagan, desde valores muy bajos hasta altos, mientras que los que se fueron están más concentrados en pagos medios y altos. Esto da a entender que los que pagan más al mes son los que más tienden a irse.

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

##En el gráfico se ve que los clientes que no se fueron tienen cargos totales mucho más altos, porque llevan más tiempo pagando en la empresa. En cambio, los que se fueron suelen tener cargos bajos, lo que muestra que la mayoría eran clientes nuevos que no alcanzaron a acumular tanto. También aparecen algunos pocos que se fueron con cargos altos, pero son casos aislados.

ggplot(Telco_Cusomer_Churn, aes(x = Churn, fill = gender)) + 
  geom_bar()

###El gráfico nos está mostrando cuántos clientes se quedaron y cuántos se fueron, separados por género. Lo que se ve es que la mayoría de clientes no se fueron (la barra de “No” es mucho más grande que la de “Yes”). Además, entre hombres y mujeres la diferencia no es muy grande, o sea, no es que un género se vaya mucho más que el otro. En conclusión, el género no parece influir tanto en la decisión de irse o quedarse, porque las proporciones son casi iguales.

cor(tenure,MonthlyCharges)

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

###Existe una leve relación positiva entre la antigüedad (tenure) del cliente y sus cargos mensuales. ###La correlación entre tenure y monthly charges es de 0,247. Con esto se puede concluir que los usuarios mas antiguos suelen pagar más, pero este no significa que la antigüedad sea un factor fuerte para explicar el nivel de cargos. ###El intercepto refleja lo que paga un cliente nuevo, mientras que la pendiente muestra que los cargos aumentan un poco con el tiempo

y=MonthlyCharges
x=tenure
cor(y=MonthlyCharges,x=tenure)
## [1] 0.2478999
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
library(ggplot2)
library(gridExtra)

g1= ggplot(Telco_Cusomer_Churn,aes(x=Churn,y = MonthlyCharges))+
  geom_boxplot(fill="hotpink")

g2= ggplot(Telco_Cusomer_Churn, aes(x=Churn, y = TotalCharges))+
  geom_boxplot(fill="mediumpurple1")

g3= ggplot(Telco_Cusomer_Churn, aes(x=Churn, fill = gender))+
  geom_bar()

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

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'