This is my first analysis in RMARK, or any mark-recapture analysis for that matter, and I would like to consult with someone here to help me understand how to construct and choose my best model.
I am interested in finding reach-specific survival for juvenile chinook released from a hatchery to the mouth of the river. I am working with three group variables, "Tagger," "Release Group," and "Release Time," and two individual covariates, "Weight" and "Length."
For my CJS model construction, I chose to use the "nuisance" approach, which I didn't realize was a dangerous way to go about model construction. However, I have kept all model formulas I considered while using the "nuisance" approach and then used the mark.wrapper function to test all combinations, so question number one: is that a sensible way to go about model construction? Considering White et al. 2012 suggested an "all combination" approach.
Here is what it looks like:
- Code: Select all
Survival_analysis_aggedCOL=function()
{
#Isolate Phi and try all combination for p
Phi.constant= list(formula=~1)
p.constant= list(formula=~1)
p.time=list(formula=~time)
p.Stock=list(formula=~Stock)
p.Weight=list(formula=~Weight)
p.Length=list(formula=~Length)
p.releasegroup= list(formula =~ReleaseGroup)
p.time.plus.Stock= list(formula=~time+Stock)
p.Tagger.plus.time=list(formula=~Tagger+time)
p.Weight.plus.time=list(formula=~Weight+time)
p.Length.plus.time=list(formula=~Length+time)
p.ReleaseGroup.plus.time=list(formula=~ReleaseGroup+time)
p.Stock.x.time=list(formula=~Stock*time)
p.Stock.x.Tagger=list(formula=~Stock*Tagger)
p.Stock.x.Weight=list(formula=~Stock*Weight)
p.Stock.x.Length=list(formula=~Stock*Length)
p.Stock.x.ReleaseGroup=list(formula=~Stock*ReleaseGroup)
p.Tagger.x.time=list(formula=~Tagger*time)
p.Tagger.x.Weight=list(formula=~Tagger*Weight)
p.Tagger.x.Length=list(formula=~Tagger*Length)
p.Tagger.x.ReleaseGroup=list(formula=~Tagger*ReleaseGroup)
p.Weight.x.time=list(formula=~Weight*time)
p.Weight.x.Length=list(formula=~Weight*Length)
p.Weight.x.ReleaseGroup=list(formula=~Weight*ReleaseGroup)
p.Length.x.time=list(formula=~Length*time)
p.Length.x.ReleaseGroup=list(formula=~Length*ReleaseGroup)
p.ReleaseGroup.x.time=list(formula=~ReleaseGroup*time)
# Try all combinations for Phi to find overall lowest model for Phi and P
Phi.Stock=list(formula=~Stock)
Phi.Tagger=list(formula=~Tagger)
Phi.Weight=list(formula=~Weight)
Phi.Length=list(formula=~Length)
Phi.ReleaseGroup=list(formula=~ReleaseGroup)
Phi.time=list(formula=~time)
Phi.Stock.plus.time=list(formula=~Stock+time)
Phi.Stock.plus.Tagger=list(formula=~Stock+Tagger)
Phi.Stock.plus.Weight=list(formula=~Stock+Weight)
Phi.Stock.plus.Length=list(formula=~Stock+Length)
Phi.Stock.plus.ReleaseGroup=list(formula=~Stock+ReleaseGroup)
Phi.Tagger.plus.time=list(formula=~Tagger+time)
Phi.Tagger.plus.Weight=list(formula=~Tagger+Weight)
Phi.Tagger.plus.Length=list(formula=~Tagger+Length)
Phi.Tagger.plus.ReleaseGroup=list(formula=~Tagger+ReleaseGroup)
Phi.Weight.plus.time=list(formula=~Weight+time)
Phi.Weight.plus.Length=list(formula=~Weight+Length)
Phi.Weight.plus.ReleaseGroup=list(formula=~Weight+ReleaseGroup)
Phi.Length.plus.time=list(formula=~Length+time)
Phi.Length.plus.ReleaseGroup=list(formula=~Length+ReleaseGroup)
Phi.ReleaseGroup.plus.time=list(formula=~ReleaseGroup+time)
Phi.Stock.x.time=list(formula=~Stock*time)
Phi.Stock.x.Tagger=list(formula=~Stock*Tagger)
Phi.Stock.x.Weight=list(formula=~Stock*Weight)
Phi.Stock.x.Length=list(formula=~Stock*Length)
Phi.Stock.x.ReleaseGroup=list(formula=~Stock*ReleaseGroup)
Phi.Tagger.x.time=list(formula=~Tagger*time)
Phi.Tagger.x.Weight=list(formula=~Tagger*Weight)
Phi.Tagger.x.Length=list(formula=~Tagger*Length)
Phi.Tagger.x.ReleaseGroup=list(formula=~Tagger*ReleaseGroup)
Phi.Weight.x.time=list(formula=~Weight*time)
Phi.Weight.x.Length=list(formula=~Weight*Length)
Phi.Weight.x.ReleaseGroup=list(formula=~Weight*ReleaseGroup)
Phi.Length.x.time=list(formula=~Length*time)
Phi.Length.x.ReleaseGroup=list(formula=~Length*ReleaseGroup)
Phi.ReleaseGroup.x.time=list(formula=~ReleaseGroup*time)
cml=create.model.list("CJS")
mark.wrapper(cml,data=detections_processed_aggedCOL,ddl=detections_ddl_aggedCOL, output =FALSE)
}
Secondly, I have several models within one AIC value. How should I go about interpreting these neighborhood models? I understand model averaging is one way to assess these top models, but I have been stumped on implementing model.average because of difficulties with creating additional design data using find/fill. covariates. In any case, are there statistics I can consider from the model.table and results that can point me to the best model? Any help would be much appreciated! Thank you for your time
