La transformación y estandarización de variables son técnicas comunes utilizadas en el análisis de datos para mejorar la interpretación de los datos y garantizar que las variables sean comparables entre sí.
La transformación de variables es una técnica utilizada en estadística y análisis de datos para modificar una variable con el objetivo de cumplir con ciertos supuestos o mejorar la interpretación de los datos. Esta transformación implica aplicar una función matemática a los valores de la variable original para obtener una nueva variable.
La transformación de variables implica aplicar una función matemática a los valores de una variable con el objetivo de modificar su distribución o relación con otras variables. Algunas transformaciones comunes incluyen la transformación logarítmica, la transformación exponencial y la transformación de raíz cuadrada. Estas transformaciones se utilizan principalmente cuando los datos presentan asimetría o heterocedasticidad. Por ejemplo, si se tiene una variable con una distribución sesgada hacia la derecha, se puede aplicar una transformación logarítmica para reducir la asimetría y hacer que los datos se aproximen más a una distribución normal (gráfica o distribución se asemeja a la campana de Gauss).
Existen diferentes tipos de transformaciones de variables que se utilizan según las características de los datos y los objetivos del análisis. Algunas de las transformaciones más comunes son:
Cargar el conjunto de datos
#
telco<-read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Estadistica-R/master/Caso_telefon%C3%ADa.csv", sep = ";", encoding = "latin1", stringsAsFactors = T)
head(telco)
## Código Género Sucursal Reclamos Llamadas Edad Minutos Monto Tiempo
## 1 CLIPE1 Masculino Suc. Este 5 7 27 33.0 90.7 16.9
## 2 CLIPE2 Femenino Suc. Este 2 4 28 31.7 95.7 1.5
## 3 CLIPE3 Masculino Suc. Este 5 7 28 39.9 114.5 4.0
## 4 CLIPE4 Masculino Suc. Este 3 5 21 39.3 106.0 14.5
## 5 CLIPE5 Femenino Suc. Este 2 3 29 37.8 99.0 2.7
## 6 CLIPE6 Masculino Suc. Este 3 4 26 43.7 90.2 11.5
## Opinión
## 1 Regular
## 2 Bueno
## 3 Pésimo
## 4 Muy Bueno
## 5 Pésimo
## 6 Bueno
Esta transformación se utiliza para reducir la dispersión de los datos cuando estos tienen una distribución con una varianza que aumenta con el nivel medio de la variable. También puede ayudar a reducir la asimetría.
# Original
hist(telco$Edad, 12)
Para sacar la raiz cuadrada, simplemente se puede utilizar la función 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))
Se aplica cuando los datos tienen una distribución sesgada hacia la izquierda (asimetría negativa). La transformación exponencial puede ayudar a corregir la asimetría y hacer que los datos se aproximen más a una distribución simétrica.
en r para poder obtener esta transformación, se debe utilizar la función 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 se tiene:
hist(exp(telco$Edad))
Forma 2
edad_exp<- exp(telco$Edad)
hist(edad_exp)
Esta transformación se utiliza cuando los datos presentan una distribución sesgada hacia la derecha (asimetría positiva). La transformación logarítmica reduce la asimetría y puede facilitar la interpretación de los datos.
Para la transformación logaritmica, utilizar log (dentro de los argumentos se puede cambiar la base)
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))
#Obtener solo tranaformaciones
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 cada una:
par(mfrow=c(3,2))
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 simétricos (distribución forma de campana) o que se cumpla un supuesto estadístico
La visualización de la distribución puede mejorarse con la gráfica de densidad
par(mfrow=c(3,2))
plot(density(telco$Edad), main = "Distribución de edades originales")
plot(density(edad_sqrt), main = "Distribución de edades transformadas - sqrt")
plot(density(edad_exp), main = "Distribución de edades transformadas - exp")
plot(density(edad_ln), main = "Distribución de edades transformadas - ln")
plot(density(edad_log2), main = "Distribución de edades transformadas - log2")
plot(density(edad_log5), main = "Distribución de edades transformadas - log5")
par(mfrow=c(1,1))
Se puede realizar un análisis general de las variables originales y verificar su comportmiento, a partir de allí se puede aplicar la transformación más adecuado según objetivo.
gráfica general
library(PerformanceAnalytics)
chart.Correlation(cor(telco[,4:8]), histogram = TRUE)
Fecha máxima envio: 11/01/2024 – 11.59 pm Modo de envió: Plataforma eva (solo enlace)
La estandarización de variables, también conocida como normalización, implica transformar los valores de una variable para que tengan una media de cero y una desviación estándar de uno. Esto se logra restando la media de la variable a cada valor y dividiendo por la desviación estándar.
La estandarización es útil cuando se desea comparar variables que están en diferentes escalas o unidades. Al estandarizar las variables, se eliminan las diferencias en las escalas y se asegura que todas las variables tengan la misma escala relativa.
Por ejemplo, si tienes un conjunto de variables con diferentes unidades de medida, como peso en kilogramos y altura en metros, puedes estandarizar ambas variables para que sean comparables y no se vean afectadas por las diferencias en las unidades.
Desde el punto de vista estadístico la estandarización se hace o se aplica a la transformación Z: Se debe restar cada datos con su media y dividir este resultado con la desviación estándar.
\[ z=\frac{x_i-\mu}{\sigma} \]
Donde:
head(telco)
## Código Género Sucursal Reclamos Llamadas Edad Minutos Monto Tiempo
## 1 CLIPE1 Masculino Suc. Este 5 7 27 33.0 90.7 16.9
## 2 CLIPE2 Femenino Suc. Este 2 4 28 31.7 95.7 1.5
## 3 CLIPE3 Masculino Suc. Este 5 7 28 39.9 114.5 4.0
## 4 CLIPE4 Masculino Suc. Este 3 5 21 39.3 106.0 14.5
## 5 CLIPE5 Femenino Suc. Este 2 3 29 37.8 99.0 2.7
## 6 CLIPE6 Masculino Suc. Este 3 4 26 43.7 90.2 11.5
## Opinión
## 1 Regular
## 2 Bueno
## 3 Pésimo
## 4 Muy Bueno
## 5 Pésimo
## 6 Bueno
Vamos a aplicar estandarización Z a la variable Monto de manera manual
Método 1: Por partes
telco$Monto
## [1] 90.7 95.7 114.5 106.0 99.0 90.2 102.5 92.2 110.1 96.5 88.3 85.6
## [13] 89.7 88.8 84.0 84.2 91.7 74.1 88.8 91.6 80.0 88.4 78.5 88.3
## [25] 85.6 88.6 78.8 81.6 86.3 83.8 90.7 95.7 99.3 83.3 97.3 82.8
## [37] 94.3 96.5 78.8 100.2 82.5 82.6 94.5 86.3 88.3 83.7 83.8 84.1
## [49] 83.2 84.8 98.9 119.1 103.4 109.6 106.0 100.6 103.0 110.5 112.4 90.7
## [61] 112.5 108.3 106.0 99.0 90.2 102.5 92.2 110.1 96.5 92.0 84.2 88.4
## [73] 78.5 88.3 85.6 88.6 78.8 81.6 86.3 83.8
media_monto <- mean(telco$Monto)
media_monto
## [1] 92.305
desv_est <- sd(telco$Monto)
desv_est
## [1] 10.11737
monto_estandar <- (telco$Monto-media_monto)/desv_est
monto_estandar
## [1] -0.15863801 0.33556141 2.19375124 1.35361222 0.66173303 -0.20805796
## [7] 1.00767262 -0.01037819 1.75885575 0.41463332 -0.39585374 -0.66272143
## [13] -0.25747790 -0.34643380 -0.82086524 -0.80109726 -0.05979813 -1.79938010
## [19] -0.34643380 -0.06968212 -1.21622478 -0.38596975 -1.36448461 -0.39585374
## [25] -0.66272143 -0.36620177 -1.33483264 -1.05808096 -0.59353351 -0.84063322
## [31] -0.15863801 0.33556141 0.69138499 -0.89005316 0.49370522 -0.93947310
## [37] 0.19718557 0.41463332 -1.33483264 0.78034089 -0.96912507 -0.95924108
## [43] 0.21695355 -0.59353351 -0.39585374 -0.85051721 -0.84063322 -0.81098125
## [49] -0.89993715 -0.74179333 0.65184904 2.64841471 1.09662852 1.70943580
## [55] 1.35361222 0.81987684 1.05709257 1.79839170 1.98618748 -0.15863801
## [61] 1.99607147 1.58094395 1.35361222 0.66173303 -0.20805796 1.00767262
## [67] -0.01037819 1.75885575 0.41463332 -0.03014616 -0.80109726 -0.38596975
## [73] -1.36448461 -0.39585374 -0.66272143 -0.36620177 -1.33483264 -1.05808096
## [79] -0.59353351 -0.84063322
Método 2: Directo
monto_estandar2 <- (telco$Monto-mean(telco$Monto))/sd(telco$Monto)
monto_estandar2
## [1] -0.15863801 0.33556141 2.19375124 1.35361222 0.66173303 -0.20805796
## [7] 1.00767262 -0.01037819 1.75885575 0.41463332 -0.39585374 -0.66272143
## [13] -0.25747790 -0.34643380 -0.82086524 -0.80109726 -0.05979813 -1.79938010
## [19] -0.34643380 -0.06968212 -1.21622478 -0.38596975 -1.36448461 -0.39585374
## [25] -0.66272143 -0.36620177 -1.33483264 -1.05808096 -0.59353351 -0.84063322
## [31] -0.15863801 0.33556141 0.69138499 -0.89005316 0.49370522 -0.93947310
## [37] 0.19718557 0.41463332 -1.33483264 0.78034089 -0.96912507 -0.95924108
## [43] 0.21695355 -0.59353351 -0.39585374 -0.85051721 -0.84063322 -0.81098125
## [49] -0.89993715 -0.74179333 0.65184904 2.64841471 1.09662852 1.70943580
## [55] 1.35361222 0.81987684 1.05709257 1.79839170 1.98618748 -0.15863801
## [61] 1.99607147 1.58094395 1.35361222 0.66173303 -0.20805796 1.00767262
## [67] -0.01037819 1.75885575 0.41463332 -0.03014616 -0.80109726 -0.38596975
## [73] -1.36448461 -0.39585374 -0.66272143 -0.36620177 -1.33483264 -1.05808096
## [79] -0.59353351 -0.84063322
Método 3: Apoyarse en las funciones de R
R tiene múltiple funciones para estandarizar, la clásica es la función scale
#Función scale
monto_estandar3 <- scale(telco$Monto)
monto_estandar3
## [,1]
## [1,] -0.15863801
## [2,] 0.33556141
## [3,] 2.19375124
## [4,] 1.35361222
## [5,] 0.66173303
## [6,] -0.20805796
## [7,] 1.00767262
## [8,] -0.01037819
## [9,] 1.75885575
## [10,] 0.41463332
## [11,] -0.39585374
## [12,] -0.66272143
## [13,] -0.25747790
## [14,] -0.34643380
## [15,] -0.82086524
## [16,] -0.80109726
## [17,] -0.05979813
## [18,] -1.79938010
## [19,] -0.34643380
## [20,] -0.06968212
## [21,] -1.21622478
## [22,] -0.38596975
## [23,] -1.36448461
## [24,] -0.39585374
## [25,] -0.66272143
## [26,] -0.36620177
## [27,] -1.33483264
## [28,] -1.05808096
## [29,] -0.59353351
## [30,] -0.84063322
## [31,] -0.15863801
## [32,] 0.33556141
## [33,] 0.69138499
## [34,] -0.89005316
## [35,] 0.49370522
## [36,] -0.93947310
## [37,] 0.19718557
## [38,] 0.41463332
## [39,] -1.33483264
## [40,] 0.78034089
## [41,] -0.96912507
## [42,] -0.95924108
## [43,] 0.21695355
## [44,] -0.59353351
## [45,] -0.39585374
## [46,] -0.85051721
## [47,] -0.84063322
## [48,] -0.81098125
## [49,] -0.89993715
## [50,] -0.74179333
## [51,] 0.65184904
## [52,] 2.64841471
## [53,] 1.09662852
## [54,] 1.70943580
## [55,] 1.35361222
## [56,] 0.81987684
## [57,] 1.05709257
## [58,] 1.79839170
## [59,] 1.98618748
## [60,] -0.15863801
## [61,] 1.99607147
## [62,] 1.58094395
## [63,] 1.35361222
## [64,] 0.66173303
## [65,] -0.20805796
## [66,] 1.00767262
## [67,] -0.01037819
## [68,] 1.75885575
## [69,] 0.41463332
## [70,] -0.03014616
## [71,] -0.80109726
## [72,] -0.38596975
## [73,] -1.36448461
## [74,] -0.39585374
## [75,] -0.66272143
## [76,] -0.36620177
## [77,] -1.33483264
## [78,] -1.05808096
## [79,] -0.59353351
## [80,] -0.84063322
## attr(,"scaled:center")
## [1] 92.305
## attr(,"scaled:scale")
## [1] 10.11737
La ventaja de la función de R, es que se puede enviar todo el caso
telco_cuanti_scale <- scale(telco[ ,4:9])
head(telco_cuanti_scale)
## Reclamos Llamadas Edad Minutos Monto Tiempo
## [1,] 0.6462614 0.86099329 -0.5465360 -0.52591040 -0.1586380 1.5218742
## [2,] -0.7263292 -0.37636234 -0.3802893 -0.67800907 0.3355614 -0.6349750
## [3,] 0.6462614 0.86099329 -0.3802893 0.28138254 2.1937512 -0.2848372
## [4,] -0.2687990 0.03608954 -1.5440161 0.21118315 1.3536122 1.1857419
## [5,] -0.7263292 -0.78881422 -0.2140426 0.03568469 0.6617330 -0.4669088
## [6,] -0.2687990 -0.37636234 -0.7127827 0.72597865 -0.2080580 0.7655764
Recordar En una sesión anterior se realizo gráficos de cajas para verificar la presencia de outliers No se recomienda trabajar con valores originales para la siguiente gráfica
boxplot(telco[,4:9])
Lo más recomendable es realizar el gráfico con los valores de las variables transformadas
boxplot(telco_cuanti_scale)
Estandarización min-max: Consiste en restar cada dato con el valor mínimo y a esta operación se le divide con la resta del valor máximo con el mínimo. Esto permite que los resultados varien solo entre 0 y 1
\[ X_{norm}=\frac{\left(X_i-X_{\min }\right)}{X_{\max }-X_{\min }} \]
Método 1:
monto_normal <- (telco$Monto-min(telco$Monto))/(max(telco$Monto)-min(telco$Monto))
monto_normal
## [1] 0.36888889 0.48000000 0.89777778 0.70888889 0.55333333 0.35777778
## [7] 0.63111111 0.40222222 0.80000000 0.49777778 0.31555556 0.25555556
## [13] 0.34666667 0.32666667 0.22000000 0.22444444 0.39111111 0.00000000
## [19] 0.32666667 0.38888889 0.13111111 0.31777778 0.09777778 0.31555556
## [25] 0.25555556 0.32222222 0.10444444 0.16666667 0.27111111 0.21555556
## [31] 0.36888889 0.48000000 0.56000000 0.20444444 0.51555556 0.19333333
## [37] 0.44888889 0.49777778 0.10444444 0.58000000 0.18666667 0.18888889
## [43] 0.45333333 0.27111111 0.31555556 0.21333333 0.21555556 0.22222222
## [49] 0.20222222 0.23777778 0.55111111 1.00000000 0.65111111 0.78888889
## [55] 0.70888889 0.58888889 0.64222222 0.80888889 0.85111111 0.36888889
## [61] 0.85333333 0.76000000 0.70888889 0.55333333 0.35777778 0.63111111
## [67] 0.40222222 0.80000000 0.49777778 0.39777778 0.22444444 0.31777778
## [73] 0.09777778 0.31555556 0.25555556 0.32222222 0.10444444 0.16666667
## [79] 0.27111111 0.21555556
Método 2: Función
library(scales)
rescale(telco$Monto)
## [1] 0.36888889 0.48000000 0.89777778 0.70888889 0.55333333 0.35777778
## [7] 0.63111111 0.40222222 0.80000000 0.49777778 0.31555556 0.25555556
## [13] 0.34666667 0.32666667 0.22000000 0.22444444 0.39111111 0.00000000
## [19] 0.32666667 0.38888889 0.13111111 0.31777778 0.09777778 0.31555556
## [25] 0.25555556 0.32222222 0.10444444 0.16666667 0.27111111 0.21555556
## [31] 0.36888889 0.48000000 0.56000000 0.20444444 0.51555556 0.19333333
## [37] 0.44888889 0.49777778 0.10444444 0.58000000 0.18666667 0.18888889
## [43] 0.45333333 0.27111111 0.31555556 0.21333333 0.21555556 0.22222222
## [49] 0.20222222 0.23777778 0.55111111 1.00000000 0.65111111 0.78888889
## [55] 0.70888889 0.58888889 0.64222222 0.80888889 0.85111111 0.36888889
## [61] 0.85333333 0.76000000 0.70888889 0.55333333 0.35777778 0.63111111
## [67] 0.40222222 0.80000000 0.49777778 0.39777778 0.22444444 0.31777778
## [73] 0.09777778 0.31555556 0.25555556 0.32222222 0.10444444 0.16666667
## [79] 0.27111111 0.21555556
Aplicando a todo el caso (var cuantitativas) la función rescale solo permite aplicarse a vectores, no es posible directamente apicar al data frame.
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
pre_procesamiento<-preProcess(telco[,4:9]) # Así por defecto muestra la est. Z
predict(pre_procesamiento, telco[,4:9])
## Reclamos Llamadas Edad Minutos Monto Tiempo
## 1 0.6462614 0.86099329 -0.54653598 -0.52591040 -0.15863801 1.52187422
## 2 -0.7263292 -0.37636234 -0.38028929 -0.67800907 0.33556141 -0.63497501
## 3 0.6462614 0.86099329 -0.38028929 0.28138254 2.19375124 -0.28483715
## 4 -0.2687990 0.03608954 -1.54401609 0.21118315 1.35361222 1.18574187
## 5 -0.7263292 -0.78881422 -0.21404261 0.03568469 0.66173303 -0.46690884
## 6 -0.2687990 -0.37636234 -0.71278266 0.72597865 -0.20805796 0.76557644
## 7 1.1037917 1.27344517 1.61467093 1.00677619 1.00767262 -0.77503016
## 8 -0.7263292 -0.37636234 1.61467093 0.01228489 -0.01037819 -0.66298604
## 9 -0.2687990 0.44854142 -0.04779592 0.52708039 1.75885575 -0.10276546
## 10 -1.1838595 -0.37636234 -0.54653598 0.64407937 0.41463332 -0.67699156
## 11 -0.2687990 0.03608954 -0.38028929 0.85467753 -0.39585374 -0.60696398
## 12 -0.2687990 -0.78881422 -1.04527603 0.01228489 -0.66272143 2.02607274
## 13 -0.7263292 -0.37636234 -0.71278266 -1.22790426 -0.25747790 -0.73301361
## 14 -1.1838595 -1.20126609 0.45094413 -0.86520743 -0.34643380 -0.78903567
## 15 0.1887312 0.03608954 -1.54401609 -1.28640375 -0.82086524 -0.45290332
## 16 -0.2687990 0.03608954 1.61467093 -1.07580559 -0.80109726 -0.03273789
## 17 -0.2687990 0.44854142 -0.87902935 -0.91200702 -0.05979813 -0.25682612
## 18 0.1887312 0.03608954 1.28217756 -0.58440989 -1.79938010 -0.73301361
## 19 0.1887312 -0.37636234 0.78343750 -1.49700191 -0.34643380 0.48546615
## 20 -1.1838595 0.44854142 0.11845076 -1.48530201 -0.06968212 -0.48091435
## 21 -0.2687990 0.86099329 -0.38028929 -0.61950958 -1.21622478 -0.21480958
## 22 -1.1838595 -1.61371797 -0.71278266 -1.26300395 -0.38596975 -0.66298604
## 23 1.5613219 1.68589705 -0.71278266 -0.71310876 -1.36448461 -0.48091435
## 24 -0.2687990 0.03608954 0.45094413 -0.74820846 -0.39585374 -0.07475443
## 25 -0.2687990 0.44854142 0.61719082 -1.26300395 -0.66272143 -0.46690884
## 26 -0.7263292 0.44854142 -1.37776940 -0.39721153 -0.36620177 0.76557644
## 27 0.1887312 0.44854142 -0.71278266 -1.20450447 -1.33483264 -0.77503016
## 28 0.6462614 0.86099329 1.44842424 -1.06410569 -1.05808096 -0.66298604
## 29 -1.1838595 -1.61371797 0.11845076 1.41627261 -0.59353351 -0.10276546
## 30 0.6462614 0.86099329 -1.37776940 -1.04070590 -0.84063322 -0.67699156
## 31 -0.7263292 -0.37636234 -0.38028929 -0.02281480 -0.15863801 -0.60696398
## 32 -0.2687990 0.03608954 0.78343750 -0.42061132 0.33556141 2.02607274
## 33 -0.2687990 -0.78881422 -1.37776940 0.05908448 0.69138499 -0.38287575
## 34 0.1887312 -0.37636234 1.61467093 0.49198070 -0.89005316 -0.80304119
## 35 -1.1838595 -1.61371797 0.61719082 0.09418418 0.49370522 -0.60696398
## 36 -0.7263292 -0.78881422 -1.71026277 1.29927364 -0.93947310 1.46585216
## 37 -0.7263292 -0.78881422 0.61719082 -0.50251061 0.19718557 -0.29884267
## 38 -1.1838595 -1.20126609 -1.71026277 0.41008141 0.41463332 2.88040912
## 39 0.1887312 0.86099329 -0.21404261 0.49198070 -1.33483264 -0.50892538
## 40 0.1887312 0.03608954 0.45094413 -0.33871204 0.78034089 -0.80304119
## 41 -0.2687990 1.27344517 -1.21152272 1.17057476 -0.96912507 -0.46690884
## 42 -1.1838595 -1.20126609 0.78343750 -0.29191245 -0.95924108 2.33419406
## 43 -0.2687990 1.27344517 -1.04527603 -0.08131429 0.21695355 -0.21480958
## 44 -1.1838595 -1.61371797 0.28469745 0.71427875 -0.59353351 -0.20080406
## 45 -0.7263292 -0.78881422 0.28469745 -0.26851265 -0.39585374 0.30339446
## 46 1.5613219 1.27344517 -0.54653598 0.03568469 -0.85051721 -0.11677098
## 47 -0.2687990 -0.37636234 1.11593087 0.02398479 -0.84063322 -0.28483715
## 48 0.6462614 1.27344517 0.28469745 0.46858090 -0.81098125 0.90563158
## 49 -0.2687990 0.86099329 0.45094413 1.49817190 -0.89993715 2.47424920
## 50 1.5613219 1.27344517 0.78343750 -0.45571101 -0.74179333 -0.46690884
## 51 2.0188521 1.68589705 1.44842424 1.69707016 0.65184904 4.19692748
## 52 0.6462614 0.03608954 0.61719082 1.50987179 2.64841471 -0.77503016
## 53 2.0188521 1.27344517 1.28217756 -0.15151367 1.09662852 -0.62096950
## 54 0.1887312 -0.37636234 1.44842424 0.26968264 1.70943580 -0.60696398
## 55 0.1887312 0.03608954 1.11593087 2.89045972 1.35361222 -0.73301361
## 56 -0.2687990 -0.37636234 0.28469745 0.94827671 0.81987684 -0.53693641
## 57 1.5613219 0.86099329 1.11593087 1.29927364 1.05709257 -0.17279303
## 58 0.6462614 0.03608954 -0.87902935 0.25798274 1.79839170 -0.53693641
## 59 -0.7263292 -0.78881422 -0.71278266 -1.38000293 1.98618748 -0.28483715
## 60 -0.2687990 -0.37636234 1.61467093 0.33988203 -0.15863801 1.52187422
## 61 2.0188521 1.27344517 1.61467093 1.03017599 1.99607147 -0.63497501
## 62 0.1887312 -0.37636234 -0.04779592 0.71427875 1.58094395 -0.45290332
## 63 2.0188521 1.27344517 -0.38028929 2.07146688 1.35361222 -0.35486472
## 64 3.3914428 3.33570456 -1.04527603 0.18778336 0.66173303 -0.28483715
## 65 0.6462614 0.44854142 0.45094413 1.65027057 -0.20805796 1.18574187
## 66 0.1887312 0.86099329 -1.54401609 0.77277824 1.00767262 -0.41088678
## 67 2.4763823 1.68589705 -0.38028929 0.17608346 -0.01037819 -0.18679855
## 68 2.0188521 1.27344517 -1.54401609 1.72046995 1.75885575 -0.29884267
## 69 -0.2687990 -0.78881422 -0.21404261 1.88426852 0.41463332 0.07930623
## 70 -0.7263292 -1.20126609 0.94968419 -0.13981378 -0.03014616 0.79358746
## 71 -1.1838595 -1.61371797 0.61719082 -1.54380150 -0.80109726 -0.48091435
## 72 -1.1838595 -1.61371797 -1.71026277 -0.66630917 -0.38596975 -0.10276546
## 73 -0.2687990 -0.78881422 0.61719082 -0.52591040 -1.36448461 -0.67699156
## 74 0.1887312 0.03608954 -1.71026277 -0.67800907 -0.39585374 -0.60696398
## 75 -0.7263292 -1.20126609 -0.21404261 -0.71310876 -0.66272143 2.02607274
## 76 -1.1838595 -1.20126609 0.11845076 -1.23960416 -0.36620177 -0.38287575
## 77 -0.7263292 -0.78881422 -1.37776940 -2.33939454 -1.33483264 -0.80304119
## 78 -0.2687990 -0.78881422 1.28217756 -0.88860723 -1.05808096 -0.60696398
## 79 -0.7263292 -0.78881422 0.94968419 -0.13981378 -0.59353351 -0.53693641
## 80 -0.7263292 -1.20126609 0.45094413 -0.66630917 -0.84063322 -0.28483715
library(caret)
pre_procesamiento<-preProcess(telco[,4:9], method = "range")
predict(pre_procesamiento, telco[,4:9])
## Reclamos Llamadas Edad Minutos Monto Tiempo
## 1 0.4 0.50000000 0.35 0.3467562 0.36888889 0.464985994
## 2 0.1 0.25000000 0.40 0.3176734 0.48000000 0.033613445
## 3 0.4 0.50000000 0.40 0.5011186 0.89777778 0.103641457
## 4 0.2 0.33333333 0.05 0.4876957 0.70888889 0.397759104
## 5 0.1 0.16666667 0.45 0.4541387 0.55333333 0.067226891
## 6 0.2 0.25000000 0.30 0.5861298 0.35777778 0.313725490
## 7 0.5 0.58333333 1.00 0.6398210 0.63111111 0.005602241
## 8 0.1 0.25000000 1.00 0.4496644 0.40222222 0.028011204
## 9 0.2 0.41666667 0.50 0.5480984 0.80000000 0.140056022
## 10 0.0 0.25000000 0.35 0.5704698 0.49777778 0.025210084
## 11 0.2 0.33333333 0.40 0.6107383 0.31555556 0.039215686
## 12 0.2 0.16666667 0.20 0.4496644 0.25555556 0.565826331
## 13 0.1 0.25000000 0.30 0.2125280 0.34666667 0.014005602
## 14 0.0 0.08333333 0.65 0.2818792 0.32666667 0.002801120
## 15 0.3 0.33333333 0.05 0.2013423 0.22000000 0.070028011
## 16 0.2 0.33333333 1.00 0.2416107 0.22444444 0.154061625
## 17 0.2 0.41666667 0.25 0.2729306 0.39111111 0.109243697
## 18 0.3 0.33333333 0.90 0.3355705 0.00000000 0.014005602
## 19 0.3 0.25000000 0.75 0.1610738 0.32666667 0.257703081
## 20 0.0 0.41666667 0.55 0.1633110 0.38888889 0.064425770
## 21 0.2 0.50000000 0.40 0.3288591 0.13111111 0.117647059
## 22 0.0 0.00000000 0.30 0.2058166 0.31777778 0.028011204
## 23 0.6 0.66666667 0.30 0.3109620 0.09777778 0.064425770
## 24 0.2 0.33333333 0.65 0.3042506 0.31555556 0.145658263
## 25 0.2 0.41666667 0.70 0.2058166 0.25555556 0.067226891
## 26 0.1 0.41666667 0.10 0.3713647 0.32222222 0.313725490
## 27 0.3 0.41666667 0.30 0.2170022 0.10444444 0.005602241
## 28 0.4 0.50000000 0.95 0.2438479 0.16666667 0.028011204
## 29 0.0 0.00000000 0.55 0.7181208 0.27111111 0.140056022
## 30 0.4 0.50000000 0.10 0.2483221 0.21555556 0.025210084
## 31 0.1 0.25000000 0.40 0.4429530 0.36888889 0.039215686
## 32 0.2 0.33333333 0.75 0.3668904 0.48000000 0.565826331
## 33 0.2 0.16666667 0.10 0.4586130 0.56000000 0.084033613
## 34 0.3 0.25000000 1.00 0.5413870 0.20444444 0.000000000
## 35 0.0 0.00000000 0.70 0.4653244 0.51555556 0.039215686
## 36 0.1 0.16666667 0.00 0.6957494 0.19333333 0.453781513
## 37 0.1 0.16666667 0.70 0.3512304 0.44888889 0.100840336
## 38 0.0 0.08333333 0.00 0.5257271 0.49777778 0.736694678
## 39 0.3 0.50000000 0.45 0.5413870 0.10444444 0.058823529
## 40 0.3 0.33333333 0.65 0.3825503 0.58000000 0.000000000
## 41 0.2 0.58333333 0.15 0.6711409 0.18666667 0.067226891
## 42 0.0 0.08333333 0.75 0.3914989 0.18888889 0.627450980
## 43 0.2 0.58333333 0.20 0.4317673 0.45333333 0.117647059
## 44 0.0 0.00000000 0.60 0.5838926 0.27111111 0.120448179
## 45 0.1 0.16666667 0.60 0.3959732 0.31555556 0.221288515
## 46 0.6 0.58333333 0.35 0.4541387 0.21333333 0.137254902
## 47 0.2 0.25000000 0.85 0.4519016 0.21555556 0.103641457
## 48 0.4 0.58333333 0.60 0.5369128 0.22222222 0.341736695
## 49 0.2 0.50000000 0.65 0.7337808 0.20222222 0.655462185
## 50 0.6 0.58333333 0.75 0.3601790 0.23777778 0.067226891
## 51 0.7 0.66666667 0.95 0.7718121 0.55111111 1.000000000
## 52 0.4 0.33333333 0.70 0.7360179 1.00000000 0.005602241
## 53 0.7 0.58333333 0.90 0.4183445 0.65111111 0.036414566
## 54 0.3 0.25000000 0.95 0.4988814 0.78888889 0.039215686
## 55 0.3 0.33333333 0.85 1.0000000 0.70888889 0.014005602
## 56 0.2 0.25000000 0.60 0.6286353 0.58888889 0.053221289
## 57 0.6 0.50000000 0.85 0.6957494 0.64222222 0.126050420
## 58 0.4 0.33333333 0.25 0.4966443 0.80888889 0.053221289
## 59 0.1 0.16666667 0.30 0.1834452 0.85111111 0.103641457
## 60 0.2 0.25000000 1.00 0.5123043 0.36888889 0.464985994
## 61 0.7 0.58333333 1.00 0.6442953 0.85333333 0.033613445
## 62 0.3 0.25000000 0.50 0.5838926 0.76000000 0.070028011
## 63 0.7 0.58333333 0.40 0.8434004 0.70888889 0.089635854
## 64 1.0 1.00000000 0.20 0.4832215 0.55333333 0.103641457
## 65 0.4 0.41666667 0.65 0.7628635 0.35777778 0.397759104
## 66 0.3 0.50000000 0.05 0.5950783 0.63111111 0.078431373
## 67 0.8 0.66666667 0.40 0.4809843 0.40222222 0.123249300
## 68 0.7 0.58333333 0.05 0.7762864 0.80000000 0.100840336
## 69 0.2 0.16666667 0.45 0.8076063 0.49777778 0.176470588
## 70 0.1 0.08333333 0.80 0.4205817 0.39777778 0.319327731
## 71 0.0 0.00000000 0.70 0.1521253 0.22444444 0.064425770
## 72 0.0 0.00000000 0.00 0.3199105 0.31777778 0.140056022
## 73 0.2 0.16666667 0.70 0.3467562 0.09777778 0.025210084
## 74 0.3 0.33333333 0.00 0.3176734 0.31555556 0.039215686
## 75 0.1 0.08333333 0.45 0.3109620 0.25555556 0.565826331
## 76 0.0 0.08333333 0.55 0.2102908 0.32222222 0.084033613
## 77 0.1 0.16666667 0.10 0.0000000 0.10444444 0.000000000
## 78 0.2 0.16666667 0.90 0.2774049 0.16666667 0.039215686
## 79 0.1 0.16666667 0.80 0.4205817 0.27111111 0.053221289
## 80 0.1 0.08333333 0.65 0.3199105 0.21555556 0.103641457
es una librería en R que proporciona una forma fácil y poderosa de crear gráficos de alta calidad. Fue desarrollada por Hadley Wickham y se basa en la gramática de gráficos, lo que significa que utiliza una sintaxis coherente y consistente para construir visualizaciones.
La principal idea detrás de ggplot es que un gráfico se puede descomponer en capas que representan diferentes aspectos de la visualización, como los datos, las variables estéticas, las escalas, los ejes, los títulos, las leyendas, etc. Cada capa se agrega al gráfico utilizando funciones específicas de ggplot.
En ggplot, se sigue un enfoque de “declaración” para construir gráficos. En lugar de dibujar directamente los gráficos, se especifica cómo deberían verse los gráficos y qué datos utilizar. Luego, ggplot se encarga de generar el gráfico final teniendo en cuenta todas las especificaciones.
La sintaxis básica de ggplot involucra tres componentes principales:
ggplot(): Esta función inicializa un objeto de gráfico base al que se pueden agregar capas adicionales. Se especifica el conjunto de datos y las variables estéticas dentro de esta función.
aes(): Esta función se utiliza dentro de ggplot() o en las capas adicionales para definir las variables estéticas. Las variables estéticas determinan cómo se mapean los datos a los aspectos visuales del gráfico, como las posiciones en los ejes x e y, los colores, los tamaños, etc.
Capas adicionales: Después de inicializar el objeto de gráfico con ggplot(), se pueden agregar capas adicionales utilizando funciones como geom_point(), geom_line(), geom_bar(), etc. Estas funciones especifican el tipo de gráfico que se desea agregar al gráfico base y permiten personalizar aún más la visualización.