library(dismo) library(rJava) library(sp) # data prepare # set working directory that including environmental variables setwd(choose.dir()) rasters<-list.files(pattern=".asc") stackrasters <- stack(rasters) # use extent() and crop() functions to get target area ext<-extent(105,130,15,42) china <- crop(stackrasters,ext) #load longitude and latitude data xy <- read.csv(file.choose(), header = 1) #Metasyhis gotoi occurrence data newsp <- read.csv(file.choose(), header = 1) #M. varicollaris sp. n.occurrence data # Keep 20% of the data points as test datasets occ <- xy fold <- kfold(occ, k=5) occtest <- occ[fold == 1, ] occtrain <- occ[fold != 1, ] # MAXENT model fitting me <- maxent(x=china, p=occtrain) me # predict to entire dataset Pre <- predict(me, china) plot(Pre) plot(Pre, xaxt = "n", yaxt="n", ylim=c(15, 41)) points(occ, pch=3, col="red", cex=0.7) points(newsp, pch=4, col="blue", cex=0.7) map(resolution =0, fill = T, col = 8, border=NA, add=T) degAxis(side=1) degAxis(side=2) legend("topleft", legend = c("Metasychis gotoi","Metasychis varicollaris sp. n."),pch = c(3,4), bty="n", text.font=3, text.col="black", col=c("red","blue"), cex=1.0) # background data bg <- randomPoints(china, 1000) # model evaluating e1 <- evaluate(me, p=occtest, a=bg, x=china) e1 # plot AUC plot(e1, "ROC")