Del ejercicio pasado, tenemos que importar el set de datos y volver a darle coordenadas
datosTodo = read.csv("tricahue.csv") |>
st_as_sf(coords = c("lon", "lat"), crs= "epsg:4326") |>
filter(year > 2000) |>
dplyr::select(scientificName,locality,year) |>
distinct()
datosNorte = read.csv("tricahueNorte.csv") |>
st_as_sf(coords = c("lon", "lat"), crs= "epsg:4326") |>
filter(year > 2000) |>
dplyr::select(scientificName,locality,year) |>
distinct()
datosSur = read.csv("tricahueSur.csv") |>
st_as_sf(coords = c("lon", "lat"), crs= "epsg:4326") |>
filter(year > 2000) |>
dplyr::select(scientificName,locality,year) |>
distinct()
Vamos a buscar cuáles son las condiciones climáticas en que están estos registros para generar asi, una definición (gruesa) del nicho climático para Tricahue.
Usaremos los datos de Worldclim, que se encuentran documentados aquí. Sólo usaremos las variables bioclimáticas, en este ejemplo, pero debes complementar esto con variables de precipitaciones, temperatura y radiación solar si fuera necesario.
worldclim_country()
de la librería
geodata
permite descargar directamente desde worldclim los
datos bioclimáticos por paises. Worlclim ofrece sus datos en 4
resoluciones espaciales diferentes; de 30 segundos (0,93 x 0,93 = 0,86
km2 en el ecuador) a 2,5, 5 y 10 minutos (18,6 x 18,6 = 344 km2 en el
ecuador). Los datos originales tenían una resolución de 30 segundos.
También ofrece datos climáticos de distintas proyecciones de cambio
climático futuro (CMIP5) del modelo ‘AC’ para el año 2070, por
ejemplo.#TODOS LOS DATOS
Bioclim <- worldclim_country(c("Chile","Argentina"),
var=c("bio"), res=0.5, path=getwd()) #|>
#terra::crop(st_transform(datosTodo,'EPSG:4326')) # reproyectamos 'al vuelo', pues bioclim viene en epsg:4326
names(Bioclim) <- sapply(strsplit(names(Bioclim), split='30s_', fixed=TRUE), function(x) (x[2])) # renombra columnas
names(Bioclim) <- sapply(gsub('_','',names(Bioclim)), function(x) (x))
plot(Bioclim)
Si quieres ver una sola capa y un poco mas grande
capa = 'bio10'
plot(Bioclim[[capa]],main=capa)
Para extraer los datos bioclimáticos en las coordenadas geográficas, debemos consultar los pixeles de los rasters bioclimáticos donde existen ocurrencias en nuestra bas de datos.
La función a usar está en la librería raster
y se llama
extract()
.
Con eso generamos una tabla con las variables climáticas en cada una de las coordenadas en que tenemos registros.
#Con todos los datos
ClimaTodo <- terra::extract(Bioclim, st_transform(datosTodo,'EPSG:4326'))
ClimaTodo <- ClimaTodo[,-1]
#Con los datos del norte
ClimaNorte <- terra::extract(Bioclim, st_transform(datosNorte,'EPSG:4326'))
ClimaNorte <- ClimaNorte[,-1]
#Con los datos del Sur
ClimaSur <- terra::extract(Bioclim, st_transform(datosSur,'EPSG:4326'))
ClimaSur <- ClimaSur[,-1]
Vemos la tabla con los datos bioclimáticos para cada registro. (filas = primero 15 registros)
bio1 | bio2 | bio3 | bio4 | bio5 | bio6 | bio7 | bio8 | bio9 | bio10 | bio11 | bio12 | bio13 | bio14 | bio15 | bio16 | bio17 | bio18 | bio19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10.145833 | 13.791667 | 49.96981 | 515.1587 | 26.1 | -1.5 | 27.6 | 4.666667 | 16.63333 | 16.63333 | 3.866667 | 839 | 180 | 12 | 86.68415 | 477 | 42 | 42 | 453 |
12.625000 | 12.883333 | 48.98606 | 490.2202 | 28.0 | 1.7 | 26.3 | 7.416666 | 18.88333 | 18.88333 | 6.716667 | 917 | 196 | 12 | 87.47552 | 523 | 41 | 41 | 487 |
15.454166 | 12.941667 | 49.58493 | 478.5464 | 30.3 | 4.2 | 26.1 | 10.300000 | 20.88333 | 21.35000 | 9.666667 | 717 | 180 | 3 | 101.38228 | 453 | 15 | 20 | 428 |
14.825000 | 9.033334 | 54.74748 | 282.3561 | 23.3 | 6.8 | 16.5 | 11.466667 | 17.51667 | 18.41667 | 11.466667 | 61 | 19 | 0 | 112.24976 | 47 | 0 | 0 | 47 |
17.183332 | 12.550000 | 48.26923 | 492.0474 | 31.9 | 5.9 | 26.0 | 11.750000 | 22.73333 | 23.20000 | 11.216666 | 648 | 172 | 1 | 111.24863 | 445 | 8 | 11 | 397 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.983334 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
7.729166 | 12.025001 | 50.10417 | 448.3579 | 21.5 | -2.5 | 24.0 | 2.316667 | 13.40000 | 13.40000 | 2.316667 | 971 | 213 | 11 | 93.93735 | 569 | 39 | 39 | 569 |
12.683333 | 13.533334 | 51.45754 | 475.7403 | 27.5 | 1.2 | 26.3 | 7.600000 | 18.06667 | 18.56667 | 6.883333 | 747 | 173 | 4 | 97.46371 | 463 | 19 | 23 | 432 |
14.708333 | 11.033334 | 57.46528 | 313.9110 | 24.6 | 5.4 | 19.2 | 10.933333 | 18.65000 | 18.65000 | 10.933333 | 79 | 28 | 0 | 116.93127 | 60 | 0 | 0 | 60 |
13.729167 | 11.525000 | 58.50254 | 310.6917 | 23.9 | 4.2 | 19.7 | 10.000000 | 16.88333 | 17.61667 | 10.000000 | 52 | 16 | 0 | 109.42775 | 38 | 0 | 0 | 38 |
bio1 | bio2 | bio3 | bio4 | bio5 | bio6 | bio7 | bio8 | bio9 | bio10 | bio11 | bio12 | bio13 | bio14 | bio15 | bio16 | bio17 | bio18 | bio19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
14.825000 | 9.033334 | 54.74748 | 282.3561 | 23.3 | 6.8 | 16.5 | 11.466667 | 17.51667 | 18.41667 | 11.466667 | 61 | 19 | 0 | 112.24976 | 47 | 0 | 0 | 47 |
14.708333 | 11.033334 | 57.46528 | 313.9110 | 24.6 | 5.4 | 19.2 | 10.933333 | 18.65000 | 18.65000 | 10.933333 | 79 | 28 | 0 | 116.93127 | 60 | 0 | 0 | 60 |
13.729167 | 11.525000 | 58.50254 | 310.6917 | 23.9 | 4.2 | 19.7 | 10.000000 | 16.88333 | 17.61667 | 10.000000 | 52 | 16 | 0 | 109.42775 | 38 | 0 | 0 | 38 |
14.804167 | 10.974999 | 56.86528 | 315.9579 | 24.7 | 5.4 | 19.3 | 11.000000 | 18.76667 | 18.76667 | 11.000000 | 77 | 26 | 0 | 113.75033 | 58 | 0 | 0 | 58 |
13.550000 | 12.000000 | 62.17617 | 280.8348 | 23.6 | 4.3 | 19.3 | 10.216667 | 16.90000 | 17.13333 | 10.216667 | 19 | 6 | 0 | 84.90230 | 15 | 0 | 0 | 15 |
11.854167 | 11.475000 | 62.36413 | 267.9252 | 21.4 | 3.0 | 18.4 | 8.716667 | 15.06667 | 15.30000 | 8.716667 | 36 | 13 | 0 | 106.60036 | 28 | 0 | 0 | 28 |
9.820833 | 11.825000 | 57.96569 | 336.9209 | 20.3 | -0.1 | 20.4 | 5.750000 | 11.55000 | 14.05000 | 5.750000 | 89 | 28 | 1 | 102.26337 | 60 | 5 | 5 | 60 |
13.333333 | 10.450000 | 59.03955 | 275.4363 | 22.5 | 4.8 | 17.7 | 10.083333 | 16.61667 | 16.85000 | 10.083333 | 48 | 15 | 0 | 106.51505 | 36 | 0 | 0 | 36 |
13.229167 | 11.941667 | 62.85088 | 267.3052 | 23.1 | 4.1 | 19.0 | 10.083333 | 16.48333 | 16.65000 | 10.083333 | 26 | 8 | 0 | 87.09186 | 19 | 0 | 0 | 19 |
14.841666 | 11.000000 | 57.29166 | 314.1716 | 24.7 | 5.5 | 19.2 | 11.083333 | 18.80000 | 18.80000 | 11.083333 | 78 | 27 | 0 | 115.33000 | 59 | 0 | 0 | 59 |
14.837500 | 10.958333 | 57.07465 | 313.9204 | 24.7 | 5.5 | 19.2 | 11.083333 | 18.80000 | 18.80000 | 11.083333 | 77 | 26 | 0 | 113.75033 | 58 | 0 | 0 | 58 |
13.045834 | 11.791667 | 60.47009 | 293.6096 | 23.2 | 3.7 | 19.5 | 9.566667 | 16.46667 | 16.76667 | 9.566667 | 51 | 18 | 0 | 113.74330 | 39 | 0 | 0 | 39 |
14.916667 | 9.266666 | 54.19103 | 291.9553 | 23.7 | 6.6 | 17.1 | 11.450000 | 18.63333 | 18.63333 | 11.450000 | 78 | 27 | 0 | 118.23620 | 60 | 0 | 0 | 60 |
15.345834 | 10.075000 | 54.75544 | 310.2892 | 24.9 | 6.5 | 18.4 | 11.683333 | 19.06667 | 19.28333 | 11.683333 | 121 | 44 | 0 | 124.86967 | 91 | 0 | 0 | 91 |
15.420834 | 10.108334 | 54.63964 | 313.0020 | 25.0 | 6.5 | 18.5 | 11.733334 | 19.16667 | 19.40000 | 11.733334 | 116 | 42 | 0 | 123.75086 | 87 | 0 | 0 | 87 |
bio1 | bio2 | bio3 | bio4 | bio5 | bio6 | bio7 | bio8 | bio9 | bio10 | bio11 | bio12 | bio13 | bio14 | bio15 | bio16 | bio17 | bio18 | bio19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10.145833 | 13.79167 | 49.96981 | 515.1587 | 26.1 | -1.5 | 27.6 | 4.666667 | 16.63333 | 16.63333 | 3.866667 | 839 | 180 | 12 | 86.68415 | 477 | 42 | 42 | 453 |
12.625000 | 12.88333 | 48.98606 | 490.2202 | 28.0 | 1.7 | 26.3 | 7.416666 | 18.88333 | 18.88333 | 6.716667 | 917 | 196 | 12 | 87.47552 | 523 | 41 | 41 | 487 |
15.454166 | 12.94167 | 49.58493 | 478.5464 | 30.3 | 4.2 | 26.1 | 10.300000 | 20.88333 | 21.35000 | 9.666667 | 717 | 180 | 3 | 101.38228 | 453 | 15 | 20 | 428 |
17.183332 | 12.55000 | 48.26923 | 492.0474 | 31.9 | 5.9 | 26.0 | 11.750000 | 22.73333 | 23.20000 | 11.216666 | 648 | 172 | 1 | 111.24863 | 445 | 8 | 11 | 397 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
12.883333 | 12.98333 | 49.74457 | 478.1800 | 28.2 | 2.1 | 26.1 | 7.800000 | 19.01667 | 19.01667 | 7.150000 | 927 | 205 | 10 | 90.69820 | 541 | 35 | 35 | 500 |
7.729166 | 12.02500 | 50.10417 | 448.3579 | 21.5 | -2.5 | 24.0 | 2.316667 | 13.40000 | 13.40000 | 2.316667 | 971 | 213 | 11 | 93.93735 | 569 | 39 | 39 | 569 |
12.683333 | 13.53333 | 51.45754 | 475.7403 | 27.5 | 1.2 | 26.3 | 7.600000 | 18.06667 | 18.56667 | 6.883333 | 747 | 173 | 4 | 97.46371 | 463 | 19 | 23 | 432 |
15.204166 | 12.94167 | 49.96783 | 474.6121 | 29.8 | 3.9 | 25.9 | 10.066667 | 20.53333 | 21.05000 | 9.450000 | 680 | 165 | 3 | 100.25771 | 424 | 15 | 18 | 405 |
12.283334 | 13.20000 | 49.25373 | 496.7134 | 27.9 | 1.1 | 26.8 | 7.000000 | 18.61667 | 18.61667 | 6.283333 | 925 | 198 | 12 | 87.41022 | 528 | 42 | 42 | 493 |
12.625000 | 12.88333 | 48.98606 | 490.2202 | 28.0 | 1.7 | 26.3 | 7.416666 | 18.88333 | 18.88333 | 6.716667 | 917 | 196 | 12 | 87.47552 | 523 | 41 | 41 | 487 |
Ahora, a qué corresponde bio1, bio2, etc…??
Veamos, por una parte, qué son estas variables:
Por otra parte, la inspección de la tabla muestra que sólo tiene los valores bioclimáticos. Necesitamos, ciertamente, asociar los registros y probablemente otros datos climáticos como temperatura, precipitaciones, radiación, por ejemplo.
Pero miremos primero cómo se relacionan los valores bioclimáticos recuperados para GBIF tiene registros de C. patagonus en Chile.
Sabemos que las variables bioclimáticas son variables derivadas de la variables de clima. Por lo tanto, han de tener fuertes correlaciones entre ellas. La pregunta es cuales elegir y minimizar asi, esta correlación espuria que sólo incrementará el ajuste del modelo de forma artificial.
A continuación se describen las 19 variables bioclimáticas: - bio1 = Temperatura media anual - bio2 = amplitud diurna media (media de la temperatura máxima y mínima) - bio3 = Isotermia (bio2/bio7) (* 100) - bio4 = Estacionalidad de la temperatura (desviación típica *100) - bio5 = Temperatura máxima del mes más cálido - bio6 = Temperatura mínima del mes más frío - bio7 = Rango anual de temperaturas (bio5-bio6) - bio8 = Temperatura media del trimestre más húmedo - bio9 = Temperatura media del trimestre más seco - bio10 = Temperatura media del trimestre más cálido - bio11 = Temperatura media del trimestre más frío - bio12 = Precipitación total (anual) - bio13 = Precipitación del mes más húmedo - bio14 = Precipitación del mes más seco - bio15 = Estacionalidad de las precipitaciones (coeficiente de variación) - bio16 = Precipitación del trimestre más húmedo - bio17 = Precipitaciones del trimestre más seco - bio18 = Precipitaciones del trimestre más cálido - bio19 = Precipitaciones del trimestre más frío
Buscamos comprender cuáles variables bioclimáticas son significativamente relevantes para describir, y predecir, la distribución de la especies. Esto significa que debemos poder tener una variables que representan, en realidad, un mismo aspecto del clima a la hora de generar una predicción.
Veamos la correlación entre la variables bioclimáticas donde hay
C. patagonus. Fíjense que se han agrupados las filas y columnas
con correlaciones similares para facilitar la interpretación. Eso puede
hacerse con la librería ggcorrplot
y su parámetro
hc.order
.
# install.packages("ggcorrplot")
# library(ggcorrplot)
p_load(ggcorrplot)
#Con todos los datos
corr <- cor(ClimaTodo[,-1],use = "pairwise") # ojo que removemos la primera columna que es el 'ID'
ggcorrplot::ggcorrplot(corr,method='square',pch=2,show.diag = FALSE,type="upper",
ggtheme = theme_minimal(),hc.order = TRUE, title = "ConClimaTodo")
#Con los datos del Norte
corr <- cor(ClimaNorte[,-1],use = "pairwise") # ojo que removemos la primera columna que es el 'ID'
ggcorrplot::ggcorrplot(corr,method='square',pch=2,show.diag = FALSE,type="upper",
ggtheme = theme_minimal(),hc.order = TRUE, title = "ConClimaNorte")
#Con los datos del Sur
corr <- cor(ClimaSur[,-1],use = "pairwise") # ojo que removemos la primera columna que es el 'ID'
ggcorrplot::ggcorrplot(corr,method='square',pch=2,show.diag = FALSE,type="upper",
ggtheme = theme_minimal(),hc.order = TRUE, title = "ConClimaSur")
#escoger los que presenten una correlacion mas baja entre siiii (se ven en blanquitoo)
Seleccionamos entonces algunas variables de Bioclim que muestren baja correlación (no negativa!).
yo veo las variables :
(son todas de temperatura?…. mmmh sus. Creo que será importante considerar directamente las variables climáticas.)
#Con Todos
Var_ambientalesT <- ClimaTodo|>
dplyr::select(bio1,bio5,bio9,bio10)
#Con lo del Norte
Var_ambientalesS <- ClimaNorte|>
dplyr::select(bio14,bio3,bio7,bio2,bio15)
#Con lo del Sur
Var_ambientalesN <- ClimaSur|>
dplyr::select(bio4,bio7,bio6,bio15,bio8)
# borramos para aliviar la memoria del compu!
rm(Clima)
## Warning in rm(Clima): objeto 'Clima' no encontrado
rm(ClimaTodo)
rm(ClimaNorte)
rm(ClimaSur)
Necesitamos guardar algunos de los objetos creados para usarlos en otra sesion.
Bioclim
contiene un raster con las variables de
bioclimdatos
las ocurrenciascorr
es la matriz de correlacion entre variables
bioclimaticasVar_ambientales
los valores de variables bioclimaticas
con baja correlación el los sitios de ocurrencia# escribir un raster al disco como .tif
writeRaster(Bioclim, "Bioclim_raster.tif", overwrite=TRUE)
##
|---------|---------|---------|---------|
=========================================
# ocurrencias
write_sf(datosTodo, "tricahue.gpkg")
write_sf(datosNorte, "tricahueNorte.gpkg")
write_sf(datosSur, "tricahueSur.gpkg")
# Var ambientales
write.csv(Var_ambientalesT,"Var_ambientalesTODO.csv")
write.csv(Var_ambientalesS,"Var_ambientalesSUR.csv")
write.csv(Var_ambientalesN,"Var_ambientalesNORTE.csv")
En esta sesion perparamos los datos para el análisis de nicho climático