knitr::opts_chunk$set(echo = TRUE)
Load packages
library(elevatr) library(readxl) library(ggplot2) library(ggpubr)
Load data
#load pika data pikas <- read_excel("~/1_R/git/wildlifeR_home/prep_files/pika/pikas.xlsx") #isolate 1st 2 columns, and rip out any tibble formatting pikas.LL <- data.frame(as.matrix(pikas[,c(2,1)])) #aribtrary projection - this has not be checked prj_dd <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" #get elevations elevs <- get_elev_point(pikas.LL, prj = prj_dd, src = "epqs")
#add elevs to pika data pikas2 <- data.frame(pikas,elevs) #isolate focal columns pikas2 <- pikas2[,1:6] #rename data names(pikas2) <- c("lat","long", "pika.pres","marmot.pres", "talus.area", "elev.m")
Look at data
summary(pikas2)
Creat a group variable based on whether
pikas2$group <- NA pikas2$marmot.pres <- as.character(pikas2$marmot.pres) pikas2$pika.pres <- as.character(pikas2$pika.pres) #code explicitly where there is no dat available pikas2$marmot.pres[is.na(pikas2$marmot.pres)] <- "no.data" pikas2$pika.pres[is.na(pikas2$pika.pres)] <- "no.data" #code where both species present pikas2$group[with(pikas2, which(marmot.pres == "Present" & pika.pres %in% "Present"))] <- "both.spp.present" #code marmots only pikas2$group[with(pikas2, which(marmot.pres == "Present" & pika.pres %in% c("Absent","no.data")))] <- "marmots.only" #code dual absence pikas2$group[with(pikas2, which(marmot.pres == "Absent" & pika.pres == "Absent"))] <- "both.spp.absent" #code piaks only pikas2$group[with(pikas2, which(marmot.pres %in% c("Absent","no.data") & pika.pres == "Present"))] <- "pikas.only" pikas2$group <- factor(pikas2$group) summary(pikas2$group) pikas2[is.na(pikas2$group),]
Looks like lat and long are mis-coded
pikas2$lat[which(pikas2$lat<0)] pikas2$long[which(pikas2$long<0)] pikas2$elev.m[which(pikas2$elev.m<0)] <- NA
Remove NAs
i <- which(is.na(pikas2$group) == T) pikas2 <- pikas2[-i,]
Look at talus area - these are very broad categories
summary(factor(pikas2$talus.area)) with(pikas2, table(talus.area, group))
Plot
Rename
pikas <- pikas2
pikas <- na.omit(pikas) save(pikas, file = "./data/pikas.RData") write.csv(na.omit(pikas), file = "./inst/extdata/pikas.csv")
ggboxplot(data = na.omit(pikas), x = "group", y = "elev.m")
m0 <- lm((elev.m) ~ 1, data = pikas) m1 <- lm((elev.m) ~ group, data = pikas) a1 <- aov((elev.m) ~ group, data = pikas) anova(m0,m1) TukeyHSD(a1)
summary(pikas2$talus.area)
head(pikas2) library(reshape2) pikas2$elev.m[which(pikas2$elev.m < 0)] <- NA pika3 <- melt(data = pikas2,id.vars = c("lat","long","talus.area","elev.m")) head(pika3) summary(pika3) names(pika3)[c(5,6)] <- c("spp","pres.abs") pika3$talus <- pika3$talus.area summary(pikas2$talus.area) pika3$talus <- gsub("<1000m2", "500", pika3$talus) pika3$talus <- gsub(">1 ha", "2500", pika3$talus) pika3$talus <- gsub("5 ha", "5000", pika3$talus) pika3$talus <- gsub(">5 ha", "7500", pika3$talus) library(ggplot2) library(ggpubr) pika3$elev.m.log <-log(pika3$elev.m) i <- which(pika3$pres.abs == "Present") ggboxplot(data = pika3[i,], x = "spp", y = "elev.m.log") t.test(elev.m ~ spp, data = pika3[i,])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.