#################

# Graydon McKee/Mike Rennie
# Comparisons of mixed effects models to assess repetition in Walleye movement patterns
# 2022

##################

rm(list = ls())

#need to load the data
Migration_Repeat_Length<-read.table("Migration_Repeat_Length.csv", sep=",", header= TRUE)

#Migration2<-Migration_Repeat_Length

Migration2<-Migration_Repeat_Length[,c(2:6)]

## Rename and reshape for GLMM

colnames(Migration2)<-c("Fish","2016","2017","2018","length_m")

#bringing in lme4 so I don't have to run reshape2
library(lme4)
library(reshape2)

Migration3<-melt(Migration2,id.vars=c("Fish","length_m"))

colnames(Migration3)<-c("Fish","length_m","year","migratory")

## GLMM with migratory as binary response, individual as random variable, length as fixed variable)

Migration3$Fish<-as.numeric(Migration3$Fish)

Mig.16<-subset(Migration3,Migration3$Fish<95) #what's this doing??

####model fits by Mike, below

#Full model, with fish length as a fixed effect and fish as random
mod1<-glmer(migratory~length_m+(1|Fish), data=Migration3, family=binomial)

#reduced model, no fixed effect just random fish effect
mod2<-glmer(migratory~(1|Fish), data=Migration3, family=binomial)

#compare models to see if length is significant
anova(mod1, mod2)
#yes

#is random effect of fish important? Fit model without random effect
mod3<- glm(migratory~length_m, family=binomial, data=Migration3)
anova(mod1, mod3)
#yes

library(rptR)

rep<-rpt(migratory~length_m+(1|Fish), grname = c("Fish","Fixed"),data=Migration3, datatype = "Binary",
         nboot = 1000, npermut = 0)
print(rep)
summary(rep)
summary(rep$mod)

## GLMM with migratory as binary response, individual as random variable

rep2<-rpt(migratory~(1|Fish), grname = c("Fish"),data=Migration3, datatype = "Binary",
         nboot = 1000, npermut = 0)
print(rep2)
summary(rep2)
summary(rep2$mod)
