Misspecification age CJS model

posts related to the RMark library, which may not be of general interest to users of 'classic' MARK

Misspecification age CJS model

Postby aptrk » Thu Oct 08, 2020 11:37 am

Hi everyone,
My name is Alejandro, I'm new to RMark and I have been recently trying to model daily survival and recapture probabilities for nightjars. So far we have captured about 150 individuals on 200 occassions separated by an uneven number of days. Recapture probabilities are low (.05 for males and lower for females). I want now to include age as a variable accounting only for two age classes (juveniles and adults). I am aware I may have few data to estimate some transitions (i.e: juvenile females to juvenile adults).However when I'm running my code I get the "model misspecification" and "large size vector" errors. I would appreciate any help that may shed light on what is wrong with the funtion below.


age.unit = 1/365

run.eanomalus =function()
{

eanomalus.processed <- process.data(eanomalus, groups = "age", time.intervals = time.intervals,
age.var = 1, age.unit = age.unit,initial.ages = c(1,0))
eanomalus.ddl=make.design.data(eanomalus.processed)

# Bin data and create 2 age classes

eanomalus.ddl <-add.design.data(data = eanomalus.processed,
ddl = eanomalus.ddl,
parameter = "Phi",
type = "age",
bins = c(0, 1, 8), right = FALSE,
name = "Age", replace = TRUE)

eanomalus.ddl <-add.design.data(data = eanomalus.processed,
ddl = eanomalus.ddl,
parameter = "p",
type = "age",
bins = c(0, 1, 8), right = FALSE,
name = "Age", replace = TRUE)

#Define ranges of models for Phi

Phi.dot=list(formula=~1)
Phi.age=list(formula=~age)

# Define range of models for p

p.dot=list(formula=~1)
p.age=list(formula=~age)


# Run assortment of models

cml=create.model.list("CJS")
results=mark.wrapper(cml,data=eanomalus.processed, ddl = eanomalus.ddl)
# Return model table and list of models

return(results )
}
aptrk
 
Posts: 1
Joined: Wed Oct 07, 2020 11:40 am

Re: Misspecification age CJS model

Postby jlaake » Tue Oct 13, 2020 4:35 pm

It is really hard to know without seeing part of your data, values of time.intervals and the error message you get. I can say that you only have one variable in groups named age, so setting age.var=2 makes no sense because it says the second variable is for age. Are your time intervals specified in days or fraction of a year? Did you look at the design data to see that it was specified correctly? Pull the following part of the code out of the function and look at the eanomalus.ddl$Phi and $p.

Code: Select all
eanomalus.processed <- process.data(eanomalus, groups = "age", time.intervals = time.intervals,
age.var = 1, age.unit = age.unit,initial.ages = c(1,0))
eanomalus.ddl=make.design.data(eanomalus.processed)

# Bin data and create 2 age classes

eanomalus.ddl <-add.design.data(data = eanomalus.processed,
ddl = eanomalus.ddl,
parameter = "Phi",
type = "age",
bins = c(0, 1, 8), right = FALSE,
name = "Age", replace = TRUE)

eanomalus.ddl <-add.design.data(data = eanomalus.processed,
ddl = eanomalus.ddl,
parameter = "p",
type = "age",
bins = c(0, 1, 8), right = FALSE,
name = "Age", replace = TRUE)

Do you know the age and sex of the birds at first capture? If so, I don't understand your comment about transitions. There are no transitions in CJS. Sorry that is all I can offer with so little to go on.
jlaake
 
Posts: 1197
Joined: Fri May 12, 2006 12:50 pm
Location: Escondido, CA


Return to RMark

Who is online

Users browsing this forum: No registered users and 1 guest

cron