Fichero de datos

Vamos a trabajar con el conjunto de datos mpg integrado en el paquete ggplot2.

head( mpg )
## # A tibble: 6 x 11
##   manufacturer model displ  year   cyl trans drv     cty   hwy fl    class
##   <chr>        <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi         a4     1.80  1999     4 auto… f        18    29 p     comp…
## 2 audi         a4     1.80  1999     4 manu… f        21    29 p     comp…
## 3 audi         a4     2.00  2008     4 manu… f        20    31 p     comp…
## 4 audi         a4     2.00  2008     4 auto… f        21    30 p     comp…
## 5 audi         a4     2.80  1999     6 auto… f        16    26 p     comp…
## 6 audi         a4     2.80  1999     6 manu… f        18    26 p     comp…

Las variables numƩricas que mƔs nos interesan son:

Represetanción grÔfica

1. Haz un grÔfico de dispersión enfrentando las variables displ y hwy

ggplot( data = mpg ) + 
  geom_point( mapping = aes( x = displ, y = hwy ) )

2. Representa los puntos de forma que sean de color azul.

ggplot( data = mpg, aes( x = displ, y = hwy ) ) + 
  geom_point( color = "blue" )

3. Colorea los puntos en función de la clase de coche

ggplot( data = mpg, aes( x = displ, y = hwy ) ) + 
  geom_point( aes( colour = class ) )

4. Etiqueta adecuadamente el grƔfico

ggplot( data = mpg, aes( x = displ, y = hwy ) ) + 
  geom_point( aes( colour = class ) ) +
  labs( title = "Relación entre la eficacia del combustible y el desplazamiento del motor según el tipo de coche",
        x = "Desplazamiento motor (L)", y = "Eficacia combustible",
        fill = "Clase")  

Errores comunes

5. ¿Por qué no funciona este código?

ggplot( data = mpg, aes( x = displ, y = hwy ) ) 
+ geom_point( )

Porque hemos puesto el símbolo + en la línea de abajo, siempre hay que colocarlo al final de cada sentencia. El código correcto es:

ggplot( data = mpg, aes( x = displ, y = hwy ) ) +
  geom_point( )

6. ¿Qué hay mal en el siguiente código?¿por qué no pinta los puntos azules?

ggplot( data = mpg ) + 
  geom_point( aes( x = displ, y = hwy, color = "darkgreen" ) )

Los elementos situados dentro de aes() lo que hacen es transformar las variables en atributos estéticos. Así, en el código anterior estamos diciendo que "darkgreen" es una variable, por ello lo pone en la leyenda y representa todos los puntos en color rosa.

Lo correcto serĆ­a poner color = "darkgreen" fuera de aes():

ggplot( data = mpg ) + 
  geom_point( aes( x = displ, y = hwy) , color = "darkgreen" ) 

Deja trata de la sesión

sessionInfo()
## R version 3.4.4 (2018-03-15)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.4 LTS
## 
## Matrix products: default
## BLAS: /usr/lib/libblas/libblas.so.3.6.0
## LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
## 
## locale:
##  [1] LC_CTYPE=es_ES.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=es_ES.UTF-8        LC_COLLATE=es_ES.UTF-8    
##  [5] LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=es_ES.UTF-8   
##  [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggplot2_2.2.1
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.15     knitr_1.18       magrittr_1.5     munsell_0.4.3   
##  [5] colorspace_1.3-2 rlang_0.2.0      stringr_1.2.0    plyr_1.8.4      
##  [9] tools_3.4.4      grid_3.4.4       gtable_0.2.0     utf8_1.1.3      
## [13] cli_1.0.0        htmltools_0.3.6  assertthat_0.2.0 yaml_2.1.16     
## [17] lazyeval_0.2.1   rprojroot_1.3-2  digest_0.6.14    tibble_1.4.2    
## [21] crayon_1.3.4     evaluate_0.10.1  rmarkdown_1.8    labeling_0.3    
## [25] stringi_1.1.6    compiler_3.4.4   pillar_1.1.0     scales_0.5.0    
## [29] backports_1.1.2