La siguiente tarea busca reforzar tu aprendiza de los temas cubiertos en clase, así como poner en práctica tus habilidades en el manejo de datos masivos.

Resuelve cada uno de los puntos para la base de datos trucks.xlsx No olvides cargar la libreria ´dplyr´antes de iniciar con tu programa

Pregunta 1

Almacena la información del archivo trucks.xlsx en una variable llamada mis_datos y revisa su estructura con la función head()

library(readxl)
library(MASS)
library(stats)
library(psych)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(openxlsx)
mis_datos=read.xlsx("trucks.xlsx")
head(mis_datos)
##    Make                   Model  Type Origin DriveTrain  MSRP Invoice
## 1 Acura                     MDX   SUV   Asia        All 36945   33337
## 2 Acura          RSX Type S 2dr Sedan   Asia      Front 23820   21761
## 3 Acura                 TSX 4dr Sedan   Asia      Front 26990   24647
## 4 Acura                  TL 4dr Sedan   Asia      Front 33195   30299
## 5 Acura              3.5 RL 4dr Sedan   Asia      Front 43755   39014
## 6 Acura 3.5 RL w/Navigation 4dr Sedan   Asia      Front 46100   41100
##   EngineSize Cylinders Horsepower MPG_City MPG_Highway Weight Wheelbase Length
## 1        3.5         6        265       17          23   4451       106    189
## 2        2.0         4        200       24          31   2778       101    172
## 3        2.4         4        200       22          29   3230       105    183
## 4        3.2         6        270       20          28   4000       108    186
## 5        3.5         6        225       18          24   3880       115    197
## 6        3.5         6        225       18          24   3893       115    197

Como puedes ver, la base de datos cuenta con 428 observaciones y 15 variables. Las variables incluidas son: - Make = La marca del fabricante del automóvil - Model = El modelo del automóvil - Type = El tipo de automóvil - Origin = En dónde fue fabricado - DriveTrain = Indica el tipo de transmición - MSRP = Es el precio de venta en dólares sugerido por el fabricate - Invoice = Es el valor de la factura del automóvil - EngineSize = Es el tamaño del motor - Cylinders = Indica con cuántos cilindros cuenta - Horsepower = La potencia del automóvil en caballos de fuerza - MPG_City = Millas por galón de combustible en la ciudad - MPG_Highway = Millas por galón de combustible en carretera - Weight = Peso del automóvil en libras - Wheelbase = La distancia que hay entre el eje delantero y el eje trasero en pulgadas - Length = La longitud del automóvil en pulgadas

Pregunta 2

Crea una gráfica de barras de la variable Make.

library(readxl)
library(MASS) 
library(stats)
library(psych)
library(dplyr)
library(openxlsx)
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
mis_datos$Make = factor(mis_datos$Make)
barplot(table(mis_datos$Make))

Pregunta 3

Utilizando algoritmos con la variable mis_datos, responde las siguientes preguntas:

¿Qué marca produce más vehículos y qué marca produce menos?

conteo_Make <- mis_datos %>%
  count(Make) %>%
  arrange(desc(n))
marca_mas_vehiculos <- conteo_Make[1, ]
marca_menos_vehiculos = conteo_Make[nrow(conteo_Make),]
print(paste("La marca que produce más vehículos es:", marca_mas_vehiculos$Make, "con", marca_mas_vehiculos$n, "vehículos."))
## [1] "La marca que produce más vehículos es: Toyota con 28 vehículos."
print(paste("La marca que produce menos vehículos es:", marca_menos_vehiculos$Make, "con", marca_menos_vehiculos$n, "vehículos."))
## [1] "La marca que produce menos vehículos es: Hummer con 1 vehículos."

¿Cuántos autos se producen por región de origen?

conteo_origen = table(mis_datos$Origin)
print(conteo_origen)
## 
##   Asia Europe    USA 
##    158    123    147

Pregunta 4

Encuentra cuál es el precio sugerido más caro, cuál es el precio sugerido más barato, las millas por galón promedio para ciudad y el Horsepower promedio, utiliza el comando “table” y/o “summarise” para mostrar la información

summaryP = mis_datos %>%
  summarise(
    Precio_Mas_Caro = max(MSRP, na.rm =TRUE),
    Precio_Mas_Barato = min(MSRP, na.rm = TRUE),
    MPG_Ciudad_Promedio = mean(MPG_City, na.rm =TRUE),
    Horsepower_Promedio = mean(Horsepower, na.rm =TRUE)
  )
print (summaryP)
##   Precio_Mas_Caro Precio_Mas_Barato MPG_Ciudad_Promedio Horsepower_Promedio
## 1          192465             10280            20.06308            215.9019

Pregunta 5

Selecciona solo las variables Make, Model, Type, Origin, Cylinders, MSRP, Weight, Wheelbase y Lenght. Conserva solo las observaciones cuyo DriveTrain sea Front y almacena esta información en una variable llamada datos_nuevos.

Imprime las primeras observaciones de la variable datos_nuevos

