R-code #“Effect of nest age, time and habitat variables on daily survival rate of Marsh Harrier” library(ggplot2) library(gridExtra) library(RMark) #data NS<-as.data.frame(File_1) str(NS) #data processing ns.pr <- process.data(NS, nocc = 84, model = "Nest") ns.ddl <- make.design.data(ns.pr) #candidate model set run.ns <- function() { S.Dot = list(formula = ~ 1) S.NW= list(formula = ~NestAge+Water) S.ND= list(foemula = ~NestAge+Water+FateNN) S.W = list(formula = ~ Water) S.Diam = list(formula = ~ Diameter) S.H = list(formula = ~ Height) S.Dens = list(formula = ~ Density) S.DtoW = list(formula = ~ Distow) S.DtoDy = list(formula = ~ Distdyke) S.N = list(formula = ~ FateNN) S.TW= list(formula = ~Diameter+Water) S.ADW= list(formula = ~ NestAge+Diameter+Water+FateNN) S.ADWY= list(formula = ~ NestAge+Diameter+Water) S.AY =list(formula = ~ NestAge) S.AWDO =list(formula = ~ NestAge+Water+Distow) ns.model.list = create.model.list("Nest") ns.results = mark.wrapper(ns.model.list, data = ns.pr, ddl = ns.ddl, adjust = FALSE) } #results of candidate model set #all results ns.results <- run.ns() show(ns.results) names(ns.results) #results of top models top1<-ns.results$S.ADW top1$results$beta #result of constant model DSR DSRconstans<-ns.results$S.Dot DSRconstans$results$real #NEST AGE effect on DSR # prediction data.frame based on ranges for variables in top model # range of NestAge values with Diameter & Water at mean values pred.dat.time1 <-expand.grid(NestAge = 0:70, Diameter = mean(ns.pr$data$Diameter), Water = mean(ns.pr$data$Water)) pr.time1 <- predict_real(top1, pred.dat.time1, "S") head(pr.time1) pr.time1 #plot results p1<-ggplot(pr.time1, aes(x = NestAge, y = real)) + geom_line(color="darkslategray", size = 1.3) + geom_ribbon(aes(ymin = lcl, ymax = ucl), alpha = 0.3, fill="gray51") + ylab("DSR") + xlab("Nest age (days)")+ theme_bw()+ theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+ theme(axis.text.y = element_text(size=15))+theme(axis.title.y = element_text(size=15))+ theme(axis.text.x = element_text(size=15))+theme(axis.title.x = element_text(size=15))+ theme(axis.line = element_line(size = 0.4)) p1 #DIAMETER effect on DSR #prediction data.frame based on ranges for variables in top model # range of Diameter values with Time = 40 & Water at mean value fc <- find.covariates(top1, NS) fc$value[fc$var == "Diameter"] <- seq(min(ns.pr$data$Diameter), max(ns.pr$data$Diameter), length = 83) # fill design matrix with values design <- fill.covariates(top1, fc) # the design matrix has 1's in 1st column (intercept) # column 2 = Time variable (0:82) # column 3 = Diameter # column 4 = Water View(design) # overwrite Time variable with 40 (middle value) design[ , 2] = 35 DSR.diam <- compute.real(top1, design = design) head(DSR.diam) # insert covariate columns DSR.diam <- cbind(design[ , c(2:4)], DSR.diam) # provide column names colnames(DSR.diam) <- c("NestAge", "Diameter", "Water", "DSR", "seDSR", "lclDSR", "uclDSR") head(DSR.diam) DSR.diam #plot results p2<-ggplot(DSR.diam, aes(x = Diameter, y = DSR)) + geom_line(color="darkslategray", size = 1.3) + geom_ribbon(aes(ymin = lclDSR, ymax = uclDSR), alpha = 0.3, fill="gray51") + ylab("DSR") + xlab("Mean diameter of vegetation (cm)")+ theme_bw()+ theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+ theme(axis.text.y = element_text(size=15))+theme(axis.title.y = element_text(size=15))+ theme(axis.text.x = element_text(size=15))+theme(axis.title.x = element_text(size=15))+ theme(axis.line = element_line(size = 0.4)) #WATER effect on DSR # make a prediction data.frame based on ranges for variables in top model # First, work across range of Water values with NESTAGE = 40 & Diameter at mean value fc.w <- find.covariates(top1, NS) fc.w$value[fc$var == "Water"] <- seq(min(ns.pr$data$Water), max(ns.pr$data$Water), length = 83) # fill design matrix with values design.w <- fill.covariates(top1, fc.w) # the design matrix has 1's in 1st column (intercept) # column 2 = Time variable (0:82) # column 3 = Diameter # column 4 = Water View(design.w) # overwrite nestage variable with 40 (middle value) design.w[ , 2] = 35 DSR.water <- compute.real(top1, design = design.w) head(DSR.water) # insert covariate columns DSR.water <- cbind(design.w[ , c(2:4)], DSR.water) # provide column names colnames(DSR.water) <- c("NestAge", "Diameter", "Water", "DSR", "seDSR", "lclDSR", "uclDSR") head(DSR.water) DSR.water #plot results p3<-ggplot(DSR.water, aes(x = Water, y = DSR)) + geom_line(color="darkslategray", size = 1.3) + geom_ribbon(aes(ymin = lclDSR, ymax = uclDSR), alpha = 0.3, fill="gray51") + ylab("DSR") + xlab("Water depth (cm)")+ theme_bw()+ theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+ theme(axis.text.y = element_text(size=15))+theme(axis.title.y = element_text(size=15))+ theme(axis.text.x = element_text(size=15))+theme(axis.title.x = element_text(size=15))+ theme(axis.line = element_line(size=0.3)) p3<-p3+ylim(0.97,1.00) p1<-p1+ggtitle("A")+theme(plot.title = element_text(hjust = 1,size = 20)) p2<-p2+ggtitle("B")+theme(plot.title = element_text(hjust = 1,size = 20)) p3<-p3+ggtitle("C")+theme(plot.title = element_text(hjust = 1,size = 20)) library(gridExtra) grid.arrange(p1,p2,p3)