我正在使用R中的marked
包来模拟人群的年间生存率变异性。通过测试几个模型(比较AIC值),我获得了phi(表观生存参数)和p(捕获/检测概率)。
这是我的数据(类data.frame
)的样子:
ch Sex SVL WT1 WT2 WT3 WT4 WT5 WT6 WT7
1 0100000 M 57.10 -15 -16 -21 -26 -16 -14 -21
2 0100000 F 59.43 -15 -16 -21 -26 -16 -14 -21
3 0100000 F 67.57 -15 -16 -21 -26 -16 -14 -21
4 0100000 F 65.10 -15 -16 -21 -26 -16 -14 -21
其中WT1,WT2等是每年的最低冬季温度,而ch是多年来的捕获历史(0 =缺席,1 =存在)。
目标是获得模型Phi(WT)p(t)。 我继续这段代码:
data.proc <- process.data(data.full, model = 'cjs', begin.time = 1)
data.ddl <- make.design.data(data.proc)
# capture-recapture model fitting (crm):
mod.Phit.pt <- crm(data.proc, data.ddl,
model.parameters=list(Phi=list(formula=~time),
p=list(formula=~time)),method="Nelder-
Mead",hessian=T)
这可行,渲染模型Phi(t)p(t)
mod.Phit.WT <- crm(data.proc, data.ddl,
model.parameters=list(Phi=list(formula=~WT)),
p=list(formula=~time))
这不起作用,导致错误:
crm中的错误(data.proc,data.ddl,model.parameters = list(Phi = 列表(公式=〜WT)): 参数4匹配多个形式参数
我应该使用其他格式的时变协变量WT吗?