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 cars.csv No olvides cargar la libreria ´dplyr´antes de iniciar con tu programa

Pregunta 1

Almacena la información del archivo cars.csv en una variable llamada mis_datos y revisa su estructura con la función str()

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("cars.xlsx")
str(mis_datos)
## 'data.frame':    428 obs. of  15 variables:
##  $ Make       : chr  "Acura" "Acura" "Acura" "Acura" ...
##  $ Model      : chr  "MDX" "RSX Type S 2dr" "TSX 4dr" "TL 4dr" ...
##  $ Type       : chr  "SUV" "Sedan" "Sedan" "Sedan" ...
##  $ Origin     : chr  "Asia" "Asia" "Asia" "Asia" ...
##  $ DriveTrain : chr  "Front and Rear" "Front" "Front" "Front" ...
##  $ MSRP       : num  36945 23820 26990 33195 43755 ...
##  $ Invoice    : num  33337 21761 24647 30299 39014 ...
##  $ EngineSize : num  3.5 2 2.4 3.2 3.5 3.5 3.2 1.8 1.8 3 ...
##  $ Cylinders  : num  6 4 4 6 6 6 6 4 4 6 ...
##  $ Horsepower : num  265 200 200 270 225 225 290 170 170 220 ...
##  $ MPG_City   : num  17 24 22 20 18 18 17 22 23 20 ...
##  $ MPG_Highway: num  23 31 29 28 24 24 24 31 30 28 ...
##  $ Weight     : num  4451 2778 3230 NA 3880 ...
##  $ Wheelbase  : num  106 101 105 108 115 115 100 104 105 104 ...
##  $ Length     : num  189 172 183 186 197 197 174 179 180 179 ...

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.

summary(mis_datos)
##      Make              Model               Type              Origin         
##  Length:428         Length:428         Length:428         Length:428        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##   DriveTrain             MSRP           Invoice         EngineSize   
##  Length:428         Min.   : 10280   Min.   :  9875   Min.   :1.300  
##  Class :character   1st Qu.: 20334   1st Qu.: 18866   1st Qu.:2.300  
##  Mode  :character   Median : 27635   Median : 25294   Median :3.000  
##                     Mean   : 32775   Mean   : 30015   Mean   :3.195  
##                     3rd Qu.: 39205   3rd Qu.: 35710   3rd Qu.:3.900  
##                     Max.   :192465   Max.   :173560   Max.   :8.300  
##                                                       NA's   :3      
##    Cylinders        Horsepower       MPG_City      MPG_Highway   
##  Min.   : 3.000   Min.   : 73.0   Min.   :10.00   Min.   :12.00  
##  1st Qu.: 4.000   1st Qu.:165.0   1st Qu.:17.00   1st Qu.:24.00  
##  Median : 6.000   Median :210.0   Median :19.00   Median :26.00  
##  Mean   : 5.812   Mean   :215.8   Mean   :20.07   Mean   :26.84  
##  3rd Qu.: 6.000   3rd Qu.:253.8   3rd Qu.:21.75   3rd Qu.:29.00  
##  Max.   :12.000   Max.   :500.0   Max.   :60.00   Max.   :66.00  
##  NA's   :3        NA's   :6       NA's   :2       NA's   :2      
##      Weight       Wheelbase         Length     
##  Min.   :1850   Min.   : 89.0   Min.   :143.0  
##  1st Qu.:3102   1st Qu.:103.0   1st Qu.:178.0  
##  Median :3476   Median :107.0   Median :187.0  
##  Mean   :3579   Mean   :108.2   Mean   :186.4  
##  3rd Qu.:3979   3rd Qu.:112.0   3rd Qu.:194.0  
##  Max.   :7190   Max.   :144.0   Max.   :238.0  
##  NA's   :6      NA's   :2       NA's   :1

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?

sort(table(mis_datos$Make), decreasing =TRUE)
## 
##        Toyota     Chevrolet Mercedes-Benz          Ford           BMW 
##            28            27            26            23            20 
##          Audi         Honda        Nissan      Chrysler    Volkswagen 
##            19            17            17            15            15 
##         Dodge    Mitsubishi       Hyundai        Jaguar         Volvo 
##            13            13            12            12            12 
##           Kia         Lexus         Mazda       Pontiac        Subaru 
##            11            11            11            11            11 
##         Buick       Lincoln       Mercury      Cadillac           GMC 
##             9             9             9             8             8 
##      Infiniti        Saturn        Suzuki         Acura       Porsche 
##             8             8             8             7             7 
##          Saab          Jeep    Land Rover    Oldsmobile         Isuzu 
##             7             3             3             3             2 
##          MINI         Scion        Hummer 
##             2             2             1

¿Cuántos autos se producen por región con transmisión delantera, cuántos con transmisión trasera y cuántos con doble transmisión (All)?

transmision_region <- mis_datos[c("Origin", "DriveTrain")]
table(transmision_region)
##         DriveTrain
## Origin   Front Front and Rear Rear
##   Asia      99             34   25
##   Europe    37             36   50
##   USA       90             22   35

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 las millas por galón promedio para carretera, utiliza el comando “table” y “summarise” para mostrar la información

info_p4 <- mis_datos[c("MSRP", "MPG_City", "MPG_Highway")]
summary(info_p4)
##       MSRP           MPG_City      MPG_Highway   
##  Min.   : 10280   Min.   :10.00   Min.   :12.00  
##  1st Qu.: 20334   1st Qu.:17.00   1st Qu.:24.00  
##  Median : 27635   Median :19.00   Median :26.00  
##  Mean   : 32775   Mean   :20.07   Mean   :26.84  
##  3rd Qu.: 39205   3rd Qu.:21.75   3rd Qu.:29.00  
##  Max.   :192465   Max.   :60.00   Max.   :66.00  
##                   NA's   :2       NA's   :2

