R dispone de
múltiples funciones diseñadas para la representación gráfica de datos.
Estas funciones se dividen en dos grandes grupos: funciones
gráficas de alto nivel y de bajo
nivel.
1.1 Plot en R
La función gráfica más básica en R es la función plot.
Esta función tiene múltiples argumentos para configurar el gráfico
final, que permiten agregar un título, cambiar las etiquetas de los
ejes, personalizar colores, cambiar tipos de línea, etc. Con la función
plot se puede crear una amplia gama de gráficos,
dependiendo de los argumentos de entrada. El siguiente codigo realiza un
diagrama de dispersion usando la funcion
plot.
set.seed(1)# Generamos datos de ejemplox <-rnorm(500)y <- x +rnorm(500)# Dibujamos los datosplot(x, y)title("Grafico con plot")
1.2 Gráfico de dispersión
en R
Los diagramas o gráficos de dispersión, también
conocidos como nubes de puntos, scatter plots o scatter
chart por su nombre en inglés, representan las
observaciones de las variables (generalmente dos, pero también
pueden ser tres). El uso principal de un gráfico de dispersión en R es
verificar visualmente si existe alguna relación entre ciertas variables
numéricas.
El uso principal de los diagramas de dispersión en R es
verificar la relación entre variables. Para ese
propósito, puedes añadir líneas de regresión (o agregar
curvas en caso de estimaciones no lineales) con la función
lines, que permite personalizar el ancho de línea con el
argumento lwd o el tipo de línea con el argumento
lty, entre otros argumentos. En este ejemplo, vamos a
ajustar un modelo lineal y otro no paramétrico con las funciones
lm y lowess respectivamente, con los
argumentos predeterminados.
plot(x, y, pch =19, col ="gray52")title("Grafico de dispersion")# Modelo subyacentelines(seq(0, 1, 0.05), 2+3*seq(0, 1, 0.05)^2, col ="2", lwd =3, lty =2)# Ajsute linealabline(lm(y ~ x), col ="orange", lwd =3)# Ajuste suavizadolines(lowess(x, y), col ="blue", lwd =3)# Leyendalegend("topleft", legend =c("Teórico", "Lineal", "Suavizado"),lwd =3, lty =c(2, 1, 1), col =c("red", "orange", "blue"))
1.3 Gráfico de barras en
R
Cuando una variable toma pocos valores, es común resumir la
información con una tabla de frecuencias que se puede representar con un
gráfico de barras en R. Este tipo de gráficos se suelen utilizar, por
ejemplo, para representar precipitaciones y temperaturas (si añadimos
una curva por encima), en lo que se conoce como climogramas. En este
artículo vamos a explicar los conceptos básicos de la creación
de diagramas de barras en R.
Para crear un gráfico de barras en R, puedes usar la función de R
base barplot.
# Cargamos los datosdata(mtcars)attach(mtcars)## The following object is masked from package:ggplot2:## ## mpg# Tabla de frecuenciasmi_tabla <-table(cyl)barplot(mi_tabla, main ="Grafico de barras",col =rainbow(3))
1.4 Histograma en R
Un histograma en R es el gráfico más habitual para representar datos
continuos. Este tipo de gráfico es similar a un diagrama de barras, pero
que representa las frecuencias en las que aparecen las mediciones
agrupadas en ciertos intervalos y cuenta cuántas observaciones caen en
cada intervalo. Además, la altura está determinada por el ratio entre la
frecuencia y el ancho del intervalo.
Puedes dibujar un histograma en R con la función hist.
Por defecto, la función creará un histograma de frecuencias.
Para crear un histograma con el paquete ggplot2, debes
usar las funciones ggplot + geom_histogram y
pasar los datos como data frame. En el argumento aes debes
especificar el nombre de la variable del data frame.
nbreaks <-pretty(range(distancia), n =nclass.Sturges(distancia), min.n =1)ggplot(data.frame(distancia), aes(x = distancia)) +geom_histogram(breaks = nbreaks, color ="gray", fill ="white")
1.5 Gráfico de densidad
en R
La función de densidad de probabilidad de un vector x, que
se suele denotar como f(x)describe la probabilidad de
que la variable tome un determinado valor. La función de
densidad de probabilidad empírica es una versión suavizada del
histograma. Esta suavización también se conoce como estimador de
Parzen-Rosenblatt o estimador kernel. Puedes hacer un gráfico de
densidad en R de manera muy sencilla tal y como mostraremos en este
tutorial. Al final de la lectura sabrás cómo dibujar diagramas de
densidad tanto en R como en RStudio.
Para crear un gráfico de densidad en R, puedes pasar a la función
plot un objeto creado con la función density
de R, que dibujará una curva de densidad en una nueva ventana. Si lo
prefieres, también puedes superponer la línea de densidad sobre un
histograma con la función lines.
set.seed(1234)# Generamos datosx <-rnorm(500)par(mfrow =c(1, 2))# Creamos un histogramahist(x, freq =FALSE, main ="Histograma y densidad",ylab ="Densidad")# Calculamos la densidaddx <-density(x)# Añadimos la línea de densidadlines(dx, lwd =2, col ="red")# Curva de densidad sin histogramaplot(dx, lwd =2, col ="red",main ="Densidad")# Añadimos los datos con riudo en el eje Xrug(jitter(x))
1.6 Box plot en R
Los box plots, también conocidos como diagramas de cajas y bigotes,
son una representación gráfica que permite resumir las características
principales de los datos (posición, dispersión, asimetría, …) e
identificar la presencia de valores atípicos. En este tutorial
revisaremos cómo hacer box plots en R base y en ggplot2.
Cómo hacer un boxplot en R a partir de un vector, solo necesitas
pasar el vector a la función boxplot. Por defecto, el
diagrama de caja será vertical, pero puedes cambiar la orientación
estableciendo el argumento horizontal como
TRUE.