Aplicaciones

# Cargar el conjunto de datos

telco <- read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Estadistica-R/master/Caso_telefon%C3%ADa.csv",
                  encoding = "latin1", sep = ";", stringsAsFactors = T)

head(telco)
# Original
hist(telco$Edad, 12)

Para sacar la raiz cuadrada, simplemente se puede utilizar la funcion sqrt

sqrt(telco$Edad)
##  [1] 5.196152 5.291503 5.291503 4.582576 5.385165 5.099020 6.324555 6.324555
##  [9] 5.477226 5.196152 5.291503 4.898979 5.099020 5.744563 4.582576 6.324555
## [17] 5.000000 6.164414 5.916080 5.567764 5.291503 5.099020 5.099020 5.744563
## [25] 5.830952 4.690416 5.099020 6.244998 5.567764 4.690416 5.291503 5.916080
## [33] 4.690416 6.324555 5.830952 4.472136 5.830952 4.472136 5.385165 5.744563
## [41] 4.795832 5.916080 4.898979 5.656854 5.656854 5.196152 6.082763 5.656854
## [49] 5.744563 5.916080 6.244998 5.830952 6.164414 6.244998 6.082763 5.656854
## [57] 6.082763 5.000000 5.099020 6.324555 6.324555 5.477226 5.291503 4.898979
## [65] 5.744563 4.582576 5.291503 4.582576 5.385165 6.000000 5.830952 4.472136
## [73] 5.830952 4.472136 5.385165 5.567764 4.690416 6.164414 6.000000 5.744563

Graficamente

hist(sqrt(telco$Edad))

Transformacion exponencial

en r para poder obtener esta transformacion, se debe utilizar la funcion exp()

exp(telco$Edad)
##  [1] 5.320482e+11 1.446257e+12 1.446257e+12 1.318816e+09 3.931334e+12
##  [6] 1.957296e+11 2.353853e+17 2.353853e+17 1.068647e+13 5.320482e+11
## [11] 1.446257e+12 2.648912e+10 1.957296e+11 2.146436e+14 1.318816e+09
## [16] 2.353853e+17 7.200490e+10 3.185593e+16 1.586013e+15 2.904885e+13
## [21] 1.446257e+12 1.957296e+11 1.957296e+11 2.146436e+14 5.834617e+14
## [26] 3.584913e+09 1.957296e+11 8.659340e+16 2.904885e+13 3.584913e+09
## [31] 1.446257e+12 1.586013e+15 3.584913e+09 2.353853e+17 5.834617e+14
## [36] 4.851652e+08 5.834617e+14 4.851652e+08 3.931334e+12 2.146436e+14
## [41] 9.744803e+09 1.586013e+15 2.648912e+10 7.896296e+13 7.896296e+13
## [46] 5.320482e+11 1.171914e+16 7.896296e+13 2.146436e+14 1.586013e+15
## [51] 8.659340e+16 5.834617e+14 3.185593e+16 8.659340e+16 1.171914e+16
## [56] 7.896296e+13 1.171914e+16 7.200490e+10 1.957296e+11 2.353853e+17
## [61] 2.353853e+17 1.068647e+13 1.446257e+12 2.648912e+10 2.146436e+14
## [66] 1.318816e+09 1.446257e+12 1.318816e+09 3.931334e+12 4.311232e+15
## [71] 5.834617e+14 4.851652e+08 5.834617e+14 4.851652e+08 3.931334e+12
## [76] 2.904885e+13 3.584913e+09 3.185593e+16 4.311232e+15 2.146436e+14

Para poder observarlo graficamente

hist(exp(telco$Edad))

Forma 2

edad_exp<- exp(telco$Edad)
hist(edad_exp)

Tranformacion logaritmica

Para la transformacion logaritmica

log(telco$Edad)
##  [1] 3.295837 3.332205 3.332205 3.044522 3.367296 3.258097 3.688879 3.688879
##  [9] 3.401197 3.295837 3.332205 3.178054 3.258097 3.496508 3.044522 3.688879
## [17] 3.218876 3.637586 3.555348 3.433987 3.332205 3.258097 3.258097 3.496508
## [25] 3.526361 3.091042 3.258097 3.663562 3.433987 3.091042 3.332205 3.555348
## [33] 3.091042 3.688879 3.526361 2.995732 3.526361 2.995732 3.367296 3.496508
## [41] 3.135494 3.555348 3.178054 3.465736 3.465736 3.295837 3.610918 3.465736
## [49] 3.496508 3.555348 3.663562 3.526361 3.637586 3.663562 3.610918 3.465736
## [57] 3.610918 3.218876 3.258097 3.688879 3.688879 3.401197 3.332205 3.178054
## [65] 3.496508 3.044522 3.332205 3.044522 3.367296 3.583519 3.526361 2.995732
## [73] 3.526361 2.995732 3.367296 3.433987 3.091042 3.637586 3.583519 3.496508

