5.1 Creando gráficos básicos con R
El mecanismo más habitualmente empleado a la hora de crear un gráfico en R es utilizar la función plot. Se trata de una función genérica, que puede ser utilizada para representar distintos tipos de datos (y cuya salida varía en función del tipo de datos que recibe para su representación). En su forma más simple, esta función recibe como entrada dos vectores de datos numéricos, que representan, respectivamente, las coordenadas x e y de los puntos a representar. Si ejecutamos en la consola:
<-seq(1, 10)
x<-log(x)
yplot(x, y)
Se puede ver que, por defecto, plot representa lo que se denomina un gráfico de dispersión o scatter plot, es decir, simplemente representa los pares de puntos de las dos variables asociadas a los ejes (x e y), y no trata de unir estos puntos. En apartados posteriores veremos cómo cambiar este comportamiento.
Un aspecto que debemos tener en cuenta a la hora de utilizar plot es que si al llamar a la función existe una ventana gráfica abierta, esta se reutilizará (y perderemos el gráfico anterior).
Para evitar este comportamiento, podemos crear una nueva ventana antes de dibujar el gráfico utilizando la función dev.new.
<-seq(1, 10)
x<-log(x)
y1<-log(x)+1/x
y2plot(x, y1)
dev.new()
plot(x, y2)
Además de plot otras funciones comúnmente utilizadas para realizar representaciones gráficas en R son:
hist: Representar un histograma.
boxplot: Dibujar un diagrama de caja.
barplot: Realizar un diagrama de barras.
pie: Representar un gráfico circular.
Al igual que ocurría con plot, estas funciones también reescriben la ventana gráfica, con lo que deberemos usar dev.new para abrir ventanas distintas para cada gráfico.
Podemos ver a continuación ejemplos de uso de algunas de estas funciones:
<-c(0.25,0.50,0.15,0.10,0.25)
datos<-paste("Grupo", seq(1,5))
nombrespie(datos, labels=nombres)
<-c(0.25,0.50,0.15,0.10,0.25)
datos<-paste("Grupo", seq(1,5))
nombresbarplot(datos, names.arg=nombres)
Se puede ver que los argumentos recibidos como entrada varían de función a función, por lo que la ayuda de R nos puede ser de gran utilidad en este sentido.
A la hora de crear un gráfico, suele ser también necesario etiquetar adecuadamente la información de los ejes, así como especificar un título oportuno para la figura. Para esta finalidad resulta de especial relevancia la función title, que permite especificar un título para la figura así como etiquetar los ejes de la misma:
<-seq(1,10)
x<-log(x)
yplot(x,y, ann=FALSE)
title(main="La función logaritmo", sub="Subtítulo",
xlab="Variable X", ylab="Variable Y")
Se puede ver que hemos añadido el parámetro ann con valor FALSE en la llamada a plot. Esto impide que se añadan las etiquetas por defecto para los ejes (puesto que las vamos a configurar nosotros con la llamada posterior a title).
También podríamos haber añadido directamente la configuración relativa al título y los ejes mediante parámetros de la función plot (en cuyo caso no sería necesario el parámetro ann) con lo que el código siguiente sería equivalente al anterior:
<-seq(1,10)
x<-log(x)
yplot(x,y, main="La función logaritmo", sub="Subtítulo",
xlab="Variable X", ylab="Variable Y")