Está en la página 1de 5

##### NICHO ECOLOGICO DEL GUACAMAYO

## INSTALAR LOS PAQUETES NECESARIOS PARA EL ANALISIS DE NICHO ECOLOGICO


install.packages("TeachingDemos")
install.packages("dismo")
install.packages("raster")
install.packages("geodata")
install.packages("rgbif")

## PAQUETES PARA EL ANALISIS DE LA DATA


install.packages("tidyverse") #manipulacion y limpieza de datos
install.packages("sf") # sirve para crear y manipular objetos espaciales de
entidades simples como shapefile
install.packages("tmap")# sirve para hacer mapas

## PAQUETES PARA ANALIZAR RASTERS


install.packages("rgdal")
install.packages("gtools")
install.packages("rgeos")

## PARA LA CORRELACION
install.packages("corrplot")
install.packages("usdm")
install.packages("Hmisc")

### LLAMANDO LIBRERIAS

library(dplyr )
library(rgbif)
library(TeachingDemos)
library(dismo)
library(raster)
library(sp)
library(tidyverse)
library(sf)
library(tmap)
library(terra)
library(geodata)
library(rgdal)
library(gtools)
library(rgeos)
library(corrplot)
library(usdm)
library(Hmisc)
library

### CONECTAR CARPETA DE TRABAJO


setwd("D:/ECO_GUACAMAYO") # MI FOLDER

## DESCARGAMOS LA DATA DEL LA PAGINA GBIF (LINK: https://www.gbif.org/es/)


guacamayo <- gbif("Ara", "ararauna", geo = FALSE)

##GUARDAMOS EL CSV DESCARGADO DE GBIF


write.csv(guacamayo, file="guacamayo.csv")
### CONECTAR EL CSV DESCRAGDO PREVIAMENTE DE LA PAGINA GBIF (LINK:
https://www.gbif.org/es/)
guacamayo <- read.csv("guacamayo.csv")

### EXAMINAR DIMENSIONES DEL EXCEL (TABLA DE ATRIBUTOS<>ARCGIS)


class(guacamayo)
str(guacamayo) ## MOSTRAR DE FORMA COMPACTA EL EXCEL
head(guacamayo)## MUESTRA INFO DE LOS 6 PRIMERAS FILAS
dim(guacamayo)## NUMERO DE DATOS
names(guacamayo)## NOMBRES DE LAS COLUMNAS
summary(guacamayo)## DATOS ESTADISTICO

### FILTRADO DE DATOS PARA ELIMAR DATOS SIN INFORMACIÓN


guacamayo1<-subset(guacamayo,!is.na(lat)&!is.na(lon))# ESTO ELIMINA LOS DATOS SIN
COORDENADAS
guacamayo1<-subset(guacamayo1, !is.na(locality)) # ESTO ELIMINA LOS DATOS SIN
INFORMACIO DE LOCALIZACION
guacamayo1<-subset(guacamayo1, !is.na(year)) # ESTO PARA ELIMINAR LOS DATOS QUE NO
TENGAN REGISTRO DE AÑO
### CORROBORAMOS
dim(guacamayo1)

### EXTRACCION DE LA DATA SOLO DE PERU


unique(guacamayo1$country) ##VALORES DE LA COLUMNA
guacamayo1<-guacamayo1%>%dplyr::filter(country=="Peru")
dim(guacamayo1)
names(guacamayo1)

### SELECCION DE VARIABLES


guacamayo1_resultado <- guacamayo1 %>%
dplyr::select(species, lat, lon) ## SELECCION DE SOLO LAS 3 VARIABLES A TRABAJAR

## PEQUEÑA CORROBORACION DE NUESTRO FILTRADO


head(guacamayo1_resultado) # HEAD: ME MUESTRA LOS DATOS DE LAS 6 PRIMERAS FILAS
dim(guacamayo1_resultado)
guacamayo1_resultado<-distinct(guacamayo1_resultado) # ESTO PARA MANTENER SOLO
FILAS UNICAS DE NUESTRA TABLA DE DATOS
## CORROBAR
head(guacamayo1_resultado)
dim(guacamayo1_resultado)
names(guacamayo1_resultado)
write.csv(guacamayo1_resultado, file = "guacamayo_azulyamarillo.csv", row.names =
FALSE) # GUARDAR EL NUEVO EXCEL YA FILTRADO
names(guacamayo1_resultado)

#### ANALISIS PARA LA PROVINCIA DE MANU


# Análisis del nicho del guacamayo azul y amarillo

recorte <-st_read("provincias.shp")## ABRIR SHP DESDE LA CARPETA DE TRBAJO(FOLDER)


dim(recorte)
head(recorte)
names(recorte)
unique(recorte$PRONOM98) ##MONBRES DE LOS DEP
manu<- recorte[recorte$PRONOM98=="MANU",] ## RECORTAR MI AREA DE ESTUDIO
unique(recorte$PRONOM98)
plot(manu)

#GARDAR MI RECORTE EN MI CARPETA (FORMATO SHP)


st_write(manu, "MANU.shp")
manu <- st_read("MANU.shp") # LLAMAR A MI SHP RECORTADO, ESTA FUNCION PLOTEA DE
ACUERDO A LAS COLUMNAS DE LA TABLA DE ATRIBUTO
manu <- shapefile("MANU.shp") # PLOTEO EN SHP EN GENERAL
class(manu)
names(manu)
plot(manu)

### LEER STACK (PROFE)


stack_recortado<- stack("stack_recortado.tif") ## ABRIR EL STACK(RASTER)
plot(stack_recortado)
names(stack_recortado)

### CORTAR STACK HISTORICO CON SHP DE NHUESTRA AREA DE ESRUDIO PREVIEMNETE
RECORTADO EN LAS LINEAS ANTERIORES

