UNIDAD 6: GRÁFICOS DE SECTORES, DE BARRAS Y BOXPLOTS EN R

17  Download (0)

Full text

(1)

UNIDAD 6: GRÁFICOS DE SECTORES, DE BARRAS Y

BOXPLOTS EN R

Técnicas Inteligentes en Bioinformática

Master en Lógica, Computación e Inteligencia Artificial

Dpto. Ciencias de la Computación e Inteligencia Artificial

Francisco J. Romero Campero

Universidad de Sevilla

(2)

CONTENIDOS

1. Gráficos de sectores: pie

2. Gráficos de barras: barplot

3. Gráficos de cajas y bigotes: bloxplot

(3)

Gráficos de sectores: la función pie

Los gráficos de sectores se usan para representar frecuencias de las diferentes clases dentro de un conjunto de datos.

pie es la función que permite construir gráficos de sectores. Recibe como argumento princial un vector (o tabla) con las frecuencias absolutas de cada clase.

> datos.drosophila <- read.table(file="drosophila.txt")

> frecuencias.drosophila <- table(datos.drosophila[,"linea"])

> pie(frecuencias.drosophila)

(4)

El argumento labels recibe un vector de cadenas de caracteres y se utiliza para cambiar las etiquetas de cada sector.

El argumento col recibe un vector de cadenas de caracteres y se utiliza para cambiar los colores de cada sector.

> pie(frecuencias.drosophila, labels=c("Con","Res","Sus"),

col=c("blue","red","green"),main="Líneas de Drosophila melanogaster")

(5)

CONTENIDOS

1. Gráficos de sectores: pie

2. Gráficos de barras: barplot

3. Gráficos de cajas y bigotes: bloxplot

(6)

Gráficos de barras: la función barplot

En un gráfico de barras en lugar de utilizar puntos disconexos o unidos por líneas para representar los datos utilizamos barras. Se utilizan normalmente cuando se quiere presentar estudios sobre un número pequeño de clases.

barplot es la función que permite construir gráficos de barras.

> fecundidad.resistente <- datos.drosophila[

datos.drosophila[,"linea"] == "Resistente","fecundidad"]

> fecundidad.susceptible <- datos.drosophila[

datos.drosophila[,"linea"] == "Susceptible","fecundidad"]

> fecundidad.control <- datos.drosophila[

datos.drosophila[,"linea"] == "Control","fecundidad"]

> medias <- c(mean(fecundidad.resistente), mean(fecundidad.susceptible), mean(fecundidad.control))

> barplot(medias)

(7)

La mayoría de los parámetros para las anteriores funciones gráficas también son compartidos por barplot

> barplot(medias,col="grey",border="blue",ylim=c(0,40),xlab="Línea", ylab="Fecundidad",main="Fecundidad en Drosophila melanogaster")

(8)

Existen dos formas diferentes de etiquetar cada barra.

Nombrar los elementos del vector correspondiente y luego utililzar barplot:

> names(medias) <- c("Resistente","Susceptible","Control")

> barplot(medias, col="grey", border="blue", ylim=c(0,40), xlab="Línea", ylab="Fecundidad", main="Fecundidad en Drosophila melanogaster")

Utilizar el argumento names.arg de la función barplot:

> xpos <- barplot(medias,

names.arg=c("Resistente","Susceptible","Control"),

col="grey", border="blue", ylim=c(0,40), xlab="Línea",

ylab="Fecundidad", main="Fecundidad en Drosophila melanogaster")

(9)

El gráfico aún no está completo hay que añadir barras de error. Típicamente se añade una barra de error correspondiente a una desviación típica.

La función arrows nos permite añadir barras de error.

Esta función recibe como argumentos las posiciones de los extremos inferiores y superiores de la barra. Las posiciones x se obtiene de barplot. Las posiciones y se obtienen de restar y sumar al correspondiente valor la desviación típica.

Adicionalmente recibe los parametros code, angle y length para tunear la barra de error, normalmente estos valores se fijan en 3, 90 y 0.1 respectivamente.

