Tony,
Not judging whether its a good idea in your case or not, here is some code that I used for a 2 species occupancy model to run a specific set of all combinations based on a set of parameter specific models (not individual parameters) in RMark. The trick is to number each of your models xxxx.1, xxxx.2, etc., then create.model.list() will build all the relationships at the model level.
Bret
- Code: Select all
gwbv.fun=function()
{
#Process GCWA dataset for analysis
x=process.data(x, model="2SpecConOccup")
x.ddl=make.design.data(x)
###############
#Model Parameter Definitions
#PsiA Probability of occupancy for species A
#PsiBA Probability of occupancy for species B, given species A is present
#PsiBa Probability of occupancy for species B, given species A is absent
#pA Probability of detection for species A, given species B is absent
#pB Probability of detection for species B, given species A is absent
#rA Probability of detection for species A, given both species are present
#rBA Probability of detection for species B, given both species are present and species A is detected
#rBa Probability of detection for species B, given both species are present and species A is not detected
###############
#Occupancy-PsiA, PsiBA, PsiBa
PsiA.1=list(PsiA=list(formula=~chm + ccm), PsiBA=list(formula=~chm), PsiBa=list(formula=~chm))
PsiA.2=list(PsiA=list(formula=~chm*ccm), PsiBA=list(formula=~chm + ccm), PsiBa=list(formula=~chm + ccm))
PsiA.3=list(PsiA=list(formula=~chm + ccm), PsiBA=list(formula=~chm + ccm), PsiBa=list(formula=~chm))
PsiA.4=list(PsiA=list(formula=~chm*ccm), PsiBA=list(formula=~chm*ccm), PsiBa=list(formula=~chm))
PsiA.5=list(PsiA=list(formula=~chm + ccm), PsiBA=list(formula=~chm + chsd), PsiBa=list(formula=~chm + chsd))
#Detection-pA, pB
pA.1=list(pA=list(formula=~GWSD), pB=list(formula=~1))
pA.2=list(pA=list(formula=~1), pB=list(formula=~BVSD))
pA.3=list(pA=list(formula=~GWSD), pB=list(formula=~BVSD))
#Detection-rA, rBA, rBa
#rA
rA.1=list(formula=~GWSD + chm + ccm)
rA.2=list(formula=~GWSD + chm)
#rBA
rBA.1=list(formula=~BVSD + chm * ccm)
rBA.2=list(formula=~BVSD + chm + ccm)
rBA.3=list(formula=~BVSD + chm)
rBA.4=list(formula=~BVSD + LSH + SCL)
#rBa
rBa.1=list(formula=~BVSD + chm)
rBa.2=list(formula=~BVSD + chm*ccm)
rBa.3=list(formula=~BVSD + chm + chsd)
#Candidate Model Set
my.models=create.model.list("2SpecConOccup")
my.results=mark.wrapper(my.models, data=x, ddl=x.ddl)
#Create model list
return(my.results)
}
my.results=gwbv.fun()