Indice

Gráficas

El presente tutorial está basado en [3].

Leamos de los archivos de datos la información que vamos a usar para nuestras gráficas:

>  w1 <- read.csv(file="w1.dat",sep=",",head=TRUE)
> names(w1)
[1] "vals"
>  tree <- read.csv(file="trees91.csv",sep=",",head=TRUE)
> names(tree)
 [1] "C"      "N"      "CHBR"   "REP"    "LFBM"   "STBM"   "RTBM"   "LFNCC" 
 [9] "STNCC"  "RTNCC"  "LFBCC"  "STBCC"  "RTBCC"  "LFCACC" "STCACC" "RTCACC"
[17] "LFKCC"  "STKCC"  "RTKCC"  "LFMGCC" "STMGCC" "RTMGCC" "LFPCC"  "STPCC" 
[25] "RTPCC"  "LFSCC"  "STSCC"  "RTSCC" 
>

Aquí leemos a dos variables los datos de los dos archivos que contienen nuestros valores, w1.dat, y trees91.csv, el atributo names(<var>) de la variable tree, me lista los nombres de las columnas, el valor entre [] indica el índice del primer valor desplecado, en otras palabras names(tree) me despliega 28 nombres de las 28 columnas disponibles en trees91.csv.

Para listar los atributos de una variable (u objeto en general), lo puedo hacer con la función attributes:

> attributes(tree)
$names
 [1] "C"      "N"      "CHBR"   "REP"    "LFBM"   "STBM"   "RTBM"   "LFNCC" 
 [9] "STNCC"  "RTNCC"  "LFBCC"  "STBCC"  "RTBCC"  "LFCACC" "STCACC" "RTCACC"
[17] "LFKCC"  "STKCC"  "RTKCC"  "LFMGCC" "STMGCC" "RTMGCC" "LFPCC"  "STPCC" 
[25] "RTPCC"  "LFSCC"  "STSCC"  "RTSCC" 

$class
[1] "data.frame"

$row.names
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "12" "13" "14" "15"
[16] "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30"
[31] "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45"
[46] "46" "47" "48" "49" "50" "51" "52" "53" "54"

> 

Eso quiere decir que también puedo llamar al atributo class y al atributo row así:

> class(tree)
[1] "data.frame"
> row(tree)
.
.
.

row(tree) me devolverá 54 filas por 28 columnas, en una matriz.

Si quiero más información de cada una de estas columnas, lo puedo hacer con el comando summary:

> summary(tree)
       C               N              CHBR         REP             LFBM       
 Min.   :1.000   Min.   :1.000   A1     : 3   Min.   : 1.00   Min.   :0.1300  
 1st Qu.:2.000   1st Qu.:1.000   A4     : 3   1st Qu.: 9.00   1st Qu.:0.4800  
 Median :2.000   Median :2.000   A6     : 3   Median :14.00   Median :0.7200  
 Mean   :2.519   Mean   :1.926   B2     : 3   Mean   :13.05   Mean   :0.7649  
 3rd Qu.:3.000   3rd Qu.:3.000   B3     : 3   3rd Qu.:20.00   3rd Qu.:1.0075  
 Max.   :4.000   Max.   :3.000   B4     : 3   Max.   :20.00   Max.   :1.7600  
                                 (Other):36   NA's   :11.00
.
.
.
     LFSCC            STSCC            RTSCC       
 Min.   :0.0900   Min.   :0.1400   Min.   :0.0900  
 1st Qu.:0.1325   1st Qu.:0.1600   1st Qu.:0.1200  
 Median :0.1600   Median :0.1800   Median :0.1300  
 Mean   :0.1661   Mean   :0.1817   Mean   :0.1298  
 3rd Qu.:0.1875   3rd Qu.:0.2000   3rd Qu.:0.1475  
 Max.   :0.2600   Max.   :0.2800   Max.   :0.1700  
                                                   
> 

Para referirme a cada una de las columnas del archivo, uso el símbolo $ así:

> mic <- tree$C
> mic
 [1] 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3
[39] 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4
>

