. (Puedes reportar un problema sobre el contenido de esta página aquí)¿Quieres compartir tu contenido en R-bloggers? haz clic aquí si tienes un blog, o aquí si no lo tienes.

Durante la próxima semana cubriremos los fundamentos de cómo crear tus propios histogramas en R. Se explorarán tres opciones: comandos básicos de R, ggplot2 y ggvis. Estos posts están dirigidos a usuarios principiantes e intermedios de R que necesitan un recurso accesible y fácil de entender. ¿Quieres aprender más? Descubre los tutoriales de R en DataCamp.

¿Qué es un histograma?

Un histograma es una representación visual de la distribución de un conjunto de datos. Como tal, la forma de un histograma es su característica más obvia e informativa: permite ver fácilmente dónde se encuentra una cantidad relativamente grande de datos y dónde hay muy pocos datos (Verzani 2004). En otras palabras, se puede ver dónde está el centro de la distribución de los datos, lo cerca que están los datos de ese centro y dónde se encuentran los posibles valores atípicos. Precisamente por todo esto, los histogramas son una gran forma de conocer tus datos¡

Pero, ¿qué aspecto tiene exactamente esa forma específica de un histograma? En resumen, el histograma consta de un eje x, un eje y y varias barras de diferentes alturas. El eje Y muestra la frecuencia con la que los valores del eje X aparecen en los datos, mientras que las barras agrupan rangos de valores o categorías continuas en el eje X. Esto último explica por qué los histogramas no tienen espacios entre las barras.

Note que las barras de los histogramas a menudo se llaman «bins» ; Este tutorial también utilizará ese nombre.

Cómo hacer un histograma con R básico

Primer paso – Muéstrame los datos

Dado que los histogramas requieren algunos datos para ser trazados en primer lugar, usted hace bien importando un conjunto de datos o utilizando uno que está construido en R. Este tutorial hace uso de dos conjuntos de datos: el conjunto de datos incorporado en R AirPassengers y un conjunto de datos llamado chol, almacenado en un archivo .txt y disponible para su descarga.

chol = read.csv("https://s3.amazonaws.com/assets.datacamp.com/blog_assets/chol.txt", sep = " ") 

Paso dos – Familiarízate con la función Hist()

Simplemente puedes hacer un histograma utilizando la función hist(), que calcula un histograma de los valores de datos dados. Pones el nombre de tu conjunto de datos entre los paréntesis de esta función, así:

hist(AirPassengers)

Lo que da como resultado el siguiente histograma:

Sin embargo, si quieres seleccionar sólo una determinada columna de un marco de datos, chol por ejemplo, para hacer un histograma, tendrás que utilizar la función hist() con el nombre del conjunto de datos en combinación con el signo $, seguido del nombre de la columna:

hist(chol$AGE) #computes a histogram of the data values in the column AGE of the dataframe named "chol”

Paso tres – Subir la función Hist() a un nivel superior

Los histogramas de la sección anterior parecen un poco aburridos, ¿no? Las visualizaciones por defecto no suelen aportar mucho a la comprensión de sus histogramas. Por lo tanto, necesitas dar un paso más para alcanzar una mejor y más fácil comprensión de tus histogramas. Afortunadamente, esto no es demasiado difícil: R permite varias formas fáciles y rápidas de optimizar la visualización de los diagramas, sin dejar de utilizar la función hist().

Para adaptar tu histograma, simplemente tienes que añadir más argumentos a la función hist(), así:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5)

Este código calcula un histograma de los valores de los datos del conjunto de datos AirPassengers, le da como título «Histograma para pasajeros de avión», etiqueta el eje x como «Pasajeros», da un borde azul y un color verde a los bins, mientras limita el eje x de 100 a 700, gira los valores impresos en el eje y en 1 y cambia el ancho de los bins a 5.

¿Abrumado por esta gran cadena de código? No te preocupes. Vamos a dividirlo en trozos más pequeños para ver qué hace cada argumento.

Nombres/colores

Cambia el título del histograma añadiendo main como argumento a la función hist():

hist(AirPassengers, main="Histogram for Air Passengers") #Histogram of the AirPassengers dataset with title "Histogram for Air Passengers”

Para ajustar la etiqueta del eje x, añade xlab. Del mismo modo, también puedes utilizar ylab para etiquetar el eje y:

hist(AirPassengers, xlab="Passengers", ylab="Frequency of Passengers") #Histogram of the AirPassengers dataset with changed labels on the x-and y-axes

