El presente documento muestra como crear diagramas de barras (Bar Charts) en el lenguaje de programación R,utilizando la función base barplot(), así como los paquetes (packages) ggplot2 y lattice.
Recomendamos tener instaladas las últimas versiones de R, RStudio, Python y Quarto.
Diagramas de Barras
El diagrama de barras (Bar Chart) es un gráfico estadístico que nos permite representar la distribución de frecuencias de variables cualitativas y cuantitativas discretas; nuestro objetivo es pasar del lápiz y papel al uso de los lenguajes de programación R version 4.2.1 (2022-06-23 ucrt) (R Core Team, 2022) y Python 3.10.4 (Van Rossum & Drake Jr, 1995) ,recomendamos el uso del libro El Arte de Programar en R(Santana Sepúlveda et al., 2014), compartimos la siguiente imagen como referencia.
Data Set - mtcars
mtcars es un data set que ya viene precargado al momento de instalar el lenguaje de programación R en nuestro sistema, haremos uso de dicho data set para la creación de distintos diagramas de barras, de las 11 variables y 32 observaciones que lo componen nos enfocaremos en las variables cyl (cilindro) y gear (engranajes) como se muestra a continuación.
mpg cyl disp hp
Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
Median :19.20 Median :6.000 Median :196.3 Median :123.0
Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
drat wt qsec vs
Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
Median :3.695 Median :3.325 Median :17.71 Median :0.0000
Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
am gear carb
Min. :0.0000 Min. :3.000 Min. :1.000
1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
Median :0.0000 Median :4.000 Median :2.000
Mean :0.4062 Mean :3.688 Mean :2.812
3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
Max. :1.0000 Max. :5.000 Max. :8.000
Código
summary(mtcars$cyl)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.000 4.000 6.000 6.188 8.000 8.000
Código
summary(mtcars$gear)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.000 3.000 4.000 3.688 4.000 5.000
Código
summary(mtcars$carb)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 2.000 2.000 2.812 4.000 8.000
Código
summary(mtcars$cyl)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.000 4.000 6.000 6.188 8.000 8.000
Código
cyl_table <-sqldf("select cyl,count(cyl) as cantidad from mtcars group by cyl")cyl_table
cyl cantidad
1 4 11
2 6 7
3 8 14
Código
summary(mtcars$gear)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.000 3.000 4.000 3.688 4.000 5.000
Código
gear_table <-sqldf("select gear,count(gear) as cantidad from mtcars group by gear")gear_table
gear cantidad
1 3 15
2 4 12
3 5 5
Código
summary(mtcars$carb)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 2.000 2.000 2.812 4.000 8.000
Código
carb_table <-sqldf("select carb,count(carb) as cantidad from mtcars group by carb")carb_table
La función barplot() nos permite crear diagramas de barras (Bar Charts) en el lenguaje de programación R, utilizaremos la variable cyl (cilindros) para crear el gráfico estadístico reespectivo, como se muestra en la siguiente imagen.
Código
x <-table(mtcars$cyl)colores <-c("orange","blue","purple")barplot(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores)
Click aquí como instalar y descargar paquetes en R
ggplot2(Wickham, 2016) es un paquete del lenguaje de programación que nos permite crear gráficos estadísticos de gran calidad, haremos uso de la variable cyl (cilindros) para la creación del gráfico estadístico respectivo, como se muestra a continuación.
Código
ggplot(mtcars,aes(cyl)) +geom_bar(fill=colores) +labs(x="Cillindros",y="Frecuencias",title="Número de Cilindros") +theme_dark()
Bar Chart - Lattice
Lattice(Sarkar, 2008) es un paquete del lenguaje de programación R, que nos permite crear gráficos estadísticos de muy buena calidad, nos enfocaremos en la variable cyl (cilindros) para la creación del gráfico estadístico respectivo, como se muestra a continuación.
Código
barchart(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores,horizontal=FALSE)
El conocimiento de Markdown mejorará la calidad y presentación de tus documentos en Quarto.
mtcars - cyl & gear
A continuación, mostraremos como unir dos diagramas de barras (Bar Charts) en un sólo gráfico, tomando como base el data set mtcars y dos de sus variables cyl (cilindros) y gear (engranajes).
Código
y <-table(mtcars$gear)par(mfrow=c(1,2))barplot(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores)barplot(y,xlab="Engranajes",ylab="Frecuencias",main="Número de Engranajes",col=rainbow(3))
Logos RMarkdown & Quarto
A continuación, mostramos los logos que identifican a RMarkdown1 y Quarto2 .
Figura 1: Logo RMarkdown
Figura 2: Logo Quarto
YouTube - Tutorial
Compartimos el siguiente tutorial tomado de la plataforma YouTube que muestra como crear diagramas de barras (Bar Charts) haciendo uso de la función barplot() y el paquete ggplot2 del lenguaje de programación R. Utilizaremos el paquete vembedr(Lyttle, 2021) para añadir vídeos a nuestro documento Quarto
R Core Team. (2022). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. https://www.R-project.org/
Santana Sepúlveda, S., Mateos Farfán, E., et al. (2014). El arte de programar en R: un lenguaje para la estadı́stica. México: Instituto Mexicano de Tecnologı́a del Agua. UNESCO. Comité Nacional ….
Van Rossum, G., & Drake Jr, F. L. (1995). Python reference manual. Centrum voor Wiskunde en Informatica Amsterdam.
Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. https://ggplot2.tidyverse.org
Notas
RMarkdown es un paquete del lenguaje de programación R, que nos permite unir texto plano con código de R para crear documentos reproducibles tales como HTML,PDF,Word entre otros.↩︎
Quarto es un sistema de publicación que nos permite crear documento científicos y técnicos pudiendo ser utilizado en RStudio, Visual Studio Code y Jupyter Labs.↩︎
Correr el código
---title: Bar Charts - Rdate: last-modifieddescription: El presente documento muestra como crear diagramas de barras (Bar Charts) en el lenguaje de programación R,utilizando la función base barplot(), así como los paquetes (packages) ggplot2 y lattice.author: name: Renzo Cáceres Rossi url: https://www.youtube.com/c/RenzoCaceresRossi affiliation: Hablamos R affiliation-url: https://hablamosr.blogspot.com/title-block-banner: "#808080"format: html: toc: true code-fold: true code-tools: true theme: journal css: "style_006.css"bibliography: biblio_005.bibcsl: apa.csllink-citations: yeslang: Es-es---```{r setup,include=FALSE}library(ggplot2)library(lattice)library(vembedr)library(sqldf)library(reticulate)``````{python,include=FALSE}from platform import python_versionversion = python_version()```<!-- Quarto es un sistema de publicación de documentos científicos y técnicos -->:::{.callout-note}Recomendamos tener instaladas las últimas versiones de R, RStudio, Python y Quarto. :::## Diagramas de Barras El diagrama de barras (**Bar Chart**) es un gráfico estadístico que nos permite representar la distribución de frecuencias de variables cualitativas y cuantitativas discretas; nuestro objetivo es pasar del lápiz y papel al uso de los lenguajes de programación `r R.version.string` [@Rprogramming] y Python `r py$version` [@van1995python] ,recomendamos el uso del libro **El Arte de Programar en R** [@santana2014arte], compartimos la siguiente imagen como referencia.<center>{width=400}</center>## Data Set - mtcars**mtcars** es un data set que ya viene precargado al momento de instalar el **lenguaje de programación R** en nuestro sistema, haremos uso de dicho data set para la creación de distintos diagramas de barras, de las 11 variables y 32 observaciones que lo componen nos enfocaremos en las variables **cyl** (cilindro) y **gear** (engranajes) como se muestra a continuación.:::{.panel-tabset}## mtcars```{r mtcars}summary(mtcars)summary(mtcars$cyl)summary(mtcars$gear)summary(mtcars$carb)```## mtcars - cyl```{r mtcars_cyl}summary(mtcars$cyl)cyl_table <-sqldf("select cyl,count(cyl) as cantidad from mtcars group by cyl")cyl_table```## mtcars - gear```{r mtcars_gear}summary(mtcars$gear)gear_table <-sqldf("select gear,count(gear) as cantidad from mtcars group by gear")gear_table```## mtcars - carb```{r}summary(mtcars$carb)carb_table <-sqldf("select carb,count(carb) as cantidad from mtcars group by carb")carb_table```:::## Bar Chart - barplot()La función `barplot()` nos permite crear diagramas de barras (**Bar Charts**) en el lenguaje de programación R, utilizaremos la variable cyl (**cilindros**) para crear el gráfico estadístico reespectivo, como se muestra en la siguiente imagen.```{r barplot,fig.align='center'}x <-table(mtcars$cyl)colores <-c("orange","blue","purple")barplot(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores)```:::{.callout-caution collapse="true"}## Click aquí como instalar y descargar paquetes en Rinstall.packages("ggplot2")<br>install.packages("lattice")<br>install.packages("vembedr")<br>library(ggplot2)<br>library(lattice)<br>library(vembedr):::## Bar Chart - ggplot2**ggplot2** [@ggplot2] es un paquete del lenguaje de programación que nos permite crear gráficos estadísticos de gran calidad, haremos uso de la variable cyl (**cilindros**) para la creación del gráfico estadístico respectivo, como se muestra a continuación.```{r ggplot,fig.align='center'}ggplot(mtcars,aes(cyl)) +geom_bar(fill=colores) +labs(x="Cillindros",y="Frecuencias",title="Número de Cilindros") +theme_dark()```## Bar Chart - Lattice**Lattice** [@lattice] es un paquete del lenguaje de programación R, que nos permite crear gráficos estadísticos de muy buena calidad, nos enfocaremos en la variable cyl (**cilindros**) para la creación del gráfico estadístico respectivo, como se muestra a continuación.```{r lattice,fig.align='center'}barchart(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores,horizontal=FALSE)```[Recomendamos **R for Data Science** - IBM Cognitive Class <https://cognitiveclass.ai/courses/r-101>{target=_blank}]{.aside}:::{.callout-tip}## RecomendaciónEl conocimiento de **Markdown** mejorará la calidad y presentación de tus documentos en **Quarto**.:::## mtcars - cyl & gearA continuación, mostraremos como unir dos diagramas de barras (**Bar Charts**) en un sólo gráfico, tomando como base el data set **mtcars** y dos de sus variables **cyl** (cilindros) y **gear** (engranajes).```{r cyl_gear,fig.align='center'}y <-table(mtcars$gear)par(mfrow=c(1,2))barplot(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores)barplot(y,xlab="Engranajes",ylab="Frecuencias",main="Número de Engranajes",col=rainbow(3))```## Logos RMarkdown & QuartoA continuación, mostramos los logos que identifican a **RMarkdown**[^1] y **Quarto**[^2] .:::{layout-ncol=2}{#fig-rmarkdown}{#fig-quarto}:::## YouTube - TutorialCompartimos el siguiente tutorial tomado de la plataforma **YouTube** que muestra como crear diagramas de barras (**Bar Charts**) haciendo uso de la función `barplot()` y el paquete **ggplot2** del lenguaje de programación R.Utilizaremos el paquete **vembedr** [@vembedr] para añadir vídeos a nuestro documento **Quarto**```{r vembedr}embed_url("https://www.youtube.com/watch?v=EkxRj02iaLk&t=6s") %>%use_align("center")```[^1]: RMarkdown es un paquete del lenguaje de programación R, que nos permite unir texto plano con código de R para crear documentos reproducibles tales como HTML,PDF,Word entre otros.[^2]: Quarto es un sistema de publicación que nos permite crear documento científicos y técnicos pudiendo ser utilizado en RStudio, Visual Studio Code y Jupyter Labs.