This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
library(ggplot2)
## Registered S3 methods overwritten by 'ggplot2':
## method from
## [.quosures rlang
## c.quosures rlang
## print.quosures rlang
Usamos el dataset por defecto mpg
df <- mpg
head(df)
## # 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.8 1999 4 auto(~ f 18 29 p comp~
## 2 audi a4 1.8 1999 4 manua~ f 21 29 p comp~
## 3 audi a4 2 2008 4 manua~ f 20 31 p comp~
## 4 audi a4 2 2008 4 auto(~ f 21 30 p comp~
## 5 audi a4 2.8 1999 6 auto(~ f 16 26 p comp~
## 6 audi a4 2.8 1999 6 manua~ f 18 26 p comp~
Echamos un vistazo a las variables del dataset.
str(df)
## Classes 'tbl_df', 'tbl' and 'data.frame': 234 obs. of 11 variables:
## $ manufacturer: chr "audi" "audi" "audi" "audi" ...
## $ model : chr "a4" "a4" "a4" "a4" ...
## $ displ : num 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ...
## $ year : int 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ...
## $ cyl : int 4 4 4 4 6 6 6 4 4 4 ...
## $ trans : chr "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ...
## $ drv : chr "f" "f" "f" "f" ...
## $ cty : int 18 21 20 21 16 18 18 18 16 20 ...
## $ hwy : int 29 29 31 30 26 26 27 26 25 28 ...
## $ fl : chr "p" "p" "p" "p" ...
## $ class : chr "compact" "compact" "compact" "compact" ...
Creamos la sintaxis base para crear un gráfico con ggplot2. Vamos a usar la variable class para crear un gráfico de barras.
pl <- ggplot(df, aes(x=class))
Añadimos el comando geom_bar(). La diferencia entre usar geom_bar() o geom_hist() es que para el primero se usan variables categóricas y para un histograma se suelen usar variables discretas.
pl + geom_bar()
Al igual que en el caso del scatterplot, podemos rellenar las barras en función de otra variable. Tomamos la variable drv.
pl + geom_bar(aes(fill=factor(drv)))
Si en lugar de usar la variable en fill la usamos en col, el gráfico crea los bordes mostrando la cantidad de cada factor en cada barra.
pl + geom_bar(aes(col=factor(drv)))
Existen diferentes posiciones para colocar las barras. Veamos unos ejemplos.
pl + geom_bar(aes(fill=factor(drv)), position="dodge")
En este caso, dodge nos permite contar individualmente el número de coches según su tipo y drv.
pl + geom_bar(aes(fill=factor(drv)), position="stack")
Como podemos observar, stack es el que viene por defecto.
pl + geom_bar(aes(fill=factor(drv)), position="fill")
En este caso nos muestra el porcentaje de cada coche en función de su drv.