Cómo hacer gráficos profesionales en R usando qplot (ggplot2)

La representación gráfica de datos numéricos es esencial para poder observar el comportamiento de los mismos y observar tendencias. Somos animales visuales, y Una figura vale más que mil números, en clara alusión a la expresión Una imagen vale más que mil palabras. En R hay multitud de paquetes y comandos para representar figuras. Pero sin duda alguna, los comandos presentes en el paquete ggplot2 ganan por goleada al resto. Y uno de estos comandos es qplot. Aquí aprenderemos a usar este comando en profundidad para realizar gráficos profesionales. Para que funcione qplot es imprescindible cargar primero el paquete ggplot2.

Quiero leer...

R Commander: instalar y cargar paquetes estadísticos

El lenguaje estadístico R le debe gran parte de su fama a las posibilidades casi infinitas de personalizar, analizar y representar gráficamente datos estadísticos. Y esta potencialidad viene, principalmente, por la posibilidad de instalar paquetes … Leer más…

8 comments

Cargar ejemplos de paquetes estadísticos en R Commander

En muchas ocasiones, al leer cómo se realiza un análisis estadístico concreto recurrimos a foros, tutoriales o blogs en los que te ofrecen explicaciones de muy diversa índole. Y normalmente muchos de ellos recurren a … Leer más…

3 comments

qplot(): ¿cómo es su estructura y cuáles son sus atributos?

El comando qplot() permite realizar unos gráficos y figuras de altísimo detalle y calidad. Pero para ello es necesario conocer cómo se escribe y ejecuta correctamente. A continuación vamos a ver la secuencia del comando:

qplot()
qplot(x=, y=, data=, color=, shape=, size=, alpha=, geom=, method=, formula=, facets=, xlim=, ylim= xlab=, ylab=, main=, sub=)

Descripción de los atributos de qplot() para personalizar la figura

Su gran cantidad de atributos permite realizar figuras muy personalizadas. A continuación los describimos brevemente:

Atributo Descripción
alpha Hace referencia a la transparencia de los elementos que se solapan. Sus valores se sitúan entre 0 (transparencia total) y 1 (opacidad total).
color, shape, size, fill Estos atributos son útiles para poder realizar figuras dividiendo por categorías de las variables. Es decir, si tenemos una variable con varias categorías, dependiendo del atributo usado, se realizará una distinción entre ellas por color, forma, tamaño y relleno.
data Incluir el nombre de los datos con los que queremos hacer la figura
facets Crea un gráfico de trellis especificando variables condicionales. Su valor se expresa como rowvar ~ colvar.
geom Especifica los objetos geométricos que definen el tipo de gráfico. Se expresa con una palabra (o varias) y tiene las siguientes opciones: «point», «smooth», «boxplot», «line», «histogram», «density», «bar», and «jitter».
main, sub Indica el título y el subtítulo de la figura respectivamente
method, formula Si geom=»smooth», se añade una línea de tendencia con su intervalo de confianza al 95% por defecto

Method puede coger los valores «lm» (para regresiones), «gam» (para modelos generalizados aditivos; requiere cargar el paquete mgcv) y «rlm» (para regresiones robustas, requiere cargar el paquete MASS).

Formula da la forma del ajuste (ver más abajo para ver ejemplos).

x, y Hay que indicar cuáles son las variables que se van a comportar como X e Y respectivamente. Si se va a representar sólo una variable, hay que omitir el valor y.
xlab, ylab Si queréis personalizar el nombre de la variable X e Y, debéis de utilizar estos atributos. Por ejemplo: xlab=»Variable X»).
xlim,ylim Si queréis restringir el intervalo que se representa en el eje X e Y, debéis utilizar estos atributos. Por ejemplo: ylim=c(0,20). El intervalo que se representa en el eje Y está comprendido entre los valores 0 y 20.

Datos para usar como ejemplo

Os muestro la estructura de los datos que vamos a emplear para que podáis aplicarlo a vuestros propios datos numéricos.

Datos para ejemplo de qplot()

Vemos que tenemos 4 columnas, 2 de ellas con datos cualitativos (molar, con los valores M1 y M2, y sigla, con 21 categorías, de las que se muestran solo SP42 y SP65 en la imagen anterior) y 2 de ellas con datos cuantitativos (X e Y).

Visualización de los datos en qplot() usando los atributos color, shape, size y alpha

Vamos a empezar a jugar por fin con qplot(). De izquierda a derecha y de arriba a abajo, se han ejecutado los siguientes comandos:

[sourcecode lang=»r»] qplot(x = X,y = Y,data = Datos)
qplot(x = X,y = Y,data = Datos, color = molar)
qplot(x = X,y = Y,data = Datos, color = sigla)
qplot(x = X,y = Y,data = Datos, color = sigla, shape = molar)
qplot(x = X,y = Y,data = Datos, shape = molar)
qplot(x = X,y = Y,data = Datos, shape = molar, color = molar)
qplot(x = X,y = Y,data = Datos, size = sigla, color = molar, shape = molar, alpha = 0.01)
[/sourcecode]

