| rerun.mark | R Documentation |
Runs a previous MARK model with new starting values but without specifying
the model parameter formulas. This function is most useful with
mark.wrapper in which a list of models is analyzed and the set of
formulas are not specified for each model.
rerun.mark( model, data, ddl, initial, output = TRUE, title = "", invisible = TRUE, adjust = TRUE, se = FALSE, filename = NULL, prefix = "mark", default.fixed = TRUE, silent = FALSE, retry = 0, realvcv = FALSE, external = FALSE, threads = -1, ... )
model |
previously run MARK model |
data |
processed dataframe used with model |
ddl |
design data list used with model |
initial |
vector of initial values for beta parameters or previously run model object of similar structure |
output |
If TRUE produces summary of model input and model output |
title |
Optional title for the MARK analysis output |
invisible |
if TRUE, exectution of MARK.EXE is hidden from view |
adjust |
if TRUE, adjusts number of parameters (npar) to number of columns in design matrix, modifies AIC and records both |
se |
if TRUE, se and confidence intervals are shown in summary sent to screen |
filename |
base filename for files created by MARK.EXE. Files are named filename.*. |
prefix |
base filename prefix for files created by MARK.EXE; the files are named prefixnnn.* |
default.fixed |
if TRUE, real parameters for which the design data have been deleted are fixed to default values |
silent |
if TRUE, errors that are encountered are suppressed |
retry |
number of reanalyses to perform with new starting values when one or more parameters are singular |
realvcv |
if TRUE the vcv matrix of the real parameters is extracted and stored in the model results |
external |
if TRUE the mark object is saved externally rather than in the workspace; the filename is kept in its place |
threads |
number of cpus to use with mark.exe if positive or number of cpus to remain idle if negative |
... |
argument values like nodes etc for call to make.mark.model |
This is a simple function that restarts an analysis with MARK typically
using another model for initial values of the beta parameters. The
processed dataframe (data) and design data list (ddl) must be
specified but the model.parameters are extracted from model.
initial values are not optional otherwise this would be no different
than the original call to mark. More complete definitions of the
arguments can be found in mark or run.mark.model
or make.mark.model.
model: MARK model object with the base filename stored in
output and the extracted results from the output file appended
onto list; see mark for a detailed description of a
mark object.
Jeff Laake
make.mark.model, run.models,
extract.mark.output, adjust.parameter.count,
mark, cleanup
## Not run:
# The following example will not run because the data are not included in the
# examples. It illustrates the use of rerun.mark with mark.wrapper. With this
# particular data set the POPAN models were having difficulty converging. After
# running the set of models using mark.wrapper and looking at the results it
# was clear that in several instances the model did not converge. This is easiest
# to discern by comparing nested models in the model.table. If one model
# is nested within another,then the deviance of the model with more
# parameters should be as good or better than the smaller model. If that
# is not the case then the model that converged can be used for initial
# values in a call to rerun.mark for the model that did not converge.
#
do.nat=function()
{
Phi.ageclass=list(formula=~ageclass)
Phi.dot=list(formula=~1)
p.area=list(formula=~area)
p.timebin.plus.area=list(formula=~timebin+area)
p.timebin.x.area=list(formula=~-1+timebin:area)
pent.ageclass=list(formula=~ageclass)
pent.ageclass.plus.EN=list(formula=~ageclass+EN)
pent.ageclass.plus.diffEN=list(formula=~ageclass+EN92+EN97+EN02)
cml=create.model.list("POPAN")
nat=mark.wrapper(cml,data=zc.proc,ddl=zc.ddl,
invisible=FALSE,initial=1,retry=2,delete=TRUE)
return(nat)
}
nat=do.nat()
# model list
# Phi p pent
#1 Phi.ageclass p.area pent.ageclass
#2 Phi.ageclass p.area pent.ageclass.plus.diffEN
#3 Phi.ageclass p.area pent.ageclass.plus.EN
#4 Phi.ageclass p.timebin.plus.area pent.ageclass
#5 Phi.ageclass p.timebin.plus.area pent.ageclass.plus.diffEN
#6 Phi.ageclass p.timebin.plus.area pent.ageclass.plus.EN
#7 Phi.ageclass p.timebin.x.area pent.ageclass
#8 Phi.ageclass p.timebin.x.area pent.ageclass.plus.diffEN
#9 Phi.ageclass p.timebin.x.area pent.ageclass.plus.EN
#10 Phi.dot p.area pent.ageclass
#11 Phi.dot p.area pent.ageclass.plus.diffEN
#12 Phi.dot p.area pent.ageclass.plus.EN
#13 Phi.dot p.timebin.plus.area pent.ageclass
#14 Phi.dot p.timebin.plus.area pent.ageclass.plus.diffEN
#15 Phi.dot p.timebin.plus.area pent.ageclass.plus.EN
#16 Phi.dot p.timebin.x.area pent.ageclass
#17 Phi.dot p.timebin.x.area pent.ageclass.plus.diffEN
#18 Phi.dot p.timebin.x.area pent.ageclass.plus.EN
#
# use model 9 as starting values for model 7
nat[[7]]= rerun.mark(nat[[7]],data=zc.proc,ddl=zc.ddl,initial=nat[[9]],delete=TRUE)
# use model 3 as starting values for model 1
nat[[1]]= rerun.mark(nat[[1]],data=zc.proc,ddl=zc.ddl,initial=nat[[3]],delete=TRUE)
# use model 14 as starting values for model 15
nat[[15]]= rerun.mark(nat[[15]],data=zc.proc,ddl=zc.ddl,initial=nat[[14]],delete=TRUE)
# use model 5 as starting values for model 6
nat[[6]]= rerun.mark(nat[[6]],data=zc.proc,ddl=zc.ddl,initial=nat[[5]],delete=TRUE)
# use model 10 as starting values for model 11
nat[[11]]= rerun.mark(nat[[11]],data=zc.proc,ddl=zc.ddl,initial=nat[[10]],delete=TRUE)
# use model 10 as starting values for model 12
nat[[12]]= rerun.mark(nat[[12]],data=zc.proc,ddl=zc.ddl,initial=nat[[10]],delete=TRUE)
# reconstruct model table with new results
nat$model.table=model.table(nat[1:18])
# show new model table
nat
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.