### CORTAR STACK HISTORICO CON SHP


stack_manu<- raster::crop(stack_recortado,manu) %>%
raster::mask(manu) ##ojo bio 20 es la elevacion
plot(stack_manu)
names(stack_manu)
writeRaster(stack_manu, filename ="stack_manu_historico.tif" ) ## NO OLVIDAAAAR !!!
GUARDAR LOS PRODUCTOS

### CORTAR LOS DATOS DE LA ESPECIE CON TU AREA DE ESTUDIO (shp)


manu<- st_as_sf(manu) ## LEER COMO VECTOR NUESTRA GEOMETRIA PARA PODER REALIZAR LAS
SIGUIENTES FUNCIONES
names(manu)
names(guacamayo1_resultado)
summary(guacamayo1_resultado)
unique(guacamayo1_resultado)
guacamayo_manu<- st_as_sf(guacamayo1_resultado,coords = c("lon", "lat"), crs=
st_crs(manu)) ## pasar los puntos a geometria
plot(guacamayo1_resultado)
names(guacamayo1_resultado)
plot(guacamayo_manu)

#intersecar puntos de la especie con area de estudio con shapefile

### INTERSECTAR PUNTOS DE LA ESPECIE CON EL AREA DE ESTUDIO


guacamayo_manu_intersec <- st_intersection(guacamayo_manu, manu) ### RECORTAR LOS
PUNTOS DE LA ESPECIE CON EL AREA
st_write(guacamayo_manu, "guacamayo_manu.shp")##GUARDADO
head(guacamayo_manu_intersec)
dim(guacamayo_manu_intersec)
plot(guacamayo_manu_intersec)

### PASAR DE GEOMETRIA A TABLA


guacamayo_tabla<- as.data.frame(mutate(guacamayo_manu_intersec,
lon=st_coordinates(guacamayo_manu_intersec)[, "X"])%>%
mutate(guacamayo_manu_intersec,
lat=st_coordinates(guacamayo_manu_intersec)[, "Y"]))

guacamayo_tabla<- dplyr::select(guacamayo_tabla, species, lat, lon)


names(guacamayo_tabla)
head(guacamayo_tabla)
plot(guacamayo_tabla)

# Guardar CSV
write.csv(guacamayo_tabla, file = "guacamayo_tabla_manu1.csv")
#Leer para corroborar
guacamayo_manu.csv<- read.csv("guacamayo_tabla_manu1.csv")
names(guacamayo_manu)

### EXTRAER VALORES


guacamayo_stackOK <- raster::extract(stack_manu, guacamayo_manu)%>%
cbind(guacamayo_manu, .)%>%
as.data.frame()
names(guacamayo_stackOK)

#ELIMANDO GEOMETRIA
guacamayo_geo_stack<- dplyr::select(guacamayo_stackOK,-geometry)
str(guacamayo_geo_stack)
dim(guacamayo_geo_stack)
names(guacamayo_geo_stack)
head(guacamayo_geo_stack)

#### GENERAR MATRIX


mtx_geo<- guacamayo_geo_stack[,2:ncol(guacamayo_geo_stack)] # PONEMOS EL NUMERO 2
PORQUE AHI COMIENZA CON LAS VARIABLES
names(mtx_geo)
head(mtx_geo)

### ELIMINAR LOS VALORES "NA"


mtx_geo <- subset(mtx_geo,!is.na(stack_recortado_1) &!is.na(stack_recortado_2)
&!is.na(stack_recortado_3)&!is.na(stack_recortado_4)
&!is.na(stack_recortado_5)&!is.na(stack_recortado_6)
&!is.na(stack_recortado_7)&!is.na(stack_recortado_8)
&!is.na(stack_recortado_9)&!is.na(stack_recortado_10)
&!is.na(stack_recortado_11)&!is.na(stack_recortado_12)
&!is.na(stack_recortado_13)&!is.na(stack_recortado_14)
&!is.na(stack_recortado_15)&!is.na(stack_recortado_16)
&!is.na(stack_recortado_17)&!is.na(stack_recortado_18)
&!is.na(stack_recortado_19)&!is.na(stack_recortado_20))

### ANALISIS DE CORRELACION


m_geo <- cor(mtx_geo)
head(m_geo)

### ANALISIS DE CORRELACION


m <- cor(mtx_geo)
head(m)
#Ploteo correlacion para ver la relación de los datos

## PLOTEO DE LA CORRELACION
corrplot(m, method = 'circle')

## Detectar variables menos correlacionadas - Analisis VIF

### DETECTAR VARIABLES MENOS CORRELACIONADAS


vif.res <- vif(x=guacamayo_geo_stack[,2:ncol(guacamayo_geo_stack)]) #calculo el
valor VIF
vif.step <- vifstep(x=guacamayo_geo_stack[,2:ncol(guacamayo_geo_stack)], th=10)
#Selecciono los que son menores a 10
vrs <- vif.step@results$Variables %>%
as.character()
head(vrs)

#Tomamos las variables 3, 4, 7, 9, 15, 18

## Seleccionamos las variables

### SELECCIONAMOS LAS VARIABLES


guacamayo_stack_manu_final <- guacamayo_stackOK %>%
as_tibble %>%
dplyr::select(species,geometry,vrs)
names(guacamayo_stack_manu_final)

## Extraemos capas vers

### EXTRAEMOS CAPAS VERS


num_capas <- nlayers(stack_manu)
names(num_capas)
for (i in 1:num_capas) {
capa <- stack_manu[[i]]
nombre_archivo <- paste0("capa",i,".asc")
ruta_archivo <- file.path("D:/ECO_GUACAMAYO/ASC", nombre_archivo)
writeRaster(capa,filename = ruta_archivo,format="ascii")
}

También podría gustarte