Pregunta 5

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

Imprime las primeras observaciones de la variable mis_nuevos_datos

transmision_delantera <- filter(mis_datos, DriveTrain == "Front")
mis_nuevos_datos <- transmision_delantera[c("Make", "Model", "Type", "Origin", "DriveTrain", "MSRP", "Weight", "Wheelbase", "Length")]
head(mis_nuevos_datos, 7)
##    Make                   Model  Type Origin DriveTrain  MSRP Weight Wheelbase
## 1 Acura          RSX Type S 2dr Sedan   Asia      Front 23820   2778       101
## 2 Acura                 TSX 4dr Sedan   Asia      Front 26990   3230       105
## 3 Acura                  TL 4dr Sedan   Asia      Front 33195     NA       108
## 4 Acura              3.5 RL 4dr Sedan   Asia      Front 43755   3880       115
## 5 Acura 3.5 RL w/Navigation 4dr Sedan   Asia      Front 46100   3893       115
## 6  Audi             A4 1.8T 4dr Sedan Europe      Front 25940   3252       104
## 7  Audi  A41.8T convertible 2dr Sedan Europe      Front 35940   3638       105
##   Length
## 1    172
## 2    183
## 3    186
## 4    197
## 5    197
## 6    179
## 7    180

Pregunta 6

Con la información de la variable mis_nuevos_datos, necesitamos crear 3 nuevas variables, la primera llamada Weight_kilo 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

Weight_kilo <- mis_nuevos_datos$Weight/2.2046
Wheelbase_cm <- mis_nuevos_datos$Wheelbase*2.54
Length_cm <- mis_nuevos_datos$Length*2.54

mis_nuevos_datos$Weight_kilo <- Weight_kilo
mis_nuevos_datos$Wheelbase_cm <- Wheelbase_cm
mis_nuevos_datos$Length_cm <- Length_cm

head(mis_nuevos_datos)
##    Make                   Model  Type Origin DriveTrain  MSRP Weight Wheelbase
## 1 Acura          RSX Type S 2dr Sedan   Asia      Front 23820   2778       101
## 2 Acura                 TSX 4dr Sedan   Asia      Front 26990   3230       105
## 3 Acura                  TL 4dr Sedan   Asia      Front 33195     NA       108
## 4 Acura              3.5 RL 4dr Sedan   Asia      Front 43755   3880       115
## 5 Acura 3.5 RL w/Navigation 4dr Sedan   Asia      Front 46100   3893       115
## 6  Audi             A4 1.8T 4dr Sedan Europe      Front 25940   3252       104
##   Length Weight_kilo Wheelbase_cm Length_cm
## 1    172    1260.093       256.54    436.88
## 2    183    1465.118       266.70    464.82
## 3    186          NA       274.32    472.44
## 4    197    1759.956       292.10    500.38
## 5    197    1765.853       292.10    500.38
## 6    179    1475.098       264.16    454.66
tail(mis_nuevos_datos)
##      Make                   Model  Type Origin DriveTrain  MSRP Weight
## 221 Volvo              S60 T5 4dr Sedan Europe      Front 34845   3766
## 222 Volvo             S80 2.9 4dr Sedan Europe      Front 37730   3576
## 223 Volvo C70 LPT convertible 2dr Sedan Europe      Front 40565   3450
## 224 Volvo C70 HPT convertible 2dr Sedan Europe      Front 42565   3450
## 225 Volvo              S80 T6 4dr Sedan Europe      Front 45210   3653
## 226 Volvo                     V40 Wagon Europe      Front 26135   2822
##     Wheelbase Length Weight_kilo Wheelbase_cm Length_cm
## 221       107    180    1708.246       271.78    457.20
## 222       110    190    1622.063       279.40    482.60
## 223       105    186    1564.910       266.70    472.44
## 224       105    186    1564.910       266.70    472.44
## 225       110    190    1656.990       279.40    482.60
## 226       101    180    1280.051       256.54    457.20

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 55,000 el valor de la variable opinion debe ser “Expensive”, si el precio está entre 55,000 y 29,000, la variable opinion debe decir “Normal”. Y si el precio es menor a 29,000 la variable opinion debe sugerir “Unexpensive”. Almacena la información en la variable mis_nuevos_datos

Opinion <- ifelse(mis_nuevos_datos$MSRP > 55000, "Expensive", ifelse((55000 >= mis_nuevos_datos$MSRP & mis_nuevos_datos$MSRP >= 29000), "Normal", "Unexpensive"))

mis_nuevos_datos$Opinion <- Opinion

head(mis_nuevos_datos[c("MSRP", "Opinion")], 20)
##     MSRP     Opinion
## 1  23820 Unexpensive
## 2  26990 Unexpensive
## 3  33195      Normal
## 4  43755      Normal
## 5  46100      Normal
## 6  25940 Unexpensive
## 7  35940      Normal
## 8  31840      Normal
## 9  36640      Normal
## 10 42490      Normal
## 11 84600   Expensive
## 12 35940      Normal
## 13 26545 Unexpensive
## 14 22180 Unexpensive
## 15 26470 Unexpensive
## 16 24895 Unexpensive
## 17 28345 Unexpensive
## 18 32245      Normal
## 19 35545      Normal
## 20 40720      Normal