> xpos <- barplot(medias, names.arg=c("Resistente","Susceptible","Control"), col=c("blue","red","green"), border="blue", ylim=c(0,50), xlab="Línea", ylab="Fecundidad", main="Fecundidad en Drosophila melanogaster")

> arrows(xpos, medias-sds, xpos, medias+sds, angle=90, code=3, length=0.1)

(10)

Normalmente se suele realizar un contraste de hipótesis para comprobar la significancia de los resultados.

La función t.test utiliza el estadistico t de student para realizar el correspondiente contraste de hipótesis

H

0 : μ

0 = μ

1 H

1 : μ

0 < μ

1 ó μ

0 > μ

1

La función t.test recibe como entrada dos vectores con los datos correspondientes y la hipótesis alternativa alt="less" o "greater". Por defecto asume un nivel de confianza del 95% que puede tunearse con el parámetro conf.level.

t.test(fecundidad.control,fecundidad.susceptible,alt="greater")

… t = 3.6789, df = 47.63, p-value = 0.0002977 …

t.test(fecundidad.control,fecundidad.resistente,alt="greater")

… t = 3.4251, df = 47.087, p-value = 0.0006417 …

t.test(fecundidad.susceptible,fecundidad.resistente,alt="less")

… t = -0.6521, df = 45.693, p-value = 0.2588 ...

La función t.test devuelve entre otra información el correspondiente p value. Recordad que si el p value es menor que (1 - nivel de confianza) entonces se rechaza la hipótesis nula y por lo tanto se "acepta" la alternativa.

(11)

Normalmente se suele marcar en el gráfico de barras con uno o dos asteriscos las barras que representan datos significativos.

> points(xpos[3]+0.3,38,pch=8,cex=2)

(12)

CONTENIDOS

1. Gráficos de sectores: pie

2. Gráficos de barras: barplot

3. Gráficos de cajas y bigotes: bloxplot

(13)

Gráficos de cajas y bigotes: la función boxplot

Un gráfico ampliamente utilizado para comparar distintos grupos de datos son los box plots (box and whisker plots o gráficos de cajas y bigotes).

Los box plots usan un resumen estadístico consistente en 5 valores: el valor mínimo, el valor máximo, el primer cuartil, la mediana y el tercer cuartil.

En los box plots también se identifican Outliers, valores de los datos que distan considerablemente del resto y que puede deberse a algún error de medición suelen eliminarse para evitar distorsiones en los datos.

La función de R para construir este tipo de gráficos es boxplot.

máximo

mínimo

1º cuartil

mediana

4º cuartil

(14)

La función boxplot puede recibir como parámetros los vectores de los distintos grupos por separado.

> boxplot(fecundidad.susceptible,

fecundidad.resistente,

fecundidad.control)

(15)

Alternativamente boxplot puede recibir a partir de un marco de datos primero el vector que contenga los datos numéricos y luego el vector que conteniene la clasificación separados por el símbolo ~

> boxplot(datos.drosophila[["fecundidad"]] ~ datos.drosophila[["linea"]])

(16)

El resto de parámetros es similar al resto de la funciones gráficas.

> boxplot(datos.drosophila[["fecundidad"]] ~ datos.drosophila[["linea"]],

col=c("blue","red","green"), xlab="Línea",ylab="Fecundidad",

main="Fecundidad en Drosophila melanogaster")

(17)

This work is licensed under the Creative Commons Attribution-

NonCommercial NoDerivs 3.0 Unported License. To view a copy of this license, visit

http://creativecommons.org/licenses/by-nc-nd/3.0/.

Estas transparencias están basadas en el material docente desarrollado por Francisco J. Romero Campero e Ignacio Pérez Hurtado de Mendoza para la asignatura Informática Aplicada a la Bioquímica del Grado Conjunto en Bioquímica por la Universidad de Sevilla y la Universidad de Málaga (Andalucía Tech). Este

trabajo está liberado bajo la licencia Creative Commons

Attribution-NonCommercial NoDerivs 3.0 Unported License.

Figure

Updating...

References

Related subjects :