datos_nuevos <- mis_datos %>%
  select(Make, Model, Type, Origin, Cylinders, MSRP, Weight, Wheelbase, Length, DriveTrain) %>%
  filter(DriveTrain == "Front")
head(datos_nuevos)
##    Make                   Model  Type Origin Cylinders  MSRP Weight Wheelbase
## 1 Acura          RSX Type S 2dr Sedan   Asia         4 23820   2778       101
## 2 Acura                 TSX 4dr Sedan   Asia         4 26990   3230       105
## 3 Acura                  TL 4dr Sedan   Asia         6 33195   4000       108
## 4 Acura              3.5 RL 4dr Sedan   Asia         6 43755   3880       115
## 5 Acura 3.5 RL w/Navigation 4dr Sedan   Asia         6 46100   3893       115
## 6  Audi             A4 1.8T 4dr Sedan Europe         4 25940   3252       104
##   Length DriveTrain
## 1    172      Front
## 2    183      Front
## 3    186      Front
## 4    197      Front
## 5    197      Front
## 6    179      Front

Pregunta 6

Con la información de la variable datos_nuevos, necesitamos crear 3 nuevas variables, la primera llamada Weight_kl que indique cuál es el peso del automóvil en kilos, la segunda llamada Wheelbase_cm que muestre el valor de la variable Wheelbase en centímetros, y una última variable llamada Length_cm que indique la longitud del vehículo en centímetros. Almacena toda esta información dentro de la variable mis_nuevos_datos

mis_nuevos_datos <- datos_nuevos %>%
  mutate(
    Weight_kl = Weight * 0.453592,  # Convertir libras a kilogramos
    Wheelbase_cm = Wheelbase * 2.54,  # Convertir pulgadas a centímetros
    Length_cm = Length * 2.54  # Convertir pulgadas a centímetros
  )
head(mis_nuevos_datos)
##    Make                   Model  Type Origin Cylinders  MSRP Weight Wheelbase
## 1 Acura          RSX Type S 2dr Sedan   Asia         4 23820   2778       101
## 2 Acura                 TSX 4dr Sedan   Asia         4 26990   3230       105
## 3 Acura                  TL 4dr Sedan   Asia         6 33195   4000       108
## 4 Acura              3.5 RL 4dr Sedan   Asia         6 43755   3880       115
## 5 Acura 3.5 RL w/Navigation 4dr Sedan   Asia         6 46100   3893       115
## 6  Audi             A4 1.8T 4dr Sedan Europe         4 25940   3252       104
##   Length DriveTrain Weight_kl Wheelbase_cm Length_cm
## 1    172      Front  1260.079       256.54    436.88
## 2    183      Front  1465.102       266.70    464.82
## 3    186      Front  1814.368       274.32    472.44
## 4    197      Front  1759.937       292.10    500.38
## 5    197      Front  1765.834       292.10    500.38
## 6    179      Front  1475.081       264.16    454.66

Pregunta 7

Con la información de la variable mis_nuevos_datos, crea una nueva variable llamada opinion que esté en función del precio sugerido para la venta. Si el precio es mayor a 62,000 el valor de la variable opinion debe ser “Expensive”, si el precio está entre 62,000 y 26,000, la variable opinion debe decir “Normal”. Y si el precio es menor a 26,000 la variable opinion debe sugerir “Cheap”. Almacena la información en la variable mis_nuevos_datos

mis_nuevos_datos <- mis_nuevos_datos %>%
  mutate(
    opinion = case_when(
      MSRP > 62000 ~ "Expensive",
      MSRP >= 26000 & MSRP <= 62000 ~ "Normal",
      MSRP < 26000 ~ "Cheap"
    )
  )

head(mis_nuevos_datos)
##    Make                   Model  Type Origin Cylinders  MSRP Weight Wheelbase
## 1 Acura          RSX Type S 2dr Sedan   Asia         4 23820   2778       101
## 2 Acura                 TSX 4dr Sedan   Asia         4 26990   3230       105
## 3 Acura                  TL 4dr Sedan   Asia         6 33195   4000       108
## 4 Acura              3.5 RL 4dr Sedan   Asia         6 43755   3880       115
## 5 Acura 3.5 RL w/Navigation 4dr Sedan   Asia         6 46100   3893       115
## 6  Audi             A4 1.8T 4dr Sedan Europe         4 25940   3252       104
##   Length DriveTrain Weight_kl Wheelbase_cm Length_cm opinion
## 1    172      Front  1260.079       256.54    436.88   Cheap
## 2    183      Front  1465.102       266.70    464.82  Normal
## 3    186      Front  1814.368       274.32    472.44  Normal
## 4    197      Front  1759.937       292.10    500.38  Normal
## 5    197      Front  1765.834       292.10    500.38  Normal
## 6    179      Front  1475.081       264.16    454.66   Cheap

Pregunta 8

¿En qué etapa o etapas de los ciclos de la ciencia de datos aplicamos todo esto? (Contesta aquí abajo)