# Cargar los datos
datos <- read.csv("D:/Data/database.csv", header = TRUE, sep = ";", dec = ".")
# Función para calcular la moda
get_mode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}
c_motor <- as.numeric(as.character(datos$Engine.Index))
## Warning: NAs introducidos por coerción
c_motor <- na.omit(c_motor)
c_motor <- c_motor[c_motor > 10000]
R <- max(c_motor) - min(c_motor)
k <- floor(1 + (3.3 * log10(length(c_motor))))
A <- R / k
liminf <- seq(from = min(c_motor), by = A, length.out = k)
limsup <- liminf + A
limsup[k] <- max(c_motor) + 0.01
breaks <- c(liminf, max(limsup) + 0.01)
MC <- (liminf + limsup) / 2
ni <- c()
for (i in 1:k) {
if (i == k) {
ni[i] <- length(subset(c_motor, c_motor >= liminf[i] & c_motor <= limsup[i]))
} else {
ni[i] <- length(subset(c_motor, c_motor >= liminf[i] & c_motor < limsup[i]))
}
}
hi <- (ni / length(c_motor)) * 100
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))
TDFcu_c_motor <- data.frame(
liminf = round(liminf, 2),
limsup = round(limsup, 2),
MC = round(MC, 2),
ni = ni,
hi_perc = round(hi, 2),
Niasc = Niasc,
Nidsc = Nidsc,
Hiasc_perc = round(Hiasc, 2),
Hidsc_perc = round(Hidsc, 2)
)
print(TDFcu_c_motor)
## liminf limsup MC ni hi_perc Niasc Nidsc Hiasc_perc Hidsc_perc
## 1 10010.00 14555.54 12282.77 288 4.31 288 6681 4.31 100.00
## 2 14555.54 19101.08 16828.31 43 0.64 331 6393 4.95 95.69
## 3 19101.08 23646.62 21373.85 511 7.65 842 6350 12.60 95.05
## 4 23646.62 28192.15 25919.38 577 8.64 1419 5839 21.24 87.40
## 5 28192.15 32737.69 30464.92 383 5.73 1802 5262 26.97 78.76
## 6 32737.69 37283.23 35010.46 115 1.72 1917 4879 28.69 73.03
## 7 37283.23 41828.77 39556.00 691 10.34 2608 4764 39.04 71.31
## 8 41828.77 46374.31 44101.54 276 4.13 2884 4073 43.17 60.96
## 9 46374.31 50919.85 48647.08 991 14.83 3875 3797 58.00 56.83
## 10 50919.85 55465.38 53192.62 302 4.52 4177 2806 62.52 42.00
## 11 55465.38 60010.92 57738.15 1687 25.25 5864 2504 87.77 37.48
## 12 60010.92 64556.46 62283.69 402 6.02 6266 817 93.79 12.23
## 13 64556.46 69102.01 66829.24 415 6.21 6681 415 100.00 6.21
hist(c_motor,
breaks = breaks,
freq = TRUE,
main = "GRÁFICA NO.1 DISTRIBUCIÓN DE LA CILINDRADA DEL MOTOR",
xlab = "CILINDRADA",
ylab = "CANTIDAD",
col = "steelblue",
border = "black",
xlim = c(liminf[1], limsup[k]))
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'
boxplot(c_motor, horizontal = TRUE, col = "darkorange",
main = "GRÁFICA NO.2 DISTRIBUCIÓN DE LA CILINDRADA DEL MOTOR",
xlab = "CILINDRADA DEL MOTOR")
x_asc <- c(min(TDFcu_c_motor$liminf), TDFcu_c_motor$limsup)
y_asc <- c(0, TDFcu_c_motor$Niasc)
x_desc <- c(TDFcu_c_motor$liminf, max(TDFcu_c_motor$limsup))
y_desc <- c(TDFcu_c_motor$Nidsc, 0)
x_plot_range <- c(liminf[1], limsup[k])
y_plot_range <- c(0, max(c(y_asc, y_desc), na.rm = TRUE))
plot(x_asc, y_asc, type = "o",
main = "GRÁFICA NO.3 OJIVA ASCENDENTE Y DESCENDENTE",
xlab = "CILINDRADA DEL MOTOR", ylab = "CANTIDAD",
col = "darkgreen",
xlim = x_plot_range,
ylim = y_plot_range)
lines(x_desc, y_desc, col = "darkblue", type = "o")
mean_c_motor <- mean(c_motor)
median_c_motor <- median(c_motor)
sd_c_motor <- sd(c_motor)
indicadores_c_motor <- data.frame(
Indicador = c("Moda", "Mediana", "Media(x)", "Desviacion Estandar", "Varianza", "Coef Variacion (%)", "Asimetria", "Curtosis"),
Valor = c(
round(get_mode(c_motor), 2),
round(median_c_motor, 2),
round(mean_c_motor, 2),
round(sd_c_motor, 2),
round(var(c_motor), 2),
round((sd_c_motor / mean_c_motor) * 100, 2),
round(skewness(c_motor), 2),
round(kurtosis(c_motor), 2)
)
)
print(indicadores_c_motor)
## Indicador Valor
## 1 Moda 49010.00
## 2 Mediana 49032.00
## 3 Media(x) 44464.49
## 4 Desviacion Estandar 15473.68
## 5 Varianza 239434782.27
## 6 Coef Variacion (%) 34.80
## 7 Asimetria -0.51
## 8 Curtosis -0.93
boxplot.stats(c_motor)$out
## numeric(0)
length(boxplot.stats(c_motor)$out)
## [1] 0
outliers <- boxplot.stats(c_motor)$out
range(outliers)
## Warning in min(x): ningún argumento finito para min; retornando Inf
## Warning in max(x): ningun argumento finito para max; retornando -Inf
## [1] Inf -Inf
## Conclusión Cilindrada
El comportamiento de la variable de la cilindrada del motor fluctúa entre 10010 y 69102.01. La mediana es de 44464.49 con una desviación estándar de 15473.68. Se observa una distribución altamente dispersa, con sesgo positivo y sin valores atípicos.
c_anual <- as.numeric(as.character(datos$Annual.Fuel.Cost..FT1.))
c_anual <- na.omit(c_anual)
c_anual <- c_anual[c_anual > 0]
R <- max(c_anual) - min(c_anual)
k <- floor(1 + (3.3 * log10(length(c_anual))))
A <- R / k
liminf <- seq(from = min(c_anual), by = A, length.out = k)
limsup <- liminf + A
limsup[k] <- max(c_anual) + 0.01
breaks <- c(liminf, max(limsup) + 0.01)
MC <- (liminf + limsup) / 2
ni <- c()
for (i in 1:k) {
if (i == k) {
ni[i] <- length(subset(c_anual, c_anual >= liminf[i] & c_anual <= limsup[i]))
} else {
ni[i] <- length(subset(c_anual, c_anual >= liminf[i] & c_anual < limsup[i]))
}
}
hi <- (ni / length(c_anual)) * 100
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))
TDFcu_c_anual <- data.frame(
liminf = round(liminf, 2),
limsup = round(limsup, 2),
MC = round(MC, 2),
ni = ni,
hi_perc = round(hi, 2),
Niasc = Niasc,
Nidsc = Nidsc,
Hiasc_perc = round(Hiasc, 2),
Hidsc_perc = round(Hidsc, 2)
)
print(TDFcu_c_anual)
## liminf limsup MC ni hi_perc Niasc Nidsc Hiasc_perc Hidsc_perc
## 1 500.00 846.88 673.44 178 0.50 178 35723 0.50 100.00
## 2 846.88 1193.75 1020.31 1294 3.62 1472 35545 4.12 99.50
## 3 1193.75 1540.62 1367.19 6655 18.63 8127 34251 22.75 95.88
## 4 1540.62 1887.50 1714.06 9015 25.24 17142 27596 47.99 77.25
## 5 1887.50 2234.38 2060.94 8509 23.82 25651 18581 71.81 52.01
## 6 2234.38 2581.25 2407.81 6170 17.27 31821 10072 89.08 28.19
## 7 2581.25 2928.12 2754.69 2332 6.53 34153 3902 95.61 10.92
## 8 2928.12 3275.00 3101.56 995 2.79 35148 1570 98.39 4.39
## 9 3275.00 3621.88 3448.44 304 0.85 35452 575 99.24 1.61
## 10 3621.88 3968.75 3795.31 175 0.49 35627 271 99.73 0.76
## 11 3968.75 4315.62 4142.19 52 0.15 35679 96 99.88 0.27
## 12 4315.62 4662.50 4489.06 31 0.09 35710 44 99.96 0.12
## 13 4662.50 5009.38 4835.94 6 0.02 35716 13 99.98 0.04
## 14 5009.38 5356.25 5182.81 2 0.01 35718 7 99.99 0.02
## 15 5356.25 5703.12 5529.69 0 0.00 35718 5 99.99 0.01
## 16 5703.12 6050.01 5876.57 5 0.01 35723 5 100.00 0.01
hist(c_anual,
breaks = breaks,
freq = TRUE,
main = "GRÁFICA NO.4 DISTRIBUCIÓN DEL COSTO ANUAL DE COMBUSTIBLE",
xlab = "COSTO ANUAL",
ylab = "CANTIDAD",
col = "steelblue",
border = "black",
xlim = c(liminf[1], limsup[k]))
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'
boxplot(c_anual, horizontal = TRUE, col = "darkorange",
main = "GRÁFICA NO.5 DISTRIBUCIÓN DEL COSTO ANUAL DE COMBUSTIBLE",
xlab = "COSTO ANUAL")
x_asc <- c(min(TDFcu_c_anual$liminf), TDFcu_c_anual$limsup)
y_asc <- c(0, TDFcu_c_anual$Niasc)
x_desc <- c(TDFcu_c_anual$liminf, max(TDFcu_c_anual$limsup))
y_desc <- c(TDFcu_c_anual$Nidsc, 0)
plot(x_asc, y_asc, type = "o",
main = "GRÁFICA NO.6 OJIVA COSTO ANUAL COMBUSTIBLE",
xlab = "COSTO ANUAL", ylab = "CANTIDAD",
col = "darkgreen",
xlim = c(liminf[1], limsup[k]),
ylim = c(0, max(c(y_asc, y_desc))))
lines(x_desc, y_desc, col = "darkblue", type = "o")
mean_c_anual <- mean(c_anual)
median_c_anual <- median(c_anual)
sd_c_anual <- sd(c_anual)
indicadores_c_anual <- data.frame(
Indicador = c("Moda", "Mediana", "Media(x)", "Desviacion Estandar", "Varianza", "Coef Variacion (%)", "Asimetria", "Curtosis"),
Valor = c(
round(get_mode(c_anual), 2),
round(median_c_anual, 2),
round(mean_c_anual, 2),
round(sd_c_anual, 2),
round(var(c_anual), 2),
round((sd_c_anual / mean_c_anual) * 100, 2),
round(skewness(c_anual), 2),
round(kurtosis(c_anual), 2)
)
)
print(indicadores_c_anual)
## Indicador Valor
## 1 Moda 2350.00
## 2 Mediana 1950.00
## 3 Media(x) 1959.10
## 4 Desviacion Estandar 533.64
## 5 Varianza 284768.16
## 6 Coef Variacion (%) 27.24
## 7 Asimetria 0.83
## 8 Curtosis 1.80
boxplot.stats(c_anual)$out
## [1] 3900 3900 3900 3900 4350 4350 3900 3500 3500 3500 3500 3500 3500 3500 3500
## [16] 3500 3500 3500 3500 3500 3500 4350 4350 4350 4350 4350 4350 3900 3900 4350
## [31] 4350 3500 3500 4350 4350 4350 4350 4350 4350 3500 3500 3500 3500 3500 3500
## [46] 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 4350 3500 4350 4350
## [61] 3900 4350 3500 3500 3500 3500 6050 4350 3250 3250 4350 4350 3900 4350 3900
## [76] 3900 3900 3500 3900 3500 3500 3500 3500 3900 6050 3250 3250 4350 4350 3900
## [91] 3900 4350 3900 4350 3900 3900 4350 3900 3900 4350 3900 3900 4350 3900 3900
## [106] 3900 3500 3500 3900 3500 3500 3900 3900 6050 3250 3250 3250 3500 3900 3900
## [121] 3900 3900 3900 3900 3900 3900 3500 3500 3500 3500 3500 3500 3500 3500 3500
## [136] 3500 3500 3250 6050 3500 3250 3250 3500 3500 3500 3500 3500 3500 3900 3500
## [151] 3500 3500 3500 3250 3250 6050 4250 3250 3250 3250 4250 4250 4250 4250 3500
## [166] 3500 3250 3500 3500 3250 3500 3500 3500 3500 3500 3250 3850 3850 3250 4250
## [181] 3250 3250 4250 4250 4250 4250 3500 3500 4250 3250 3250 3250 3250 3250 3250
## [196] 3250 3850 3500 3250 3500 3500 3500 3500 3500 3250 3250 3850 3850 3250 4250
## [211] 3250 3850 3850 3250 3850 3850 3850 3850 3850 3850 3500 3850 3850 3850 3850
## [226] 3500 4250 3250 3250 3250 3250 3250 3500 3250 3250 3850 3500 3250 3500 3250
## [241] 3850 3250 3250 3500 3500 4250 4250 3500 3500 3250 3250 3500 3250 3250 3850
## [256] 3850 3850 3850 3850 3500 3500 3250 3250 3850 3250 3250 3250 3250 4250 3250
## [271] 3250 3500 3500 3250 3250 3250 3250 3850 3850 3850 3850 3850 3250 3250 3850
## [286] 3850 5300 3850 3500 3250 3250 4250 4250 3250 3250 3500 3250 3250 3500 3250
## [301] 3250 3250 3250 3850 3850 3850 3850 3850 3850 3500 4250 3250 3500 3500 3500
## [316] 3500 3500 4700 4250 3850 3850 4250 3250 3250 3250 3500 3500 3500 3500 3500
## [331] 4700 3500 3500 3850 3500 3500 3500 3500 3250 3250 3850 3850 4250 3850 3850
## [346] 3250 4250 3250 3250 3250 3250 3500 3850 3250 3500 3850 3500 3500 3500 3500
## [361] 3250 3250 3500 3850 3850 3850 4250 3850 3850 3250 4250 3250 3250 3250 3250
## [376] 3250 3250 3250 3500 3850 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500
## [391] 3850 3850 3850 3850 4700 3250 3250 3250 3500 3250 3250 3500 3500 3500 3500
## [406] 3500 3500 3250 3250 3850 3850 3850 3850 4700 3250 3850 3250 3250 3500 3500
## [421] 3500 3500 3250 3250 3250 3850 3250 3250 3250 3850 3850 3850 3850 3850 3850
## [436] 3500 4250 4250 3250 3500 3250 3250 3500 3500 3500 3500 3500 3500 3250 3250
## [451] 3500 3850 3850 3850 3250 3500 3500 3500 3250 3850 3850 3500 3500 3500 3500
## [466] 3850 3500 3850 3850 3850 3850 3850 5300 3250 4250 4250 3500 3250 3250 3250
## [481] 3500 3500 3500 3500 3500 3250 3250 3850 3850 3500 4250 3250 3500 3850 3850
## [496] 3850 3850 3250 3850 4250 3850 4250 3500 3500 3250 3250 3500 3500 3500 3500
## [511] 3250 3250 3500 3250 3250 3850 3250 3250 3250 3500 3250 3500 3500 3850 3850
## [526] 3500 3250 3250 3250 3450 3450 4700 4250 3250 3850 3850 3850 3850 3850 3500
## [541] 3500 3500 3450 3450 3250 3250 3850 4250 3850 4250 3500 3250 3250 3250 3500
## [556] 3500 3500 3500 3500 3250 3250 3250 3500 3500 3250 3250 3250 3850 3250 3250
## [571] 3250 3500 3250 3500 3500 3850 3850 3500 3250 3250 3250 4250 3250 3250 3250
## [586] 4700 4250 3250 3850 3500 3850 3850 3250 3250 3250 3500 3250 3500 3500 3500
## [601] 3850 4250 3250 3250 3250 3250 3250 3500 3500 3500 3250 3250 3250 3500 3500
## [616] 3500 3500 3500 3500 3500 3250 3250 3500 3250 3500 3850 3850 3850 3250 3250
## [631] 3250 3250 3250 3250 3250 3250 3250 3500 3850 3850 3500 3250 3250 3500 3250
## [646] 3250 3250 3500 3500 3850 4250 3250 3250 3500 3500 3500 3500 3250 3500 3500
## [661] 3500 3250 3250 3500 3500 3500 3500 3500 3500 3250 3500 3250 3500 3850 3850
## [676] 3850 3500 3250 3500 3250 3250 3250 3250 3250 3250 4250 3250 3500 3500 3850
## [691] 3500 3250 3250 3500 3250 3250 3500 3500 3850 4250 3850 3850 4250 3500 3500
## [706] 3500 3500 3250 3250 3250 3500 3500 3250 3250 3250 3250 3250 3250 3250 3250
## [721] 3250 3250 3250 3250 3250 3250 3250 3250 3250 3850 3850 3850 3850 3500 3250
## [736] 3500 3250 3250 3250 3250 3250 3250 3500 3500 3850 3500 3250 3250 3500 3850
## [751] 4250 3850 4250 3500 3500 3500 3500 3250 3250 3500 3500 3250 3250 3250 3250
## [766] 3250 3250 3250 3850 3850 3500 3250 3500 3250 3250 3250 3250 3250 3250 4250
## [781] 3500 3500 3850 3500 3250 3850 4250 3850 3850 4250 3500 3500 3500 3250 3500
## [796] 3250 3500 3250 3250 3250 3250 3250 3250 3250 3250 3250 3250 4250 3500 3250
## [811] 3500 3500 3850 3500 3500 3500 3500 3500 3500 3250 3500 3250 3250 3250 3250
## [826] 4250 3250 600 3250 3250 3500 3500 3500 3500 3500 3250 600 3250 4250 3250
## [841] 550 600 550 3250 3500 3250 3250 600 550 550 600 600 3250 550 4250
## [856] 550 3250 3250 550 600 550 3250 3500 3250 3250 3250 600 600 3250 3850
## [871] 3250 3250 3850 3850 600 600 3250 550 4250 550 3250 3250 550 600 600
## [886] 3250 3500 3250 3250 3250 600 600 600 550 550 550 3250 3500 3250 3250
## [901] 600 600 600 3250 3500 3250 3500 3250 600 600 600 3250 3250 3250 600
## [916] 600 600 600 550 3500 3250 550 550 550 3250 3500 3250 3250 600 600
## [931] 600 500 600 3250 3500 3250 3500 3250 3500 3250 3850 600 600 600 600
length(boxplot.stats(c_anual)$out)
## [1] 945
outliers <- boxplot.stats(c_anual)$out
range(outliers)
## [1] 500 6050
## Conclusión Costo Anual
El comportamiento del costo anual de combustible fluctúa entre 0 y 6050.01, con una mediana de 1950 y desviación estándar de 533.64. Es una distribución moderadamente dispersa, con sesgo negativo y presencia de valores atípicos entre 500 y 6050.
mpg_c <- as.numeric(as.character(datos$Unadjusted.City.MPG..FT1.))
## Warning: NAs introducidos por coerción
mpg_c <- na.omit(mpg_c)
mpg_c <- mpg_c[mpg_c > 0]
R <- max(mpg_c) - min(mpg_c)
k <- floor(1 + (3.3 * log10(length(mpg_c))))
A <- R / k
liminf <- seq(from = min(mpg_c), by = A, length.out = k)
limsup <- liminf + A
limsup[k] <- max(mpg_c) + 0.01
breaks <- c(liminf, max(limsup) + 0.01)
MC <- (liminf + limsup) / 2
ni <- c()
for (i in 1:k) {
if (i == k) {
ni[i] <- length(subset(mpg_c, mpg_c >= liminf[i] & mpg_c <= limsup[i]))
} else {
ni[i] <- length(subset(mpg_c, mpg_c >= liminf[i] & mpg_c < limsup[i]))
}
}
hi <- (ni / length(mpg_c)) * 100
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))
TDFcu_mpg_c <- data.frame(
liminf = round(liminf, 2),
limsup = round(limsup, 2),
MC = round(MC, 2),
ni = ni,
hi_perc = round(hi, 2),
Niasc = Niasc,
Nidsc = Nidsc,
Hiasc_perc = round(Hiasc, 2),
Hidsc_perc = round(Hidsc, 2)
)
print(TDFcu_mpg_c)
## liminf limsup MC ni hi_perc Niasc Nidsc Hiasc_perc Hidsc_perc
## 1 7.00 61.99 34.50 24084 67.50 24084 35679 67.50 100.00
## 2 61.99 116.98 89.49 135 0.38 24219 11595 67.88 32.50
## 3 116.98 171.97 144.48 2228 6.24 26447 11460 74.12 32.12
## 4 171.97 226.96 199.47 4308 12.07 30755 9232 86.20 25.88
## 5 226.96 281.95 254.46 3134 8.78 33889 4924 94.98 13.80
## 6 281.95 336.94 309.45 1012 2.84 34901 1790 97.82 5.02
## 7 336.94 391.93 364.44 518 1.45 35419 778 99.27 2.18
## 8 391.93 446.92 419.43 109 0.31 35528 260 99.58 0.73
## 9 446.92 501.91 474.42 43 0.12 35571 151 99.70 0.42
## 10 501.91 556.90 529.41 32 0.09 35603 108 99.79 0.30
## 11 556.90 611.89 584.40 40 0.11 35643 76 99.90 0.21
## 12 611.89 666.88 639.39 3 0.01 35646 36 99.91 0.10
## 13 666.88 721.87 694.38 22 0.06 35668 33 99.97 0.09
## 14 721.87 776.86 749.37 4 0.01 35672 11 99.98 0.03
## 15 776.86 831.85 804.36 1 0.00 35673 7 99.98 0.02
## 16 831.85 886.85 859.35 6 0.02 35679 6 100.00 0.02
hist(mpg_c,
breaks = breaks,
freq = TRUE,
main = "GRÁFICA NO.7 DISTRIBUCIÓN DE MPG EN CIUDAD",
xlab = "MPG EN CIUDAD",
ylab = "CANTIDAD",
col = "steelblue",
border = "black",
xlim = c(liminf[1], limsup[k]))
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'
boxplot(mpg_c, horizontal = TRUE, col = "darkorange",
main = "GRÁFICA NO.8 DISTRIBUCIÓN DE MPG EN CIUDAD",
xlab = "MPG EN CIUDAD")
x_asc <- c(min(TDFcu_mpg_c$liminf), TDFcu_mpg_c$limsup)
y_asc <- c(0, TDFcu_mpg_c$Niasc)
x_desc <- c(TDFcu_mpg_c$liminf, max(TDFcu_mpg_c$limsup))
y_desc <- c(TDFcu_mpg_c$Nidsc, 0)
plot(x_asc, y_asc, type = "o",
main = "GRÁFICA NO.9 OJIVA MPG EN CIUDAD",
xlab = "MPG EN CIUDAD", ylab = "CANTIDAD",
col = "darkgreen",
xlim = c(liminf[1], limsup[k]),
ylim = c(0, max(c(y_asc, y_desc))))
lines(x_desc, y_desc, col = "darkblue", type = "o")
mean_mpg_c <- mean(mpg_c)
median_mpg_c <- median(mpg_c)
sd_mpg_c <- sd(mpg_c)
indicadores_mpg_c <- data.frame(
Indicador = c("Moda", "Mediana", "Media(x)", "Desviacion Estandar", "Varianza", "Coef Variacion (%)", "Asimetria", "Curtosis"),
Valor = c(
round(get_mode(mpg_c), 2),
round(median_mpg_c, 2),
round(mean_mpg_c, 2),
round(sd_mpg_c, 2),
round(var(mpg_c), 2),
round((sd_mpg_c / mean_mpg_c) * 100, 2),
round(skewness(mpg_c), 2),
round(kurtosis(mpg_c), 2)
)
)
print(indicadores_mpg_c)
## Indicador Valor
## 1 Moda 20.00
## 2 Mediana 25.00
## 3 Media(x) 88.56
## 4 Desviacion Estandar 104.43
## 5 Varianza 10905.14
## 6 Coef Variacion (%) 117.92
## 7 Asimetria 1.43
## 8 Curtosis 2.00
boxplot.stats(mpg_c)$out
## [1] 522.222 422.222 544.444 522.222 522.222 444.444 611.111 444.444 486.176
## [10] 486.176 486.176 486.212 556.406 488.605 488.605 591.796 557.061 508.241
## [19] 592.769 591.577 507.739 507.068 507.739 591.568 488.889 507.739 507.739
## [28] 506.704 591.796 591.553 433.333 433.333 489.244 432.225 748.889 687.755
## [37] 432.225 428.354 428.354 432.429 502.985 886.842 717.021 468.056 687.755
## [46] 502.985 432.429 464.177 464.177 464.177 886.842 681.881 464.977 464.977
## [55] 464.977 624.074 886.842 673.878 464.592 464.592 464.592 624.074 675.368
## [64] 465.427 465.427 465.427 673.785 464.302 464.302 464.302 418.692 418.692
## [73] 418.691 417.052 417.052 417.052 442.454 442.454 442.454 543.737 546.779
## [82] 442.454 719.537 454.121 463.474 543.153 546.039 579.193 414.485 442.454
## [91] 718.162 859.694 463.474 554.746 579.193 471.821 414.485 451.156 451.156
## [100] 585.479 550.557 717.588 717.716 522.498 604.817 604.817 605.262 554.695
## [109] 716.404 414.485 604.817 428.341 451.156 451.156 550.636 716.404 717.931
## [118] 522.461 415.772 603.697 702.278 648.901 611.467 554.695 414.485 603.697
## [127] 494.465 444.503 427.422 550.738 718.675 598.417 603.507 702.278 611.467
## [136] 448.998 720.295 560.848 462.546 441.145 414.485 604.066 494.465 444.503
## [145] 560.848 585.479 550.694 720.295 718.226 598.528 415.766 605.605 448.998
## [154] 529.735 579.193 560.848 462.473 424.747 415.243 605.605 415.018 434.626
## [163] 560.848 585.479 550.793 760.467 835.598 599.822 458.712 415.782 472.789
## [172] 609.596 710.017 414.712 424.556 448.998 724.052 539.804 579.193 560.848
## [181] 441.067 415.936 609.596 502.386 446.614 467.653 437.032 416.382 560.848
## [190] 585.479 549.911 755.931 689.757 835.598 788.197 599.394 458.658 430.555
length(boxplot.stats(mpg_c)$out)
## [1] 198
outliers <- boxplot.stats(mpg_c)$out
range(outliers)
## [1] 414.485 886.842
## Conclusión MPG Ciudad
El comportamiento de la variable MPG en ciudad fluctúa entre 0 y 886.13, con mediana de 24 y desviación estándar de 103.54. Presenta alta dispersión, sesgo positivo, y valores atípicos a partir de 391.83.