Esto me devolverá el vector con los valores de la columna C de la variable tree.

Clases

Las clases u objetos, son tipos de datos como los números, que tienen asociados a ellos datos y funciones, los datos se llaman parámetros y las funciones métodos. Sin querer ya hemos estado manejando una clase, y es la data.frame, que es la que devuelve la función read.csv(...) que hemos usado para leer los datos, y asignársela a las variables tree y w1. Para ver los atributos asociados a una clase se usa la función attributes, que ya le hemos usado.

Strip Chart

Esta función grafica los datos que se le suministren en un vector. Ejemplo:

> stripchart(w1$vals)

Lo que hace stripchart, es poner los valores en forma de cuadritos, en la posición del valor, sin nada más, podemos decirle que los ponga en forma vertical apilándolos:

> stripchart(w1$vals,method="stack")

Como verá, eso pinta la gráfica y pone los cuadros uno sobre otro si están repetidos, como es el caso del 0.58 que se encuentra tres veces.

Otra forma de hacerlo es mover los valores hacia arriba y hace abajo, de tal forma que no se pongan unos sobre otros, se usa el método jitter así:

> stripchart(w1$vals,method="jitter")

Si gusta puede cambiar la orientación de la gráfica de horizontal a vertical con el parámetro vertical:

> stripchart(w1$vals,vertical=TRUE)
> stripchart(w1$vals,vertical=TRUE, method="jitter")

Puede ponerle un título a la gráfica si gusta con el comando title así:

> title('Biomasa en CO2 ambiental',xlab='Biomasa por estratos')
>

Esto pondrá el título a la gráfica actualmente abierta, el título será el primer parámetro y el parámetro xlab es el título de la barra en x.

Puede hacerlo todo con un solo comando así:

> stripchart(w1$vals,method="stack",
       main='Biomasa en CO2 ambiental',
       xlab='Biomasa por estratos')

Histogramas

Como pudo ver, las gráficas en strips no son muy útiles cuando se trata de analizar distribuciones de probabilidad, para eso los histogramas son más útiles:

> hist(w1$vals)

Lo que me está mostrando la gráfica, es cuantos valores hay en los intervalos graficados. Como verá cada intervalo mide 0.2, y en el primer intervalo, es de anotar que el intervalo es semi abierto (] esto quiere decir que si hay un valor en el borde, este valor pertenecerá inmediatamente menor. Verifique lo anterior con el intervalo (20, 40], cuantos hay, observará que el valor 40 se incluye en este intervalo, pero si hubiera un valor 20, no estaría en este intervalo.

Para modificar el número de intervalos, lo puede hacer con el parámetro break así:

> hist(w1$vals,breaks=2)
> hist(w1$vals,breaks=4)
> hist(w1$vals,breaks=6)
>

También puede modificar los límites a mostrar, en caso de que quiera sólo mirar una parte del histograma esto último sería muy útil:

> hist(w1$vals,breaks=12,xlim=c(0,10))
> hist(w1$vals,breaks=12,xlim=c(-1,2))
> hist(w1$vals,breaks=12,xlim=c(0,2))
> hist(w1$vals,breaks=12,xlim=c(1,1.3))
> hist(w1$vals,breaks=12,xlim=c(0.9,1.3))
> 

Podemos sobre escribir el título como en los Strip Charts con title:

> title('Biomasa en CO2 ambiental',xlab='Biomasa por estratos')
>

O usar los parámetros main y xlab de la misma forma:

> hist(w1$vals,
       main='Biomasa en CO2 ambiental',
       xlab='Biomasa por estratos')
>

Podemos combinar los histogramas y los strip charts, fijándolos en una posición ejemplo:

> hist(w1$vals,main='Biomasa en CO2 ambiental',xlab='Biomasa por estratos',ylim=c(0,16))
> stripchart(w1$vals,add=TRUE,at=15.5)
>

Esto pintará los valores en la parte superior a una altura de 15.5, justo por encima de la barra más alta.

Referencias

OpTrWiki: R/GraphHistograms (last edited 2011-09-11 22:36:07 by JuanfJaramillo)