1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| tab = tr.tab.final[,c("temp.t2", "prec.t2","popd.t2", "elev","sand")]
tab = na.omit(tab)
tab$popd.t2 = log(tab$popd.t2+1)
tab = data.frame(scale(tab))
nvars = ncol(tab)
tab$intercept = 1
invlogit_ <- function(x)
{
expx = ifelse(exp(x)==Inf, .Machine$double.xmax, exp(x))
expx/(1+expx)
}
require(LaplacesDemon)
parm.names = as.parm.names(list(aE=rep(0, 1+nvars), aC=rep(0, 1+nvars) ))
nbetas = length(parm.names)
MyData <- list(N = nrow(tab), dat = tab, mon.names = c("logLik") , parm.names= parm.names,
var.aE = 1:(nvars+1),
var.aC = 1:(nvars+1),
aE.pos = grep("aE", parm.names),
aC.pos = grep("aC", parm.names),
AA.pos = tr.tab.final$tr=="AA",
AP.pos = tr.tab.final$tr=="AP",
PA.pos = tr.tab.final$tr =="PA",
PP.pos = tr.tab.final$tr=="PP",
invlogit_ = invlogit_,
# lik_fct = lik_dd,
nbetas = nbetas)
Initial.Values <- rnorm(length(MyData$parm.names), 0, 1)
require(data.table)
loglik_fct(Initial.Values, MyData)$LP
Fit = LaplaceApproximation(Model=loglik_fct, Initial.Values, Data=MyData, Method="SPG", Iterations = 50000)
Consort(Fit) |
Partager