mtcars <- read.csv("C:/Users/Usuario/Documents/R/Clase en RStudio/Enero 2018/mtcars.csv")
num = variable númerica con decimal int = variable númerica - entero = variable lógica (Booleano)
Con 32 observaciones Si dice factor es el nombre de las etiquetas
mpg = millas por galón –> variable númerica cyl = cilindros hp = caballos de fuerza disp = Mide el volumen del motor y representa el poder que genera el motor wt = peso (1000 lbs) qsec = 1/4 milla de tiempo (Tiempo que se demora el carro en recorrer 1/4 de milla) vs = (0= , 1=) am = Trasmisión (0=automático, 1=manual) gear = número de engranajes de la trasmisión carb = número de carburadores
str(mtcars)
## 'data.frame': 32 obs. of 12 variables:
## $ model: Factor w/ 32 levels "AMC Javelin",..: 18 19 5 13 14 31 7 21 20 22 ...
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : int 6 6 4 6 8 6 8 4 4 6 ...
## $ disp : num 160 160 108 258 360 ...
## $ hp : int 110 110 93 110 175 105 245 62 95 123 ...
## $ drat : num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec : num 16.5 17 18.6 19.4 17 ...
## $ vs : int 0 0 1 1 0 1 0 1 1 1 ...
## $ am : int 1 1 1 0 0 0 0 0 0 0 ...
## $ gear : int 4 4 4 3 3 3 3 4 4 4 ...
## $ carb : int 4 4 1 1 2 1 4 2 2 4 ...
Para conocer el resumen de las variables se corre summary
summary(mtcars)
## model mpg cyl disp
## AMC Javelin : 1 Min. :10.40 Min. :4.000 Min. : 71.1
## Cadillac Fleetwood: 1 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8
## Camaro Z28 : 1 Median :19.20 Median :6.000 Median :196.3
## Chrysler Imperial : 1 Mean :20.09 Mean :6.188 Mean :230.7
## Datsun 710 : 1 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0
## Dodge Challenger : 1 Max. :33.90 Max. :8.000 Max. :472.0
## (Other) :26
## hp drat wt qsec
## Min. : 52.0 Min. :2.760 Min. :1.513 Min. :14.50
## 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89
## Median :123.0 Median :3.695 Median :3.325 Median :17.71
## Mean :146.7 Mean :3.597 Mean :3.217 Mean :17.85
## 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90
## Max. :335.0 Max. :4.930 Max. :5.424 Max. :22.90
##
## vs am gear carb
## Min. :0.0000 Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4375 Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :1.0000 Max. :5.000 Max. :8.000
##
Para saber cuales son las variables se realiza una consulta en R
#?mtcars
Para conocer la clase de una variable
class(mtcars$vs)
## [1] "integer"
Como la variable no es númerica se hace el cambio
mtcars$vs = as.logical(mtcars$vs)
mtcars$am = as.logical(mtcars$am)
class(mtcars$vs)
## [1] "logical"
class(mtcars$am)
## [1] "logical"
Trasformación de una variable Pasar la variable wt de libras a kilos
wt <- (mtcars*1000)/2
## Warning in Ops.factor(left, right): '*' not meaningful for factors
wt
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 1 NA 10500 3000 80000 55000 1950 1310.0 8230 0 500 2000 2000
## 2 NA 10500 3000 80000 55000 1950 1437.5 8510 0 500 2000 2000
## 3 NA 11400 2000 54000 46500 1925 1160.0 9305 500 500 2000 500
## 4 NA 10700 3000 129000 55000 1540 1607.5 9720 500 0 1500 500
## 5 NA 9350 4000 180000 87500 1575 1720.0 8510 0 0 1500 1000
## 6 NA 9050 3000 112500 52500 1380 1730.0 10110 500 0 1500 500
## 7 NA 7150 4000 180000 122500 1605 1785.0 7920 0 0 1500 2000
## 8 NA 12200 2000 73350 31000 1845 1595.0 10000 500 0 2000 1000
## 9 NA 11400 2000 70400 47500 1960 1575.0 11450 500 0 2000 1000
## 10 NA 9600 3000 83800 61500 1960 1720.0 9150 500 0 2000 2000
## 11 NA 8900 3000 83800 61500 1960 1720.0 9450 500 0 2000 2000
## 12 NA 8200 4000 137900 90000 1535 2035.0 8700 0 0 1500 1500
## 13 NA 8650 4000 137900 90000 1535 1865.0 8800 0 0 1500 1500
## 14 NA 7600 4000 137900 90000 1535 1890.0 9000 0 0 1500 1500
## 15 NA 5200 4000 236000 102500 1465 2625.0 8990 0 0 1500 2000
## 16 NA 5200 4000 230000 107500 1500 2712.0 8910 0 0 1500 2000
## 17 NA 7350 4000 220000 115000 1615 2672.5 8710 0 0 1500 2000
## 18 NA 16200 2000 39350 33000 2040 1100.0 9735 500 500 2000 500
## 19 NA 15200 2000 37850 26000 2465 807.5 9260 500 500 2000 1000
## 20 NA 16950 2000 35550 32500 2110 917.5 9950 500 500 2000 500
## 21 NA 10750 2000 60050 48500 1850 1232.5 10005 500 0 1500 500
## 22 NA 7750 4000 159000 75000 1380 1760.0 8435 0 0 1500 1000
## 23 NA 7600 4000 152000 75000 1575 1717.5 8650 0 0 1500 1000
## 24 NA 6650 4000 175000 122500 1865 1920.0 7705 0 0 1500 2000
## 25 NA 9600 4000 200000 87500 1540 1922.5 8525 0 0 1500 1000
## 26 NA 13650 2000 39500 33000 2040 967.5 9450 500 500 2000 500
## 27 NA 13000 2000 60150 45500 2215 1070.0 8350 0 500 2500 1000
## 28 NA 15200 2000 47550 56500 1885 756.5 8450 500 500 2500 1000
## 29 NA 7900 4000 175500 132000 2110 1585.0 7250 0 500 2500 2000
## 30 NA 9850 3000 72500 87500 1810 1385.0 7750 0 500 2500 3000
## 31 NA 7500 4000 150500 167500 1770 1785.0 7300 0 500 2500 4000
## 32 NA 10700 2000 60500 54500 2055 1390.0 9300 500 500 2000 1000
mtcars.new <- transform(mtcars,wt=wt*100/2)
mtcars.new
## model mpg cyl disp hp drat wt qsec vs am
## 1 Mazda RX4 21.0 6 160.0 110 3.90 131.00 16.46 FALSE TRUE
## 2 Mazda RX4 Wag 21.0 6 160.0 110 3.90 143.75 17.02 FALSE TRUE
## 3 Datsun 710 22.8 4 108.0 93 3.85 116.00 18.61 TRUE TRUE
## 4 Hornet 4 Drive 21.4 6 258.0 110 3.08 160.75 19.44 TRUE FALSE
## 5 Hornet Sportabout 18.7 8 360.0 175 3.15 172.00 17.02 FALSE FALSE
## 6 Valiant 18.1 6 225.0 105 2.76 173.00 20.22 TRUE FALSE
## 7 Duster 360 14.3 8 360.0 245 3.21 178.50 15.84 FALSE FALSE
## 8 Merc 240D 24.4 4 146.7 62 3.69 159.50 20.00 TRUE FALSE
## 9 Merc 230 22.8 4 140.8 95 3.92 157.50 22.90 TRUE FALSE
## 10 Merc 280 19.2 6 167.6 123 3.92 172.00 18.30 TRUE FALSE
## 11 Merc 280C 17.8 6 167.6 123 3.92 172.00 18.90 TRUE FALSE
## 12 Merc 450SE 16.4 8 275.8 180 3.07 203.50 17.40 FALSE FALSE
## 13 Merc 450SL 17.3 8 275.8 180 3.07 186.50 17.60 FALSE FALSE
## 14 Merc 450SLC 15.2 8 275.8 180 3.07 189.00 18.00 FALSE FALSE
## 15 Cadillac Fleetwood 10.4 8 472.0 205 2.93 262.50 17.98 FALSE FALSE
## 16 Lincoln Continental 10.4 8 460.0 215 3.00 271.20 17.82 FALSE FALSE
## 17 Chrysler Imperial 14.7 8 440.0 230 3.23 267.25 17.42 FALSE FALSE
## 18 Fiat 128 32.4 4 78.7 66 4.08 110.00 19.47 TRUE TRUE
## 19 Honda Civic 30.4 4 75.7 52 4.93 80.75 18.52 TRUE TRUE
## 20 Toyota Corolla 33.9 4 71.1 65 4.22 91.75 19.90 TRUE TRUE
## 21 Toyota Corona 21.5 4 120.1 97 3.70 123.25 20.01 TRUE FALSE
## 22 Dodge Challenger 15.5 8 318.0 150 2.76 176.00 16.87 FALSE FALSE
## 23 AMC Javelin 15.2 8 304.0 150 3.15 171.75 17.30 FALSE FALSE
## 24 Camaro Z28 13.3 8 350.0 245 3.73 192.00 15.41 FALSE FALSE
## 25 Pontiac Firebird 19.2 8 400.0 175 3.08 192.25 17.05 FALSE FALSE
## 26 Fiat X1-9 27.3 4 79.0 66 4.08 96.75 18.90 TRUE TRUE
## 27 Porsche 914-2 26.0 4 120.3 91 4.43 107.00 16.70 FALSE TRUE
## 28 Lotus Europa 30.4 4 95.1 113 3.77 75.65 16.90 TRUE TRUE
## 29 Ford Pantera L 15.8 8 351.0 264 4.22 158.50 14.50 FALSE TRUE
## 30 Ferrari Dino 19.7 6 145.0 175 3.62 138.50 15.50 FALSE TRUE
## 31 Maserati Bora 15.0 8 301.0 335 3.54 178.50 14.60 FALSE TRUE
## 32 Volvo 142E 21.4 4 121.0 109 4.11 139.00 18.60 TRUE TRUE
## gear carb
## 1 4 4
## 2 4 4
## 3 4 1
## 4 3 1
## 5 3 2
## 6 3 1
## 7 3 4
## 8 4 2
## 9 4 2
## 10 4 4
## 11 4 4
## 12 3 3
## 13 3 3
## 14 3 3
## 15 3 4
## 16 3 4
## 17 3 4
## 18 4 1
## 19 4 2
## 20 4 1
## 21 3 1
## 22 3 2
## 23 3 2
## 24 3 4
## 25 3 2
## 26 4 1
## 27 5 2
## 28 5 2
## 29 5 4
## 30 5 6
## 31 5 8
## 32 4 2
Para confirmar que se realizo el cambio
summary(mtcars.new)
## model mpg cyl disp
## AMC Javelin : 1 Min. :10.40 Min. :4.000 Min. : 71.1
## Cadillac Fleetwood: 1 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8
## Camaro Z28 : 1 Median :19.20 Median :6.000 Median :196.3
## Chrysler Imperial : 1 Mean :20.09 Mean :6.188 Mean :230.7
## Datsun 710 : 1 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0
## Dodge Challenger : 1 Max. :33.90 Max. :8.000 Max. :472.0
## (Other) :26
## hp drat wt qsec
## Min. : 52.0 Min. :2.760 Min. : 75.65 Min. :14.50
## 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:129.06 1st Qu.:16.89
## Median :123.0 Median :3.695 Median :166.25 Median :17.71
## Mean :146.7 Mean :3.597 Mean :160.86 Mean :17.85
## 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:180.50 3rd Qu.:18.90
## Max. :335.0 Max. :4.930 Max. :271.20 Max. :22.90
##
## vs am gear carb
## Mode :logical Mode :logical Min. :3.000 Min. :1.000
## FALSE:18 FALSE:19 1st Qu.:3.000 1st Qu.:2.000
## TRUE :14 TRUE :13 Median :4.000 Median :2.000
## Mean :3.688 Mean :2.812
## 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :5.000 Max. :8.000
##
#Que carros tienen menoS de 6 cilindros, la coma significa buscar en todas las variables
mtcars[mtcars$cyl<6,]
## model mpg cyl disp hp drat wt qsec vs am gear
## 3 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 TRUE TRUE 4
## 8 Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 TRUE FALSE 4
## 9 Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 TRUE FALSE 4
## 18 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 TRUE TRUE 4
## 19 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 TRUE TRUE 4
## 20 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 TRUE TRUE 4
## 21 Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 TRUE FALSE 3
## 26 Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 TRUE TRUE 4
## 27 Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 FALSE TRUE 5
## 28 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 TRUE TRUE 5
## 32 Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 TRUE TRUE 4
## carb
## 3 1
## 8 2
## 9 2
## 18 1
## 19 2
## 20 1
## 21 1
## 26 1
## 27 2
## 28 2
## 32 2
#Para ver la base, muestra los primeros 6 datos
head(mtcars)
## model mpg cyl disp hp drat wt qsec vs am gear
## 1 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 FALSE TRUE 4
## 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 FALSE TRUE 4
## 3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 TRUE TRUE 4
## 4 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 TRUE FALSE 3
## 5 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 FALSE FALSE 3
## 6 Valiant 18.1 6 225 105 2.76 3.460 20.22 TRUE FALSE 3
## carb
## 1 4
## 2 4
## 3 1
## 4 1
## 5 2
## 6 1
#Para mirar cuales son los últimos datos
tail(mtcars)
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 27 Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.7 FALSE TRUE 5 2
## 28 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 TRUE TRUE 5 2
## 29 Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 FALSE TRUE 5 4
## 30 Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 FALSE TRUE 5 6
## 31 Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 FALSE TRUE 5 8
## 32 Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 TRUE TRUE 4 2
#Librería
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#Otra forma de ver el dataset diferente a plyr es con el paquete dplyr
glimpse(mtcars)
## Observations: 32
## Variables: 12
## $ model <fct> Mazda RX4, Mazda RX4 Wag, Datsun 710, Hornet 4 Drive, Ho...
## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19...
## $ cyl <int> 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4,...
## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, ...
## $ hp <int> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180,...
## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3....
## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, ...
## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, ...
## $ vs <lgl> FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, TRUE...
## $ am <lgl> TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FAL...
## $ gear <int> 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4,...
## $ carb <int> 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2,...
Listas, este objeto permite almacenar vectores, matrices, dataframe, cualquier otro tipo de objeto
#Para crear un data frame o tabla desde una dataset existente, muestra los primeros cuatro carros
my_df <- mtcars[1:4,]
my_df
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 FALSE TRUE 4 4
## 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 FALSE TRUE 4 4
## 3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 TRUE TRUE 4 1
## 4 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 TRUE FALSE 3 1
Antes de empezar es muy importante visualizar los datos - Cuarteto de Anscombe Los tipos de visualizaciones que se utilizan en EDA son: histograma, gráfica de dispersión -scatterplot y boxplot #EDA: EXPLORATORY DATA ANALYSIS EDA Scatter plot mtcars
plot(mtcars$mpg ~ mtcars$cyl,
xlab="cilindros", ylab ="millas por galón",
main="Relación de cilindros y millas por galón")
#caballos de fuerzo por millas por galón
plot(mtcars$mpg ~ mtcars$hp,
xlab="Caballos de fuerza", ylab ="millas por galón",
main="Caballos de fuerza y millas por galón")
# Parece ser una correlación negativa, correlación no implica causalidad, tendriamos que ver otra relación
EDA con histogramas Función qplot
#install.packages("ggplot2")
library(ggplot2)
qplot(mtcars$hp,
geom_point="Histogram",
xlab="Caballos de fuerza",
main="Carros según caballos de fuerza")
## Warning: Ignoring unknown parameters: geom_point
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
bins=30 –> Indica el ancho de cada una de las barras, es decir, esta escogiendo un valor de 30 datos aes, es la parte estetica title, es para escribir el titulo
ggplot(mtcars, aes(x=hp))+
geom_histogram()+
labs(x="Caballos de fuerza", y="Cantidad de carros",
title="Caballos de fuerza en carros seleccionados")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#El histograma es un conteo, por eso en y va la cantidad de carros, es una frecuencia.
Para hacer que el histograma tenga un ancho de barra mayor
ggplot(mtcars, aes(x=hp))+
geom_histogram(binwidth = 30)+
labs(x="Caballos de fuerza", y="Cantidad de carros",
title="Caballos de fuerza en carros seleccionados")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
ggplot()+geom_histogram(data=mtcars, aes(x=hp), fill="blue", color="red",
binwidth = 20)+
labs(x="Caballos de fuerza", y="Cantidad de carros",
title="Caballos de fuerza en carros seleccionados")+
xlim(c(80,280))+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
## Warning: Removed 6 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).
xlim, es el limite, se escribe con un contenedor porque tiene más objetos
boxplot(mtcars$hp,
ylab="Caballos de fuerza",
main="Caballos de fuerza en carros mtcars")
outlier, Maserati Bora en la base mtcars
max(mtcars$hp)
## [1] 335
Maximo <- filter(mtcars, hp>=330)
Maximo
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Maserati Bora 15 8 301 335 3.54 3.57 14.6 FALSE TRUE 5 8
Este es el outlier que se visualiza en la gráfica anterior del boxplot
Descripción de la variable
str(mtcars$cyl)
## int [1:32] 6 6 4 6 8 6 8 4 4 6 ...
Para cambiar el tipo de variable de int a fct
str(as.factor(mtcars$cyl))
## Factor w/ 3 levels "4","6","8": 2 2 1 2 3 2 3 1 1 2 ...
boxplot se cruza una variable categorica (x) y númerica en (y). Se necesita cambiar la variable cyl(que es númerica) a factor o etiqueta se le antepone as.factor combertirla a factor o a etiqueta labs, son las etiquetas
ggplot(mtcars,aes(x=as.factor(cyl), y=hp, fill=cyl))+
geom_boxplot(alpha=0.6)+
labs(x="cilindros", y="caballos de fuerza",
title ="Caballos de fuerza según cilindros en mtcars")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
Para cambiar el color de los boxplot, se utiliza el comando - geom_boxplot(alpha=0.6) - alpha=0.6 es el que determina el color Descripción de los resultados: Hay datos más desviados del promedio en la etiqueta 8 comparado con el boxplot 6.Cajas alargadas indican datos desviados y cajas chatas insinúan datos hoogéneos o cerca al promedio.
Sigamos explorando los datos
#Vector Boolean
mtcars$vs=as.logical(mtcars$vs)
mtcars$am=as.logical(mtcars$am)
#?mtcars, describe el paquete
str(mtcars$am)
## logi [1:32] TRUE TRUE TRUE FALSE FALSE FALSE ...
Cambio para que FALSE = Automático y TRUE= Manual
mtcars$am <- factor(mtcars$am, levels = c(T,F),
labels=c("Manual", "Automático"))
#mpg=millas por galón
ggplot(mtcars,aes(x=am, y=mpg, fill=am))+
geom_boxplot()+
labs(x="Tipo de caja", y="Millas por galón",
title="Millas por galón según tipo de caja-mtcars")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
Scatter plot con ggplot en mtcars - dos variables
ggplot(mtcars, aes(hp, mpg))+
geom_point()+
labs(x="Caballos de fuerza", y="Millas por galón",
title="Relación caballos de fuerza y millas por galón")+
theme(legend.position = "none")+
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
descripción de la gráfica: Los carros que tienen más caballos tienen menos eficiencia, recorren menos por galón.
Peso y potencia
ggplot(mtcars, aes(wt, hp))+
geom_point()+
labs(x="Peso", y="Potencia",
title="Relación peso-potencia")+
theme(legend.position = "none")+
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
Descripción: Cuando peso es igual a 5 son 5.000 libras, es decir, 2.500 kilos. Los carros que son más pesados tienen más potencia.
qsec=velocidad que se tarda para recorrer un cuarto de milla geom_point=parte estética dentro de la geometría labs=son los etiquetas, color=color de las burbujas este según la caja del carro, size= tamaño de la burbuja este según los cilindros am, según la caja del carro cyl, cilindros
ggplot(mtcars, aes(hp,qsec))+
geom_point(aes(color=am, size=cyl))+
labs(x="Caballos de fuerza", y="Tiempo de 1/4 de milla",
title="Caballos velocidad según cilindrajey tipo de carra")
Este gráfico relaciona 4 variables del set de datos. Descripción: Los carros que tienen más caballos por potencia se gastas menos tiempo en recorrer 1/4 de milla Nota: Lo importante es comunicar facilmente los hallazgo, si se incluyen más variables puede pasar que la gráfica no se entienda.
BUSCANDO CORRELACIONES CON PAIRS EN DATASET PROYECTO Se pueden cruzar todas las variables del dataset, todas frente a todas, usando una función llamada pairs y teniendo una matriz con todo los cruces. [,2:6], la coma indica todas las filas y el 2:6 indica las columnas que se quieren incluir Es importante hacer la selección parte por parte, para mejorar la visualización y poder hacer una mejor interpretación
pairs(mtcars[,2:6])
La interpretación indica que, por ejemplo, mpg en el eje x con respecto a las demas variables, esta relacionado con el concepto de correlación, ya sea negativa (a más de x menor de y) o positiva (a más de x más de y) Las etiquetas, mpg, cyl, disp, hp, drat indica que esas variables se encuentran en el eje x drat,
pairs(mtcars)
subset, selección que se va hacer selec, es para seleccionar variables o columnas, en el ejemplo solo se selecciona columnas y se utiliza un contenedor. 2 columna dos,7:8 de la siete a la ocho, y finalmente la columna 11 y 12
#install.packages("gplyr")
library(dplyr)
newdata <- subset(mtcars, select = c(2,7:8,11,12))
pairs(newdata)
carb, número de carburador qsec, velocidad en recorrer el cuarto de milla wt, es el peso gear, es el número de marchas hacia adelante
Descripción: Hay una correlación negativa entre el peso y las millas por galón
Se puede hacer el subseting o la selección de las columnas de otra forma Indicarle a R que columna no queremos, coma indica todas las observaciones (filas)
library(dplyr)
pairs(mtcars[,-c(1,3,4,5,6,9,10)])
En este ejemplo no es muy practico, pero te puede funcionar mejor para otro tipo de caso
Eficientes <- filter(mtcars, mpg>=30)
Eficientes
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 TRUE Manual 4 1
## 2 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 TRUE Manual 4 2
## 3 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 TRUE Manual 4 1
## 4 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 TRUE Manual 5 2
pairs(Eficientes[2:6])
filter(mtcars,, filtrar las filas de la base mtcars, donde las millas por galón sean mayor o igual a 30 pairs(), son las correlaciones o las parejas de variables del filtro creado anteriormente (Llamada carros eficientes)
Decripción: Con 4 cilindros(x) las millas por galón (y) unos recorren pocas millas por galón otros recorren hasta la mitad y otros mucho más, es decir, el desempeño es bien variado.
Si se quiere hacer la selección del modelos por tipo de nombre especifico o marca
########################
library(stringr)
#Carros que tienen marca mer o el modelo empiza por mer
merc <- mtcars %>% filter(str_detect(model, "Merc"))
merc
## model mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Merc 240D 24.4 4 146.7 62 3.69 3.19 20.0 TRUE Automático 4 2
## 2 Merc 230 22.8 4 140.8 95 3.92 3.15 22.9 TRUE Automático 4 2
## 3 Merc 280 19.2 6 167.6 123 3.92 3.44 18.3 TRUE Automático 4 4
## 4 Merc 280C 17.8 6 167.6 123 3.92 3.44 18.9 TRUE Automático 4 4
## 5 Merc 450SE 16.4 8 275.8 180 3.07 4.07 17.4 FALSE Automático 3 3
## 6 Merc 450SL 17.3 8 275.8 180 3.07 3.73 17.6 FALSE Automático 3 3
## 7 Merc 450SLC 15.2 8 275.8 180 3.07 3.78 18.0 FALSE Automático 3 3
########################
%>% función pai, vamos a pasar a un filtrado, filter(str_detect), str_detect indica que detecte un string o una linea que tenga en model la palabra Merc
Relaciones entre variables solo para los Merc
pairs(merc[,2:6])
Verificar la parte estadística con la parte gráfica, es decir, si existe o no relaciones entre variables con la función cor
La correlación se mueve entre -1 y 1, si se acerca a cero no hay correlación, si se acerca a -1 es negativa y 1 es positiva
cor(mtcars[,2:6])
## mpg cyl disp hp drat
## mpg 1.0000000 -0.8521620 -0.8475514 -0.7761684 0.6811719
## cyl -0.8521620 1.0000000 0.9020329 0.8324475 -0.6999381
## disp -0.8475514 0.9020329 1.0000000 0.7909486 -0.7102139
## hp -0.7761684 0.8324475 0.7909486 1.0000000 -0.4487591
## drat 0.6811719 -0.6999381 -0.7102139 -0.4487591 1.0000000
Descripción: La correlación entre disp y mpg es de -0.84 indica que esta más cerca a uno y se interpreta que más disp menos millas por galón recorre el carro, comprobando lo que se dijo de forma gráfica
Correlación no implica causalidad
cor(newdata)
## mpg wt qsec gear carb
## mpg 1.0000000 -0.8676594 0.4186840 0.4802848 -0.5509251
## wt -0.8676594 1.0000000 -0.1747159 -0.5832870 0.4276059
## qsec 0.4186840 -0.1747159 1.0000000 -0.2126822 -0.6562492
## gear 0.4802848 -0.5832870 -0.2126822 1.0000000 0.2740728
## carb -0.5509251 0.4276059 -0.6562492 0.2740728 1.0000000
Descripción: Peso por millas por galón es de -0.867, la correlación y la estadística indican que es la correlación negativa, es decir, que los carros que pesan más recorren menos millas por galón. La correlación no implica causalidad.
cor(merc[,2:6])
## mpg cyl disp hp drat
## mpg 1.0000000 -0.9446257 -0.8274252 -0.9372613 0.6466996
## cyl -0.9446257 1.0000000 0.9487621 0.9771820 -0.8257675
## disp -0.8274252 0.9487621 1.0000000 0.9420908 -0.9583580
## hp -0.9372613 0.9771820 0.9420908 1.0000000 -0.8107208
## drat 0.6466996 -0.8257675 -0.9583580 -0.8107208 1.0000000
Descripción:En la forma gráfica parace ser que los que tienen más cilindros tienen más caballos. Este último comando indica que cilindros con caballos es una correlación positiva del 0.97 casi uno, es decir, que cuando los carros tienen más cilindros tienen más caballos de fuerza.
Desviación estandar y coeficiente de correlación
summary(mtcars)
## model mpg cyl disp
## AMC Javelin : 1 Min. :10.40 Min. :4.000 Min. : 71.1
## Cadillac Fleetwood: 1 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8
## Camaro Z28 : 1 Median :19.20 Median :6.000 Median :196.3
## Chrysler Imperial : 1 Mean :20.09 Mean :6.188 Mean :230.7
## Datsun 710 : 1 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0
## Dodge Challenger : 1 Max. :33.90 Max. :8.000 Max. :472.0
## (Other) :26
## hp drat wt qsec
## Min. : 52.0 Min. :2.760 Min. :1.513 Min. :14.50
## 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89
## Median :123.0 Median :3.695 Median :3.325 Median :17.71
## Mean :146.7 Mean :3.597 Mean :3.217 Mean :17.85
## 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90
## Max. :335.0 Max. :4.930 Max. :5.424 Max. :22.90
##
## vs am gear carb
## Mode :logical Manual :13 Min. :3.000 Min. :1.000
## FALSE:18 Automático:19 1st Qu.:3.000 1st Qu.:2.000
## TRUE :14 Median :4.000 Median :2.000
## Mean :3.688 Mean :2.812
## 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :5.000 Max. :8.000
##
El promedio o media(mean) de la variable mpg esta en 20, quiere decir que en promedio los carros estan corriendo 20 millas por galón, para conocer que tan desviados estan los datos del promedio se utiliza la desviación estándar.
sd(mtcars$mpg)
## [1] 6.026948
Resultado, sd mpg=6.026948
mean(mtcars$mpg)
## [1] 20.09062
Resultado, mean mtcars=20.09062
Coeficiente de variación
prom <- mean(mtcars$mpg)
prom
## [1] 20.09062
desv <- sd(mtcars$mpg)
desv
## [1] 6.026948
CoefVar <- (desv/prom)*100
CoefVar
## [1] 29.99881
Resultado CoefVar=30%, ese coeficiente de variación en millas por galón con un promedio de 20 en mpg, indica que los datos estan dispersos o no son homogéneos
summary(mtcars)
## model mpg cyl disp
## AMC Javelin : 1 Min. :10.40 Min. :4.000 Min. : 71.1
## Cadillac Fleetwood: 1 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8
## Camaro Z28 : 1 Median :19.20 Median :6.000 Median :196.3
## Chrysler Imperial : 1 Mean :20.09 Mean :6.188 Mean :230.7
## Datsun 710 : 1 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0
## Dodge Challenger : 1 Max. :33.90 Max. :8.000 Max. :472.0
## (Other) :26
## hp drat wt qsec
## Min. : 52.0 Min. :2.760 Min. :1.513 Min. :14.50
## 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89
## Median :123.0 Median :3.695 Median :3.325 Median :17.71
## Mean :146.7 Mean :3.597 Mean :3.217 Mean :17.85
## 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90
## Max. :335.0 Max. :4.930 Max. :5.424 Max. :22.90
##
## vs am gear carb
## Mode :logical Manual :13 Min. :3.000 Min. :1.000
## FALSE:18 Automático:19 1st Qu.:3.000 1st Qu.:2.000
## TRUE :14 Median :4.000 Median :2.000
## Mean :3.688 Mean :2.812
## 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :5.000 Max. :8.000
##
wt <- (mtcars$wt*1000)/2
wt
## [1] 1310.0 1437.5 1160.0 1607.5 1720.0 1730.0 1785.0 1595.0 1575.0 1720.0
## [11] 1720.0 2035.0 1865.0 1890.0 2625.0 2712.0 2672.5 1100.0 807.5 917.5
## [21] 1232.5 1760.0 1717.5 1920.0 1922.5 967.5 1070.0 756.5 1585.0 1385.0
## [31] 1785.0 1390.0
mtcars.new <- transform(mtcars, Peso_Kilos=wt*1000/2)
mtcars.new
## model mpg cyl disp hp drat wt qsec vs
## 1 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 FALSE
## 2 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 FALSE
## 3 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 TRUE
## 4 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 TRUE
## 5 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 FALSE
## 6 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 TRUE
## 7 Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 FALSE
## 8 Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 TRUE
## 9 Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 TRUE
## 10 Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 TRUE
## 11 Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 TRUE
## 12 Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 FALSE
## 13 Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 FALSE
## 14 Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 FALSE
## 15 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 FALSE
## 16 Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 FALSE
## 17 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 FALSE
## 18 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 TRUE
## 19 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 TRUE
## 20 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 TRUE
## 21 Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 TRUE
## 22 Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 FALSE
## 23 AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 FALSE
## 24 Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 FALSE
## 25 Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 FALSE
## 26 Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 TRUE
## 27 Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 FALSE
## 28 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 TRUE
## 29 Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 FALSE
## 30 Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 FALSE
## 31 Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 FALSE
## 32 Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 TRUE
## am gear carb Peso_Kilos
## 1 Manual 4 4 1310.0
## 2 Manual 4 4 1437.5
## 3 Manual 4 1 1160.0
## 4 Automático 3 1 1607.5
## 5 Automático 3 2 1720.0
## 6 Automático 3 1 1730.0
## 7 Automático 3 4 1785.0
## 8 Automático 4 2 1595.0
## 9 Automático 4 2 1575.0
## 10 Automático 4 4 1720.0
## 11 Automático 4 4 1720.0
## 12 Automático 3 3 2035.0
## 13 Automático 3 3 1865.0
## 14 Automático 3 3 1890.0
## 15 Automático 3 4 2625.0
## 16 Automático 3 4 2712.0
## 17 Automático 3 4 2672.5
## 18 Manual 4 1 1100.0
## 19 Manual 4 2 807.5
## 20 Manual 4 1 917.5
## 21 Automático 3 1 1232.5
## 22 Automático 3 2 1760.0
## 23 Automático 3 2 1717.5
## 24 Automático 3 4 1920.0
## 25 Automático 3 2 1922.5
## 26 Manual 4 1 967.5
## 27 Manual 5 2 1070.0
## 28 Manual 5 2 756.5
## 29 Manual 5 4 1585.0
## 30 Manual 5 6 1385.0
## 31 Manual 5 8 1785.0
## 32 Manual 4 2 1390.0
library(dplyr)
eficientes <- mean(mtcars$mpg)
eficientes
## [1] 20.09062
mtcars <- mtcars %>%
mutate(Mas_eficientes=ifelse(mpg<eficientes,"Bajo promedio", "En o sobre el promedio"))
Mas_veloces <- mtcars[mtcars$qsec<16,]
Mas_veloces
## model mpg cyl disp hp drat wt qsec vs am gear
## 7 Duster 360 14.3 8 360 245 3.21 3.57 15.84 FALSE Automático 3
## 24 Camaro Z28 13.3 8 350 245 3.73 3.84 15.41 FALSE Automático 3
## 29 Ford Pantera L 15.8 8 351 264 4.22 3.17 14.50 FALSE Manual 5
## 30 Ferrari Dino 19.7 6 145 175 3.62 2.77 15.50 FALSE Manual 5
## 31 Maserati Bora 15.0 8 301 335 3.54 3.57 14.60 FALSE Manual 5
## carb Mas_eficientes
## 7 4 Bajo promedio
## 24 4 Bajo promedio
## 29 4 Bajo promedio
## 30 6 Bajo promedio
## 31 8 Bajo promedio
Descripción: Son los carros mas veloces que recorren el cuarto de milla en menos de 16 segundos
mtcars <- mtcars %>%
mutate(Velocidad_Cuarto_milla=ifelse(qsec < 16,
"Menos 16 segundos", "Más de 16 segundos"))
mtcars <- mtcars %>%
mutate(Peso_Kilos=(wt/2)*100)
mtcars <- mtcars %>%
mutate(Peso=ifelse(Peso_Kilos <= 150,
"Livianos", "Pesados"))
Scatterplot con treas variables con los ajuste realizados y otros nuevos
mtcars %>%
arrange(desc(Peso_Kilos))
## model mpg cyl disp hp drat wt qsec vs
## 1 Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 FALSE
## 2 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 FALSE
## 3 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 FALSE
## 4 Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 FALSE
## 5 Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 FALSE
## 6 Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 FALSE
## 7 Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 FALSE
## 8 Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 FALSE
## 9 Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 FALSE
## 10 Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 FALSE
## 11 Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 FALSE
## 12 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 TRUE
## 13 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 FALSE
## 14 Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 TRUE
## 15 Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 TRUE
## 16 AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 FALSE
## 17 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 TRUE
## 18 Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 TRUE
## 19 Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 FALSE
## 20 Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 TRUE
## 21 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 FALSE
## 22 Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 TRUE
## 23 Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 FALSE
## 24 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 FALSE
## 25 Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 TRUE
## 26 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 TRUE
## 27 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 TRUE
## 28 Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 FALSE
## 29 Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 TRUE
## 30 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 TRUE
## 31 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 TRUE
## 32 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 TRUE
## am gear carb Mas_eficientes Velocidad_Cuarto_milla
## 1 Automático 3 4 Bajo promedio Más de 16 segundos
## 2 Automático 3 4 Bajo promedio Más de 16 segundos
## 3 Automático 3 4 Bajo promedio Más de 16 segundos
## 4 Automático 3 3 Bajo promedio Más de 16 segundos
## 5 Automático 3 2 Bajo promedio Más de 16 segundos
## 6 Automático 3 4 Bajo promedio Menos 16 segundos
## 7 Automático 3 3 Bajo promedio Más de 16 segundos
## 8 Automático 3 3 Bajo promedio Más de 16 segundos
## 9 Automático 3 4 Bajo promedio Menos 16 segundos
## 10 Manual 5 8 Bajo promedio Menos 16 segundos
## 11 Automático 3 2 Bajo promedio Más de 16 segundos
## 12 Automático 3 1 Bajo promedio Más de 16 segundos
## 13 Automático 3 2 Bajo promedio Más de 16 segundos
## 14 Automático 4 4 Bajo promedio Más de 16 segundos
## 15 Automático 4 4 Bajo promedio Más de 16 segundos
## 16 Automático 3 2 Bajo promedio Más de 16 segundos
## 17 Automático 3 1 En o sobre el promedio Más de 16 segundos
## 18 Automático 4 2 En o sobre el promedio Más de 16 segundos
## 19 Manual 5 4 Bajo promedio Menos 16 segundos
## 20 Automático 4 2 En o sobre el promedio Más de 16 segundos
## 21 Manual 4 4 En o sobre el promedio Más de 16 segundos
## 22 Manual 4 2 En o sobre el promedio Más de 16 segundos
## 23 Manual 5 6 Bajo promedio Menos 16 segundos
## 24 Manual 4 4 En o sobre el promedio Más de 16 segundos
## 25 Automático 3 1 En o sobre el promedio Más de 16 segundos
## 26 Manual 4 1 En o sobre el promedio Más de 16 segundos
## 27 Manual 4 1 En o sobre el promedio Más de 16 segundos
## 28 Manual 5 2 En o sobre el promedio Más de 16 segundos
## 29 Manual 4 1 En o sobre el promedio Más de 16 segundos
## 30 Manual 4 1 En o sobre el promedio Más de 16 segundos
## 31 Manual 4 2 En o sobre el promedio Más de 16 segundos
## 32 Manual 5 2 En o sobre el promedio Más de 16 segundos
## Peso_Kilos Peso
## 1 271.20 Pesados
## 2 267.25 Pesados
## 3 262.50 Pesados
## 4 203.50 Pesados
## 5 192.25 Pesados
## 6 192.00 Pesados
## 7 189.00 Pesados
## 8 186.50 Pesados
## 9 178.50 Pesados
## 10 178.50 Pesados
## 11 176.00 Pesados
## 12 173.00 Pesados
## 13 172.00 Pesados
## 14 172.00 Pesados
## 15 172.00 Pesados
## 16 171.75 Pesados
## 17 160.75 Pesados
## 18 159.50 Pesados
## 19 158.50 Pesados
## 20 157.50 Pesados
## 21 143.75 Livianos
## 22 139.00 Livianos
## 23 138.50 Livianos
## 24 131.00 Livianos
## 25 123.25 Livianos
## 26 116.00 Livianos
## 27 110.00 Livianos
## 28 107.00 Livianos
## 29 96.75 Livianos
## 30 91.75 Livianos
## 31 80.75 Livianos
## 32 75.65 Livianos
selec, es para columna filter, es para fila
Mas_pesados <- mtcars %>%
filter(model %in% c("Lincoln Continental", "Chrysler Imperial", "Cadillac Fleetwood", "Merc 450SE", "Pontiac Firebird"))
Mas_pesados
## model mpg cyl disp hp drat wt qsec vs am
## 1 Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 FALSE Automático
## 2 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 FALSE Automático
## 3 Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 FALSE Automático
## 4 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 FALSE Automático
## 5 Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 FALSE Automático
## gear carb Mas_eficientes Velocidad_Cuarto_milla Peso_Kilos Peso
## 1 3 3 Bajo promedio Más de 16 segundos 203.50 Pesados
## 2 3 4 Bajo promedio Más de 16 segundos 262.50 Pesados
## 3 3 4 Bajo promedio Más de 16 segundos 271.20 Pesados
## 4 3 4 Bajo promedio Más de 16 segundos 267.25 Pesados
## 5 3 2 Bajo promedio Más de 16 segundos 192.25 Pesados
Efecto de todas las trasformaciones realizadas
facet_wrap(~model), queremos un cuadrante para cada modelo (X), caballos (y), millas por galón
ggplot(Mas_pesados, aes(hp, mpg))+
geom_point()+
facet_wrap(~model)
size=tamaño de la bolitas, geom_point=geometria
str(mtcars$Peso)
## chr [1:32] "Livianos" "Livianos" "Livianos" "Pesados" "Pesados" ...
mtcars$Peso = as.character(mtcars$Peso)
ggplot(mtcars, aes(x=cyl, y=mpg, size=Peso))+
geom_point()+
facet_wrap(~ am)
## Warning: Using size for a discrete variable is not advised.
Descripción: Hay dos cuadrantes, uno de carros manuales y otro de automático, con los carros más pesados y cilindros son las 4 variables con la misma gráfica. Dentro de los datos seleccionados hay dos con 8 cilindros que recorren menos millas por galón Los que recorren más millas por galón son carros con 4 cilindros por galón o livianos La mayoría de carros automaticos son carros pesados, entre los que estan 4, 6 y 8 cilindros
Remplazar la variable Peso por Peso_Kilos
ggplot(mtcars, aes(x=cyl, y=mpg, size=Peso_Kilos))+
geom_point()+
facet_wrap(~ am)
plot(mtcars$mpg ~ mtcars$cyl,
xlab="cilindros", ylab="millas por galón",
main="Relación cilindros y millas por galón")
Caballos de fuerza por millas de galón Correlación no implica causalidad, aunque la gráfica muestra una relación negativa
plot(mtcars$mpg ~ mtcars$hp,
xlab="Caballos de fuerza", ylab="millas por galón",
main="Relación caballos de fuerza y millas por galón")
Histogramas mtcars qplot Que distribución tiene los carros según los caballos de fuerza El histograma muestra lo que esta y lo que no esta, bins indica que esta tomando el ancho de la barra con 30
qplot(mtcars$hp,
geom_point = "Histogram",
xlab = "Caballos de fuerza",
main = "Carros según caballos de fuerza")
## Warning: Ignoring unknown parameters: geom_point
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(mtcars, aes(x=hp))+
geom_histogram()+
labs(x ="Caballos de fuerza", y="Cantidad de carros",
title = "Caballos de fuerza en carros seleccionados")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Ambos comandos ggplot y qplot permite hacer el mismo histograma Ajuste al histograma para que se vea mejor
ggplot(mtcars, aes(x=hp))+
geom_histogram()+
labs(x ="Caballos de fuerza", y="Cantidad de carros",
title = "Caballos de fuerza en carros seleccionados")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank() )
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Para ampliar el intervalo de la barra
ggplot(mtcars, aes(x=hp))+
geom_histogram(binwidth = 30)+
labs(x ="Caballos de fuerza", y="Cantidad de carros",
title = "Caballos de fuerza en carros seleccionados")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank() )
ggplot()+geom_histogram(data=mtcars,
aes(x=cyl),fill="blue",color="red",
binwidth = 1)+
labs(x ="Caballos de fuerza", y="Cantidad de carros",
title = "Caballos de fuerza en carros seleccionados")+
theme(legend.position = "none")+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
Que pasa si se correla la variable mpg=millas por galón y am=trasmision automáticos y mecanicos Es un boxplot, porque cruza variables categoricas o discretas en el eje x, en ell eje y variable continua o númerica
plot(mtcars$mpg~mtcars$am)