(5/5)

# Choose two species that you think interact in some way, either as competitors, predator-prey

INSTRUCTIONS TO CANDIDATES

Choose two species that you think interact in some way, either as competitors, predator-prey,

mutualists or host-parasite. You should choose species that have locality data available on GBIF. If

your species don’t have data, pick another pair that do. Then complete the following tasks. For each

task, provide a brief legend (no more than 150 words) summarising the analysis used to generate each the plot(s) and describing what the results show.

1. Run linear models to predict the present-day distribution of species 1 using climate variables and

use them to present a map of its current distribution. Which set of climatic variables best explain the

current distribution of the species?

2. Run linear models to predict the present-day distribution of species 2 using climate variables and

use them to present maps of its current distribution. Which set of climatic variables best explain the

current distribution of the species?

3. Plot the overlap in distribution of the two species. Devise and calculate a metric for the degree of

overlap between their ranges, explaining how you calculated it.

4. Use a linear model to test whether the distribution of species 1 at the present time depends on the distribution of species 2, while also taking account of the effects of climatic variables.

5. Predict the future distribution of each species using CMIP6 data for future climate and predict how  the degree of overlap in ranges change will change in that time. Do you expect the two species to co-occur more often or less often than at the present?

MY CODE SO FAR (for task 1, 2 and beginning of 3)

#choose two interacting species

#Pyrrhura molinae - parakeet

#fig tree - Ficus calyptroceras

#run the packages needed

library('dismo')

library('rworldmap')

library('sf')

library('geodata')

library('ggplot2')

library('rmarkdown')

wrld_simpl<-getMap(resolution = "coarse")

plot(wrld_simpl)

#linear model to predict present day distribution of species 1

#using climate variables

#use them to present a map of its current distribution

bird <- gbif("pyrrhura", "molinae", geo=TRUE)

bird.coords<-cbind(bird\$lon,bird\$lat)

bird.coords<-na.omit(bird.coords)

bird.coords<-data.frame(bird.coords)

colnames(bird.coords)<-c("lon","lat")

plot(wrld_simpl, xlim=range(bird.coords\$lon), ylim=range(bird.coords\$lat), axes=TRUE, col="light blue")

points(bird.coords, col='orange', cex=0.75)

#can see the distribution for the species is mainly in South America

#we can zoom into South America to look at its distribution more closely

trim.coords<-function (x,latmin,latmax,lonmin,lonmax) {

if (sum(x\$lon < lonmin)>0) {

tmp<-which(x\$lon < lonmin)

x<-x[-tmp,]}

if (sum(x\$lon > lonmax)>0) {

tmp<-which(x\$lon > lonmax)

x<-x[-tmp,]}

if (sum(x\$lat < latmin)>0) {

tmp<-which(x\$lat < latmin)

x<-x[-tmp,]}

if (sum(x\$lat > latmax)>0) {

tmp<-which(x\$lat > latmax)

x<-x[-tmp,]}

return(x) }

bird.coords.trim<-trim.coords(bird.coords,latmin=-50,latmax=25,lonmin=-75,lonmax=-20)

plot(wrld_simpl, xlim=range(bird.coords.trim\$lon), ylim=range(bird.coords.trim\$lat), axes=TRUE, col="light blue")

points(bird.coords.trim, col='orange', cex=0.75)

#extracting climatic variables

bio.values <- extract(bio.data, bird.coords)[,-1]

bio.data<-worldclim_global(var="bio",res=10,path=getwd())

names(bio.data)<-paste0("bio",1:19)

species.data<-cbind(bird.coords,bio.values)

species.data<-na.omit(species.data)

write.csv(species.data,file="species.data.csv")

#extract mean values, min and max

rbind(mean=colMeans(species.data),

min=apply(species.data, 2, min),

max=apply(species.data, 2, max))

#use these to model current distribution

#make pseudo-absence points

#create raster

ext <- extent(wrld_simpl)

xy <- abs(apply(as.matrix(bbox(ext)), 1, diff))

n <- 5

r <- raster(ext, ncol=xy[1]*n, nrow=xy[2]*n)

#setting a plotting window with least grey space

plot(mask, axes = TRUE, col = "grey",

xlim = c(-80, -30),

ylim = c(-40,-5)); box()

points(bird.coords,col = "orange", pch = 20, cex = 1)

#set an area of extent and create background points

e <- extent(-80, -30, -40,-5)

points(bg,col="black", pch=20)

colnames(bg)<-c("lon","lat")

(5/5)

## Related Questions

##### . Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

##### . The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

##### . Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

##### . SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

##### . Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Hire Me

Hire Me