Podemos observar cómo es posible cambiar la forma (shape), color, tamaño (size) y transparencia (alpha) para todos los datos en conjunto (sin tener en cuenta las variables categóricas o cualitativas), y teniéndolas en cuenta. Se pueden hacer cuantas combinaciones queramos. Nosotros sólo hemos hecho unas pocas para ilustrarlo.

qplot (visualización de datos)

Probad con el atributo alpha los siguientes valores: alpha = I(1,10) y alpha = I(50,100). ¿Qué os aparece?

Representación de regresiones utilizando los atributos geom, method y formula

Vamos a hacer aquí una distinción entre usar, por un lado, todos los datos cuantitativos conjuntamente (X e Y) sin tener en cuenta las categorías de las variables molar y sigla, y por otro, dividiendo en grupos según esas variables categóricas.

Nota importante
Al realizar regresiones usando qplot(), se representa por defecto el 95% del intervalo de confianza.

Regresiones con todos los datos cuantitativos conjuntos

Usando todos los datos cuantitativos en conjunto, sin tener en cuenta las categorías de las variables molar ni sigla, vamos a analizar varios ejemplos utilizando diversos comandos. Como anteriormente, están escritos según la posición de la figura siguiente, de izquierda a derecha y de arriba a abajo.

[sourcecode lang=»r»] qplot(x = X, y = Y, data = Datos, geom = c("point", "smooth"))
qplot(x = X, y = Y, data = Datos, geom = "smooth")
qplot(x = X, y = Y, data = Datos, geom = "smooth", method = "lm")
qplot(x = X, y = Y, data = Datos, geom = "smooth", method = "lm", formula = y~x)
qplot(x = X, y = Y, data = Datos, geom = "smooth", formula = y~poly(x,2))
qplot(x = X, y = Y, data = Datos, geom = "smooth", method = "lm", formula = y~poly(x,2))
[/sourcecode]

Una cosa importante, para realizar regresiones es obligatorio añadir el atributo geom=»smooth». Aunque podemos añadirle más atributos, como en el caso de «point» (arriba izquierda).

Como podemos observar en esta figura, al aplicar exclusivamente method=»lm», nos hace una recta. Si queremos añadir una regresión polinomial tenemos que añadir el atributo formula.

qplot con regresiones para todos los datos conjuntos

Cómo escribir fórmulas polinomiales en qplot()
1 grado: formula = y~x

2 grados: formula = y~poly(x,2)

3 grados: formula = y~poly(x,3)

n grados: formula = y~poly(x,n)

Regresiones teniendo en cuenta los factores de las variables categóricas

Continuamos jugando con qplot. Ahora nos centraremos en hacer distinción por categorías, teniendo en cuenta las variables categóricas molar y sigla.

[sourcecode lang=»r»] qplot(x=X,y=Y,data=Datos,geom="smooth",color=molar)
qplot(x=X,y=Y,data=Datos,geom="smooth",color=molar,formula=y~poly(x,2))
qplot(x=X,y=Y,data=Datos,geom="smooth",color=molar,method="lm",formula=y~poly(x,2))
qplot(x=X,y=Y,data=Datos,geom="smooth",color=sigla,method="lm",formula=y~poly(x,2))
[/sourcecode]

qplot con regresiones para todos los datos separados por categorías

Realizar otros gráficos con el atributo geom: boxplot (diagrama de caja y bigotes) y líneas

Aparte de visualizar los datos y hacer regresiones, qplot() también puede realizar otras figuras, como se ve a continuación. Y como siempre, se puede jugar con las categorías. Los comandos que se han ejecutado han sido los siguientes:

[sourcecode lang=»r»] qplot(x=X,y=Y,data=Datos, geom="boxplot")
qplot(x=X,y=Y,data=Datos, geom="boxplot",color=molar)
qplot(x=X,y=Y,data=Datos, geom="line")
qplot(x=X,y=Y,data=Datos, geom="line",color=molar)
[/sourcecode]

qplot y el atributo geom con boxplot y line

Vídeos ilustrativos del uso de qplot()

A continuación os dejo unos vídeotutoriales muy interesantes donde se aplica en detalle qplot. Espero que os sirvan para poder completar y manejar a la perfección este comando tan versátil y útil.

 

 

 

 

Referencias

1 comentario en «Cómo hacer gráficos profesionales en R usando qplot (ggplot2)»

  1. Hola,

    Muy interesante artículo del qplot! La verdad es que el paquete ggplot2 es una pasada para crear gráficos que molen y profesionales. Además se puede utilizar plotly para que los gráficos sean interactivos y insertarlos en presentacion power point, PDFs etc…

    Aquí os dejo un tutorial muy interesante de ggplot2 de la universidad de Harvard.

    ¡Ahora a practicar! 😉

    PD: compartido en la redes. Gracias!

    Jordi

    Responder

Deja un comentario