Si quieres cambiar los colores del histograma por defecto, simplemente añade los argumentos border o col. Puedes ajustar, ya que los propios nombres te delatan, los bordes o los colores de tu histograma.

hist(AirPassengers, border="blue", col="green") #Histogram of the AirPassengers dataset with blue-border bins with green filling

Consejo no olvides poner los colores y los nombres entre "".

Ejes X e Y

Cambia el rango de los valores x e y en los ejes añadiendo xlim y ylim como argumentos a la función hist():

hist(AirPassengers, xlim=c(100,700), ylim=c(0,30)) #Histogram of the AirPassengers dataset with the x-axis limited to values 100 to 700 and the y-axis limited to values 0 to 30

Nota que la función c() se utiliza para delimitar los valores en los ejes cuando se utiliza xlim y ylim. Toma dos valores: el primero es el valor de inicio, el segundo es el valor final

Rota las etiquetas del eje y añadiendo «las = 1» como argumento. las puede ser 0, 1, 2 o 3.

hist(AirPassengers, las=1) #Histogram of the AirPassengers dataset with the y-values projected horizontally

Según la opción que elijas, la colocación de la etiqueta será diferente: si eliges 0, la etiqueta estará siempre paralela al eje (que es el valor por defecto); Si eliges 1, la etiqueta se pondrá horizontal. Elige 2 si quieres que esté perpendicular al eje y 3 si quieres que se coloque verticalmente.

Bins

Puedes cambiar el ancho del bin añadiendo breaks como argumento, junto con el número de puntos de ruptura que quieras tener:

hist(AirPassengers, breaks=5) #Histogram of the AirPassengers dataset with 5 breakpoints

Si quieres tener más control sobre los puntos de ruptura entre contenedores, puedes enriquecer el argumento breaks dándole un vector de puntos de ruptura. Puedes hacerlo utilizando la función c():

hist(AirPassengers, breaks=c(100, 300, 500, 700)) #Compute a histogram for the data values in AirPassengers, and set the bins such that they run from 100 to 300, 300 to 500 and 500 to 700.

Sin embargo, la función c() puede hacer que tu código sea muy desordenado a veces. Por eso puedes añadir en su lugar =seq(x, y, z). Los valores de x, y y z los determinas tú mismo y representan, por orden de aparición, el número inicial del eje x, el número final del eje x y el intervalo en el que aparecen estos números.

Nota que también puedes combinar las dos funciones:

hist(AirPassengers, breaks=c(100, seq(200,700, 150))) #Make a histogram for the AirPassengers dataset, start at 100 on the x-axis, and from values 200 to 700, make the bins 150 wide

¡Estudia bien los cambios en el eje y cuando experimentes con los números utilizados en el argumento seq!

Tenga en cuenta que la diferente anchura de las barras o bins puede confundir a la gente y que las partes más interesantes de sus datos pueden resultar no resaltadas o incluso ocultas cuando aplique esta técnica a su histograma original. Así que experimente con esto y vea qué es lo que mejor se adapta a sus propósitos

Extra: Densidad de probabilidad

La función hist() te muestra por defecto la frecuencia de un determinado bin en el eje y. Sin embargo, si quieres ver la probabilidad de que se produzca un intervalo de valores del eje x, necesitarás una densidad de probabilidad en lugar de la frecuencia. Por lo tanto, queremos pedir un histograma de proporciones. Puedes cambiar esto poniendo el argumento freq en false o poner el argumento prob en true:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5, prob = TRUE)#Histogram of the AirPassengers dataset with a probability density expressed through the y-axis instead of the regular frequency.

Después de haber llamado a la función hist() para crear el gráfico de densidad de probabilidad anterior, puede añadir posteriormente una curva de densidad a su conjunto de datos utilizando la función lines():

lines(density(AirPassengers)) #Get a density curve to go along with your AirPassengers histogram

¡Nota que esta función requiere que primero establezcas el argumento prob del histograma como verdadero!

Paso cuatro. Quieres ir más allá?

Para una lista exhaustiva de todos los argumentos que puedes añadir a la función hist(), echa un vistazo al artículo de RDocumentación sobre la función hist().

Este es el primero de 3 posts sobre la creación de histogramas con R. El próximo post cubrirá la creación de histogramas usando ggplot2.

¿Has detectado un error? Envíanos un tweet

El post Cómo hacer un histograma con R básico apareció primero en El Blog de DataCamp .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *