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)

Para conocer la estructura del dataset

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  
## 

OPERADORES PARA COMPARAR Y UBICAR DATOS

#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

FACTORES, LISTAS Y ECHAR UN VISTAZO AL DATASET.

#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

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

Gráfica de dispersión

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.

Estadísticas de los datos

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

Seleccionar observaciones o filas con “filter”

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

Confirmando correlaciones con la función cor

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.

Protegiéndonos de los límites del promedio

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

Mejorando las visualizaciones

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  
## 

Pasar de libras a kilos y agregar la variable al dataset

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

Ajustando datos para mejorar las visualizaciones

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

RETO

Remplazar la variable Peso por Peso_Kilos

ggplot(mtcars, aes(x=cyl, y=mpg, size=Peso_Kilos))+ 
         geom_point()+ 
         facet_wrap(~ am)

EDA Scatter plot mtcars

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

EDA, histogramas

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

Cierre de la clase

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)