21.11.15

Gráficos: Función plot()

Gráficos: Función plot()

Hoy veremos la utilización de la función plot(), esta es la función principal para generar gráficos en R. Con esta función podemos crear gráficos de barras, de dispersión, de cajas y matrices de dispersión. Por la facilidad de generar numerosos tipos de gráficos, es la más utilizada del sistema base.

La función consta de varios argumentos:
plot(x, y, type, main, sub, xlab, ylab, asp, ...)
   donde
x, y: coordenadas de los puntos
type: tipo de gráfico a dibujar; puntos (p), lineas (l), ambas (b), lineas sin puntos (c), lineas y puntos sobrepuestos (o), en forma de histograma (h), por pasos (s y S) y sin gráfico (n).
main: título
sub: subtítulo
xlab: etiqueta en x
ylab: etiqueta en y
asp: relación de aspecto x/y
. . . : otros argumentos de gráficos

La creación del tipo de gráfico, dependerá de los datos (numéricas o categóricas)


  • Para la generación de gráficos de barras, se utiliza una sola variable y esta debe tipo factor.

> x<-c(rep("Niños",10),rep("Jueveniles",20),rep("Adultos",15),rep("Ancianos",30))
> edad<-as.factor(X)
> edad [1] Niños      Niños      Niños      Niños      Niños      Niños      Niños      Niños     
 [9] Niños      Niños      Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles
[17] Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles
[25] Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Jueveniles Adultos    Adultos   
[33] Adultos    Adultos    Adultos    Adultos    Adultos    Adultos    Adultos    Adultos   
[41] Adultos    Adultos    Adultos    Adultos    Adultos    Ancianos   Ancianos   Ancianos  
[49] Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos  
[57] Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos  
[65] Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos   Ancianos  
[73] Ancianos   Ancianos   Ancianos  
Levels: Adultos Ancianos Jueveniles Niños
plot(edad,main="Edades en la Escuela",xlab="Edades",ylab="Número de individuos",col="blue")

  • Para la generación de gráficos de dispersión, se utiliza dos variables numéricas. En esta ocasión ocuparemos un datasets de R, llamado iris, que tiene información sobre longitud y anchura de pétalo y sépalo de tres especies de plantas.

> str(iris)                     # datasets de R
'data.frame': 150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
> plot(iris[,1:2],main="Relación entre longitud y anchura del Sepalo",xlab="Longitud del Sepalo", ylab="Anchura del Sepalo",col=iris$Sp,pch=19)
> legend("topright",legend=c("setosa","versicolor","viginica"),pch=19,col=c(1,2,3))

  • También se pueden generar gráficos de dispersión con una sola variable, a menos que cambiemos el tipo de gráfico con el argumento type.

> par(mfrow=c(2,2))       # para visualizar mas gráficos en una sola imagen
> plot(iris$Sepal.Length,main="Longitud de Sepalo",type = "l")
> plot(iris$Sepal.Width,main="Anchura de Sepalo",type = "s")
> plot(iris$Petal.Length,main="Longitud de Petalo",type = "o")
> plot(iris$Petal.Width,main="Ancho de Petalo",type = "h")

  • Para la generación de diagrama de cajas, se utiliza una sola variable numérica y una categórica.

> par(mfrow=c(1,2))
> plot(iris$Species,iris$Sepal.Length,main="Longitud de Sepalo \npor Especie",col=c(5,4,6))
> plot(iris$Species,iris$Sepal.Width,main="Anchura de Sepalo \nporEspecie",col=c(5,4,6),horizontal=T)

  • Por último la generación de matriz de gráficos de dispersión, utilizando mas de dos variables numérica. Esta gráfica  nos ayuda para ver tendencias o patrones en los datos, y así poder hacer un análisis más dirigido

> par(mfrow=c(1,1))
> plot(iris[,1:4],col=iris$Species,pch=19)


Con esto terminamos de ver la función plot(). Continua aprendiendo y nos vemos en el próximo post.
                                                                                                                             

1 comentario:

  1. I read your post. It is very informative and helpful to me. I admire the message valuable information you provided in your article.

    online training

    ResponderBorrar