DATOS

Origen de los datos

Hemos partido de los datos de la siguiente página web. Los datos se han obtenido mediante scraping utilizando el siguiente comando en una hoja de cálculo de GoogleDocs:

=IMPORTHTML(“http://www.scidev.net/global/biodiversity/feature/biodiversity-facts-and-figures-1.html”; “table”; 4)

Incorporamos los datos con este comando:

datos <- read.table("datos.csv", 
  header=TRUE, sep=",", na.strings="NA", dec=",", 
  strip.white=TRUE)

Tratamiento de los datos

Tenemos la siguiente estructura de datos:

## 'data.frame':    25 obs. of  10 variables:
##  $ X.Area.                                : Factor w/ 25 levels "Atlantic Forest",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ X.Original.hotspot.area..sq.km..       : Factor w/ 25 levels "1,130,019","1,233,875",..: 2 8 16 25 11 22 20 15 24 10 ...
##  $ X.Hotspot.area.today..sq.km..          : num  99.9 438.9 73.5 15.7 23 ...
##  $ X.Protected.area..sq.km..              : num  50.4 111.1 108.7 10.9 29.6 ...
##  $ X.Total.plant.species.                 : num  20 10 3.49 9 13 ...
##  $ X.Total.terrestrial.vertebrate.species.: num  1.51 1.03 566 514 1.2 ...
##  $ X.Endemic.bird.species.under.threat.   : int  55 10 4 0 48 0 6 2 31 18 ...
##  $ X.Endemic.mammal.species.under.threat. : int  21 4 21 1 18 2 5 6 35 25 ...
##  $ X.Endemic.amphibiansunder.threat.      : int  14 2 8 7 143 2 15 4 49 35 ...
##  $ X.Extinct.species.since.1500..         : int  1 0 2 1 38 0 0 0 0 1 ...

Como los nombres de las variables son demasiado complejos, los modificamos:

## 'data.frame':    25 obs. of  10 variables:
##  $ Area       : Factor w/ 25 levels "Atlantic Forest",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ HotspotOrig: Factor w/ 25 levels "1,130,019","1,233,875",..: 2 8 16 25 11 22 20 15 24 10 ...
##  $ Hotspot    : num  99.9 438.9 73.5 15.7 23 ...
##  $ AreaProt   : num  50.4 111.1 108.7 10.9 29.6 ...
##  $ Plantas    : num  20 10 3.49 9 13 ...
##  $ Verteb     : num  1.51 1.03 566 514 1.2 ...
##  $ EndemicPaj : int  55 10 4 0 48 0 6 2 31 18 ...
##  $ EndemicMam : int  21 4 21 1 18 2 5 6 35 25 ...
##  $ EndemicAnf : int  14 2 8 7 143 2 15 4 49 35 ...
##  $ Extint     : int  1 0 2 1 38 0 0 0 0 1 ...

Reducción de variables

Para crear una nueva variable agrupativa a partir de los datos existentes, agruparemos los bosques en función de un análisis cluster de tipo jerárquico que considere todas las variables:

Consideraremos únicamente tres cluster. El resumen de las características de los centroides sería el siguiente:

##  1  2  3 
## 11  9  5
## INDICES: 1
##   AreaProt EndemicAnf EndemicMam EndemicPaj     Extint    Hotspot 
## 110.290818  83.272727  23.909091  38.000000   5.454545 148.322455 
##    Plantas     Verteb 
##  14.772727   1.608636 
## -------------------------------------------------------- 
## INDICES: 2
##   AreaProt EndemicAnf EndemicMam EndemicPaj     Extint    Hotspot 
##  37.208222   4.555556   5.555556  19.222222   8.111111  62.610889 
##    Plantas     Verteb 
##   5.067444 413.777778 
## -------------------------------------------------------- 
## INDICES: 3
##   AreaProt EndemicAnf EndemicMam EndemicPaj     Extint    Hotspot 
##    36.2584    42.6000    25.2000    26.8000    14.4000    48.6930 
##    Plantas     Verteb 
##    12.5338   907.6000

Como resumen de los grupos, el cluster 1 se caracteriza por tener unos niveles muy altos de área protegida frente a los otros dos. Por otra parte, se puede ver que el número de vertebrados en el cluster 3 es muy superior al del cluster 2.

Creamos una nueva variable en nuestra tabla de datos en la que añadimos a qué cluster pertenece cada bosque:

## Loading required package: car
## Loading required package: sandwich
## 'data.frame':    25 obs. of  11 variables:
##  $ Area       : Factor w/ 25 levels "Atlantic Forest",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ HotspotOrig: Factor w/ 25 levels "1,130,019","1,233,875",..: 2 8 16 25 11 22 20 15 24 10 ...
##  $ Hotspot    : num  99.9 438.9 73.5 15.7 23 ...
##  $ AreaProt   : num  50.4 111.1 108.7 10.9 29.6 ...
##  $ Plantas    : num  20 10 3.49 9 13 ...
##  $ Verteb     : num  1.51 1.03 566 514 1.2 ...
##  $ EndemicPaj : int  55 10 4 0 48 0 6 2 31 18 ...
##  $ EndemicMam : int  21 4 21 1 18 2 5 6 35 25 ...
##  $ EndemicAnf : int  14 2 8 7 143 2 15 4 49 35 ...
##  $ Extint     : int  1 0 2 1 38 0 0 0 0 1 ...
##  $ cluster    : Factor w/ 3 levels "1","2","3": 1 1 2 2 1 2 2 1 1 1 ...

REPRESENTACIÓN GRÁFICA CON ggplot2

Representamos la densidad de especies endémicas de pájaros en función del cluster.

En el segundo gráfico, hemos relacionado la diversidad de aves con la de mamíferos y hemos ejecutado una regresión lineal para cada uno de los clusters por separado.