set.seed(1231)Analitica de datos y programación basica en R Studio
Respuestas Parcial 01
Preparación de la maquina
Parte I - Limpieza de los datos
mtcars$id <- row.names(mtcars)kable(head(mtcars))| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 | Mazda RX4 |
| Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 | Mazda RX4 Wag |
| Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 | Datsun 710 |
| Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 | Hornet 4 Drive |
| Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 | Hornet Sportabout |
| Valiant | 18.1 | 6 | 225 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 | Valiant |
Pregunta 1.
Tu amigo está interesado en encontrar el vehículo con el menos consumo de gasolina expresado en kilómetros por litro. ¿Cómo podrías identificar este auto en tu conjunto de datos?
mtcars <- mtcars %>%
mutate(kml = mpg * 0.425)
auto_eficiente <- mtcars %>%
arrange(desc(kml)) %>%
slice(1)
kable(head (auto_eficiente))| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | id | kml | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Toyota Corolla | 33.9 | 4 | 71.1 | 65 | 4.22 | 1.835 | 19.9 | 1 | 1 | 4 | 1 | Toyota Corolla | 14.4075 |
Interpretación
El Toyota Corolla es el menos eficiente,ya que según su conjunto de datos, necesita más gasolina para recorrer la misma distancia en comparación de los demás.
Pregunta 2.
Para aprovechar una oferta especial, tu amigo quiere saber el peso del vehiculo más ligero en la base de datos.¿Qué pasos seguirías para obtener esta información?
mtcars <- mtcars %>%
mutate(transmision = ifelse(am == 0, "Automática", "Manual"))
consumo_transmision <- mtcars %>%
group_by(transmision) %>%
summarise(
Promedio_MPG = round(mean(mpg), 2),
Promedio_KML = round(mean(kml), 2))
kable(head(consumo_transmision)) | transmision | Promedio_MPG | Promedio_KML |
|---|---|---|
| Automática | 17.15 | 7.29 |
| Manual | 24.39 | 10.37 |
Interpretación
Se halla inicialmente haciendo uso de la función pipe, para luego llamar a mutate para lograr calcular una comparación entre dos nuevas variables de la transmisión automatica y manual; luego se indica el consumo por transmisión y se genera el promedio.
Luego, observamos que los vehículos con transmisión manual presentan un consumo promedio de gasolina más eficiente comparado con los vehículos automáticos.ya que los autos manuales tienen un consumo promedio de aproximadamente 24.39 millas por galón (mpg), equivalente a 10.35 kilómetros por litro (km/l) y los autos automáticos consumen en promedio 17.15 mpg, es decir, alrededor de 7.29 km/l. Esto nos indicaria que si se quiere ahorrar en combustible, los autos con transmisión manual serían una mejor opción.
Pregunta 3.
Tu amigo prefiere un auto con 7 cilindros o menos. Modifica el conjunto de datos para que sólo incluya estos vehículos. ¿Cómo realizarías este filtrado y muestre los vehículos que cuenta con esta peticiónn?
mtcars3 <- filter(mtcars, cyl <= 7)
kable(head(mtcars3))| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | id | kml | transmision | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 | Mazda RX4 | 8.9250 | Manual |
| Mazda RX4 Wag | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 | Mazda RX4 Wag | 8.9250 | Manual |
| Datsun 710 | 22.8 | 4 | 108.0 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 | Datsun 710 | 9.6900 | Manual |
| Hornet 4 Drive | 21.4 | 6 | 258.0 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 | Hornet 4 Drive | 9.0950 | Automática |
| Valiant | 18.1 | 6 | 225.0 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 | Valiant | 7.6925 | Automática |
| Merc 240D | 24.4 | 4 | 146.7 | 62 | 3.69 | 3.190 | 20.00 | 1 | 0 | 4 | 2 | Merc 240D | 10.3700 | Automática |
Interpretación
Realizamos un filtro para que los nos muestre la df con los vehículos que tienen 7 cilindros o menos, condicionando con <= y listo nos arroja la tabla con esta condición.
De esta manera encontramos que los autos que cumplen con sus requisitos son Mazda RX4, Mazda RXA Wag, Datsun 710, Horten 4, Drive Valiant y Merc240D.
Parte II: Análisis exploratorio de datos
Pregunta 1.
Examina la distribución del consumo de gasolina calculando tanto la mediana como los deciles. ¿Cómo te ayudan estos cálculos a entender la variabilidad y la tendencia central del consumo de gasolina?
mediana_mpg <- median(mtcars$mpg)
mediana_mpg[1] 19.2
deciles_mpg <- quantile(mtcars$mpg, probs = seq(0, 1, 0.1))
deciles_mpg 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
10.40 14.34 15.20 15.98 17.92 19.20 21.00 21.47 24.08 30.09 33.90
ggplot(mtcars, aes(x = "", y = mpg)) +
geom_boxplot(fill = "lightblue") +
geom_hline(yintercept = mediana_mpg, color = "red", linetype = "dashed", size = 1) +
geom_point(data = data.frame(mpg = deciles_mpg), aes(y = mpg), color = "darkgreen", size = 3, shape = 4) +
labs(
title = "Distribución del consumo de gasolina (mpg)",
subtitle = "Línea roja: mediana | Puntos verdes: deciles",
y = "Millas por galón (mpg)",
x = ""
)Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Interpretación
Calculamos dos medidas como la mediana y los deciles para analizar la distribución del consumo de gasolina en la df mtcars.
La mediana representa el valor central del consumo de gasolina, el cual es aproximadamente 19.2 lo que representa el punto medio donde el 50% de los autos consumen menos de 19.2mpg y el otro 50% consume mas de este valor. Este resultado no se ve afectado por valores extremos.
los deciles dividen la distribución en diez partes iguales.
Este rango entre D1 y D9 evidencia una amplia dispersión en los datos, desde autos con bajo rendimiento (consumo alto) hasta autos altamente eficientes.
El análisis conjunto de la mediana y los deciles permiten entender tanto la tendencia central como la variabilidad en el consumo de gasolina. Mientras la mediana indica un consumo típico, los deciles revelan la presencia de vehículos significativamente más o menos eficientes. Esto proporciona una visión más detallada y precisa que permite identificar tanto la norma como los extremos dentro del conjunto de autos analizados.
Pregunta 2.
Tu amigo quiere comparar el consumo de gasolina según el tipo de transmisión del auto (automática o manual). Crea una nueva variable para la transmisión y luego presenta una tabla que muestre el consumo promedio de gasolina según el tipo de transmisión. ¿que muestra lo anterior?
consumo_por_transmision <- mtcars %>%
group_by(transmision) %>%
summarise(consumo_promedio = mean(mpg))
kable(head(consumo_por_transmision))| transmision | consumo_promedio |
|---|---|
| Automática | 17.14737 |
| Manual | 24.39231 |
Interpretación
Al realizar una comparación del consumo promedio de combustible entre uno carro automáticos y uno manual usando el conjunto de datos hallados en este ejercicio podemos, observamos que el carro que consume menos combustible es el automático con un consumo promedio de 17.14737 millas por galón(mpg).
Pregunta 3.
Después de revisar la información sobre consumo, tu amigo decide enfocarse en autos con bajo peso y quiere comparar el consumo de gasolina entre autos automáticos y manuales. Genera una tabla que muestre cómo se relaciona el consumo con el tipo de transmisión.
library(dplyr)
peso_promedio <- mean(mtcars$wt)
autos_livianos <- mtcars %>%
filter(wt < peso_promedio) %>%
mutate(transmision = ifelse(am == 0, "Automática", "Manual"))
print(autos_livianos) mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
id kml transmision
Mazda RX4 Mazda RX4 8.9250 Manual
Mazda RX4 Wag Mazda RX4 Wag 8.9250 Manual
Datsun 710 Datsun 710 9.6900 Manual
Hornet 4 Drive Hornet 4 Drive 9.0950 Automática
Merc 240D Merc 240D 10.3700 Automática
Merc 230 Merc 230 9.6900 Automática
Fiat 128 Fiat 128 13.7700 Manual
Honda Civic Honda Civic 12.9200 Manual
Toyota Corolla Toyota Corolla 14.4075 Manual
Toyota Corona Toyota Corona 9.1375 Automática
Fiat X1-9 Fiat X1-9 11.6025 Manual
Porsche 914-2 Porsche 914-2 11.0500 Manual
Lotus Europa Lotus Europa 12.9200 Manual
Ford Pantera L Ford Pantera L 6.7150 Manual
Ferrari Dino Ferrari Dino 8.3725 Manual
Volvo 142E Volvo 142E 9.0950 Manual
Interpretación
Analizando los datos obtenidos podemos observar que en nuestra tabla hay una mayor cantidad de carros que son manuales y una menor cantidad que son automáticos, por ende dicha comparación no es objetiva, ya que no poseemos una misma cantidad de datos; pero por otro lado podemos ver que dentro del grupo de carros que son livianos podemos encontrar tanto carros automáticos como manuales, por lo cual podemos decir que el peso no influye mucho en el consumo promedio de combustible por galón.
Parte III: Visualización de datos
Visualización 1.
Crea un diagrama de caja (box plot) que compare el consumo en kilómetros por litro para autos con transmisión automática y manual. ¿Qué puedes interpretar de esta visualización?
mtcars$mpg_km_l <- mtcars$mpg * 0.425144
mtcars$transmision <- ifelse(mtcars$am ==1, "Manual", "Automática")
ggplot(mtcars, aes(x = transmision, y=mpg_km_l, fill = transmision)) + geom_boxplot() +
labs(title= "Comparación de Consumo de Combustible (km/l)",
x = "Tipo de Transmisión",
y = "Consumo (km/l)")+
theme_minimal()+
scale_fill_manual(values=c("lightblue", "lightcoral"))Interpretación
Con este diagrama de cajas, podemos interpretarlo por partes, inicialmente desde la linea central capaz de indicar la mediana de los datos, donde encontramos que: - Transmisición Automática: Su media es equivalente a un consumo de 7.5 litros por kilometro; el cual esta levemente cesgado ya que su valor no se encuentra en la mitad de los valores, pues la linea se encuentra levemente más cerca del percentil 75 parte superior que inferior percentil 25. Ademas, se puede destacar que el minimo esta por debajo de 5 litros por kilometro, mientras que si maximo esta por encima de los 10 litros por kilometro. - Transmisión Manual: Su media tiene un valor menor a 10 litros por kilometro n y se encuentra altamente cesgada, puesto que su media esta much mas cerca del percentil 25 que del 75, cuando deberia estar en la mitad. No obstante, el valor minimo es de aprox 6 litros por kilometro consumidos, y su maximo es mayor a 13 litros por kilometro.
En factores generales se puede indicar que es necesario tener mayor cantidad de datos para mitigar el cesgo existente y tener un valor más cercano a la realidad, no obstante, se puede indicar que la transmisión automatica cuenta con un consumo menor de gasolina en comparación con su recorrido, que la trasmisión manual.
Visualización 2.
Genera un gráfico de dispersión que muestre la relación entre el consumo de gasolina en kilómetros por litro y el peso de los vehículos en kg. ¿Qué patrones o tendencias observas en el gráfico?
ggplot(mtcars, aes(x = wt, y = mpg_km_l)) +
geom_point(color = "blue") +
labs(title = "Relación entre Consumo de Gasolina (km/l) y Peso del Vehículo (kg)",
x = "Peso del Vehículo (kg)",
y = "Consumo de Gasolina (km/l)") +
theme_minimal()Interpretación
Las tendencias a destacar en relación con el consumo de gasolina y el peso del vehiculo se identifican tras la mayor densidad en la tabla, que se encuentra entre un consumo por encima de 7.5 km/l y menor al mismo, con un peso medio entre 3 y 4kg (3.5kg); dademas de que el consumo de gasolina se ve inversamente proporcional al peso del vehiculo, es decir, a menor peso mayor es el consumo de gasolina, y a mayor peso existe un vacio entre 4kg y 5kg donde el consumo es el menor de toda la tabla.
Basado en ello, faltarian mayor cantidad de datos para identificar mas patrones en la disperción, pero a grandes rasgos a menor peso, mayor consumo; y la mayor consentración de vehiculos tiene un peso medio (3.5kg aprox), con un gasto promedio entre 8 y 4 km/l.