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
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
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))
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
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
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
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
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
¿En qué etapa o etapas de los ciclos de la ciencia de datos aplicamos todo esto? (Contesta aquí abajo)