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

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)
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha

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()

mis_datos <- read_xlsx("Trucks.xlsx")

head(mis_datos)
## # A tibble: 6 × 15
##   Make  Model         Type  Origin DriveTrain  MSRP Invoice EngineSize Cylinders
##   <chr> <chr>         <chr> <chr>  <chr>      <dbl>   <dbl>      <dbl>     <dbl>
## 1 Acura MDX           SUV   Asia   All        36945   33337        3.5         6
## 2 Acura RSX Type S 2… Sedan Asia   Front      23820   21761        2           4
## 3 Acura TSX 4dr       Sedan Asia   Front      26990   24647        2.4         4
## 4 Acura TL 4dr        Sedan Asia   Front      33195   30299        3.2         6
## 5 Acura 3.5 RL 4dr    Sedan Asia   Front      43755   39014        3.5         6
## 6 Acura 3.5 RL w/Nav… Sedan Asia   Front      46100   41100        3.5         6
## # ℹ 6 more variables: Horsepower <dbl>, MPG_City <dbl>, MPG_Highway <dbl>,
## #   Weight <dbl>, Wheelbase <dbl>, Length <dbl>

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

Revisa si en la variable mis_datos existen missing values, de ser así reemplazalos por la media.

mis_datos[] <- lapply(mis_datos, function(x) {
  if(is.numeric(x)) {
    x[is.na(x)] <- mean(x, na.rm = TRUE)
  }
  return(x)
})

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?

table(mis_datos$Make)
## 
##         Acura          Audi           BMW         Buick      Cadillac 
##             7            19            20             9             8 
##     Chevrolet      Chrysler         Dodge          Ford           GMC 
##            27            15            13            23             8 
##         Honda        Hummer       Hyundai      Infiniti         Isuzu 
##            17             1            12             8             2 
##        Jaguar          Jeep           Kia    Land Rover         Lexus 
##            12             3            11             3            11 
##       Lincoln         Mazda Mercedes-Benz       Mercury          MINI 
##             9            11            26             9             2 
##    Mitsubishi        Nissan    Oldsmobile       Pontiac       Porsche 
##            13            17             3            11             7 
##          Saab        Saturn         Scion        Subaru        Suzuki 
##             7             8             2            11             8 
##        Toyota    Volkswagen         Volvo 
##            28            15            12
mis_datos %>%
  group_by(Make) %>%
  summarise(Cantidad = n()) %>%
  arrange(desc(Cantidad)) #mas
## # A tibble: 38 × 2
##    Make          Cantidad
##    <chr>            <int>
##  1 Toyota              28
##  2 Chevrolet           27
##  3 Mercedes-Benz       26
##  4 Ford                23
##  5 BMW                 20
##  6 Audi                19
##  7 Honda               17
##  8 Nissan              17
##  9 Chrysler            15
## 10 Volkswagen          15
## # ℹ 28 more rows
 mis_datos %>%
  group_by(Make) %>%
  summarise(Cantidad = n()) %>%
  arrange(Cantidad) %>%
   slice(1)
## # A tibble: 1 × 2
##   Make   Cantidad
##   <chr>     <int>
## 1 Hummer        1

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

mis_datos %>%
  group_by(Origin) %>%
  summarise(Cantidad = n()) %>%
  arrange(desc(Cantidad))
## # A tibble: 3 × 2
##   Origin Cantidad
##   <chr>     <int>
## 1 Asia        158
## 2 USA         147
## 3 Europe      123

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

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)
  )
## # A tibble: 1 × 4
##   Precio_mas_caro Precio_mas_barato MPG_Ciudad_promedio Horsepower_promedio
##             <dbl>             <dbl>               <dbl>               <dbl>
## 1          192465             10280                20.1                216.

Pregunta 5

Selecciona solo las variables Make, Model, Type, Origin, Cylinders, MSRP, 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 <- subset(mis_datos, DriveTrain == "Front", 
                       select = c("Make", "Model", "Type", "Origin", "Cylinders", "MSRP", "Wheelbase", "Length"))

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
mis_nuevos_datos <- merge(datos_nuevos, mis_datos[, c("Make", "Model", "Weight")], by = c("Make", "Model"), all.x = TRUE)
mis_nuevos_datos$Weight_kl <- mis_nuevos_datos$Weight * 0.453592
mis_nuevos_datos$Wheelbase_cm <- mis_nuevos_datos$Wheelbase * 2.54
mis_nuevos_datos$Length_cm <- mis_nuevos_datos$Length * 2.54

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 o igual a 67,000 el valor de la variable opinion debe ser “Expensive” Y si el precio es menor a 67,000 la variable opinion debe sugerir “Cheap”. Almacena la información en la variable mis_nuevos_datos

mis_nuevos_datos$opinion <- ifelse(mis_nuevos_datos$MSRP >= 67000, "Expensive", "Cheap")