Graficamente

hist(log(telco$Edad))

Cambiar la base 2

log(telco$Edad, base=2)
##  [1] 4.754888 4.807355 4.807355 4.392317 4.857981 4.700440 5.321928 5.321928
##  [9] 4.906891 4.754888 4.807355 4.584963 4.700440 5.044394 4.392317 5.321928
## [17] 4.643856 5.247928 5.129283 4.954196 4.807355 4.700440 4.700440 5.044394
## [25] 5.087463 4.459432 4.700440 5.285402 4.954196 4.459432 4.807355 5.129283
## [33] 4.459432 5.321928 5.087463 4.321928 5.087463 4.321928 4.857981 5.044394
## [41] 4.523562 5.129283 4.584963 5.000000 5.000000 4.754888 5.209453 5.000000
## [49] 5.044394 5.129283 5.285402 5.087463 5.247928 5.285402 5.209453 5.000000
## [57] 5.209453 4.643856 4.700440 5.321928 5.321928 4.906891 4.807355 4.584963
## [65] 5.044394 4.392317 4.807355 4.392317 4.857981 5.169925 5.087463 4.321928
## [73] 5.087463 4.321928 4.857981 4.954196 4.459432 5.247928 5.169925 5.044394

Graficamente

hist(log(telco$Edad, base=2))

Comparacion de transformaciones

# Obtener solo transformaciones

edad_sqrt <- sqrt(telco$Edad)
edad_exp <- exp(telco$Edad)
edad_ln <- log(telco$Edad)
edad_log2 <- log(telco$Edad, base=2)
edad_log5 <- log(telco$Edad, base=5)

Ver graficamente

par(mfrow=c(3,2))
plot(density(telco$Edad))
plot(density(edad_sqrt))
plot(density(edad_exp))
plot(density(edad_ln))
plot(density(edad_log2))
plot(density(edad_log5))

par(mfrow=c(1,1))

hist(telco$Edad)

hist(edad_sqrt)

hist(edad_exp)

hist(edad_ln)

hist(edad_log2)

hist(edad_log5)

par(mfrow=c(1,1))

Este tipo de transformaciones, busca que los datos sean simetricos (distibucion forma de campana) o que se cumpla un supuesto estadistico

Lavisualizacion de la transformacion puede mejorarse con la grafica de densidad

density(telco$Edad)
## 
## Call:
##  density.default(x = telco$Edad)
## 
## Data: telco$Edad (80 obs.);  Bandwidth 'bw' = 2.254
## 
##        x               y            
##  Min.   :13.24   Min.   :0.0001285  
##  1st Qu.:21.62   1st Qu.:0.0092196  
##  Median :30.00   Median :0.0351818  
##  Mean   :30.00   Mean   :0.0297968  
##  3rd Qu.:38.38   3rd Qu.:0.0494093  
##  Max.   :46.76   Max.   :0.0531821
par(mfrow=c(3,2))
plot(density(telco$Edad), main = "Distribucion de edades originales")
plot(density(edad_sqrt), main = "Disatribucion de edades transformadas - sqrt")
plot(density(edad_exp), main = "Disatribucion de edades transformadas - exp")
plot(density(edad_ln), main = "Disatribucion de edades transformadas - log")
plot(density(edad_log2), main = "Disatribucion de edades transformadas - log2")
plot(density(edad_log5), main = "Disatribucion de edades transformadas - log5")

par(mfrow=c(1,1))
library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend
chart.Correlation(cor(telco[,4:8]), histogram = TRUE)
## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

Tarea de sesion

  1. Aplicar transformacion de variables (vistas en clases) para las variables cuantitativas del caso que no se aplico (aplicar para monto, minutos,….)
  2. Comparar resultados y comentar que transformacion es la que permite mejorar la simetria
  3. Realizarlo en su cuenta de rpubs y enviar enlace

Fecha maxima de envio: 11/01/2024 – 11:59 pm Modo de envio: Plataforma EVA (solo enlace)