Twinspan Analysis

TWINSPAN analysis is a numerical method for classification of vegetation belonging to similar groups. This allows the investigator to recognize the homogenous groups. Two-way indicator species analysis using the computer program TWINSPAN (Waite, 2000), is a commonly used program in ecological studies, it is a robust technique, fairly impermeable to sampling errors or noise (Grant and Loneragan, 2001).

Para mayor información se recomienda la lectura del artículo https://scialert.net/fulltextmobile/?doi=pjbs.2008.752.757

Instalación de Twinspan

Para emplear Twinspan es necesario ejecutar las siguientes instrucciones

Bibliotecas necesarias

Instalar las bibliotecas “devtools”, “ps” y “vegan”. Enseguida invocar las bibliotecas con la función

library(devtools)
library(ps)
library(vegan)

Instalacion de “twinspanR”

El paquete devtools será la herramienta que permitirá la instalación de Twinspan, mediante la función:

Revisar que todos los paquetes esten correctamente instalados, de ser necesario reinstalar los paquetes que muestren error.

Invocar bibliotecas instaladas

Verificar que todas las bibliotecas se encuentren invocadas, mediante la función “library()”

library(ps)
library(vegan)
library (twinspanR)

Datos a utilizar

Importe la lista de data.frames contenidos en el objeto tipo lista “danube”, ubicado dentro del paquete Twinspan

data (danube)

El objeto danube contiene 3 datasets (tablas de datos) que tienen información de las especies a estudiar. Cada uno de los datasets se exporta a un archivo de extensión CSV, cuyo contenido es visible con la función:

write.csv(danube$spe, file = "spe.csv") #Datos a utilizar para el DCA
write.csv(danube$env, file = "env.csv")
write.csv(danube$ell, file = "ell.csv")

Los archivos serán creados en el directorio de trabajo, visible con la función “getwd()”

En este script solamente se utilizará el dataframe “spe” que incluye 25 parcelas de 100 m² y se detalla el área de cobertura de cada una de las especies encontradas.

Utilizando Twinspan

Para comenzar a trabajar con twinspan es necesario utilizar la técnica estadística Detrended Correspondence Analysis (DCA) o Análisis Segmentado de Correspondencia, una técnica multivariada usada ampliamente por ecologistas para encontrar los principales factores que tipifican datos de comunidades ecológicas.

Lo primero es utilizar la función “twinspan()” que crea una lista con 3 dataframes y 2 vectores con datos necesarios para el análisis. El parámetro “clusters” permite seleccionar el número de grupos que incluirá el análisis

res <- twinspan(danube$spe, modif = F, cut.levels = c(0, 2, 5, 10, 20),
  min.group.size = 5, levels = 6, clusters = 4, diss = "bray",
  min.diss = NULL, mean.median = "mean", show.output.on.console = FALSE,
  quiet = TRUE)

Para entender el funcionamiento de Twinspan se exporta los datos del objeto “res”, con la función write.csv, la lista de mayor interés es “res$twi”, que incluye todas las salidas de datos de Twinspan. Para saber más sobre la salida de Twinspan hacer click aquí.

write.csv(res$classif, file = "classif.csv")
write.csv(res$spnames, file = "spnames.csv")
write.csv(res$modif, file = "modif.csv")#
write.csv(res$twi, file = "salidatwin.csv")

Lo segundo es utilizar la función “cut()” que divide el rango de la variable en intervalos y codifica los valores en x, según el intervalo en que se ubican, es decir, convierte una variable numerica a factor.

k <- cut (res)
k
##  [1] 8 7 7 8 4 3 3 3 9 9 2 6 4 3 8 6 2 5 1 6 2 4 4 7 2

Por último es necesario llevar a cabo el DCA a través de la función “decorana()”, que realiza, adicional al DCA, un Basic Reciprocal Averaging o Promedio Recíproco Básico.

dca <- decorana (danube$spe) #Análisis DCA

El nuevo objeto “dca” contiene una lista de 17 objetos, con 4 de ellos catalogados como dataframes y 13 vectores que contienen datos resultantes de la función “decorana()”.

El objeto “dca” permitirá realizar la gráfica de ordenación en 2 ejes como se observa a continuación.

par (mfrow = c(1,2)) #Dividir el área de gráficos en 2 cuadrantes
ordiplot (dca, type = 'n', display = 'si', main = 'Modified TWINSPAN') #La función "ordiplot ()" genera el gráfico donde se incluirán más adelante los puntos de DCA
points (dca, col = k) #Agregar los puntos de DCA a los cuadrantes con colores en función del vector K (grupos)
for (i in c(2,3,4,6,7,8)) ordihull (dca, groups = k, show.group = i, col = i,
draw = 'polygon', label = TRUE) #La función "for()" es un bucle que utiliza el vector "i" como variable índice que tomará valores 2, 3, 4, 6, 7 y 8 que equivalen a los grupos de especies/sitios durante 6 ciclos respectivamente, esto permite delimitar los grupos en el gráfico ordihull.
ordiplot (dca, type = 'n', display = 'si', main = 'Original assignment\n (Ellenberg 1954)')
points (dca, col = danube$env$veg.type)
for (i in c(1,2,3)) ordihull (dca, groups = danube$env$veg.type,
show.group = unique (danube$env$veg.type)[i], col = i,
draw = 'polygon', label = TRUE)

Salida de Twinspan

Regresar a la página principal de Scripts