I just released a new version of RMark. It has been awhile since I last announced an update even though I usually put up a new version every month or so to include new functionality and fix bugs.
Below are some of the new features in the last few versions. See the What’s new file on the webpage to see all of the changes and details. Also, for any of you RMark buffs, Evan created a competing CafePress wepage (http://www.cafepress.com/rmark_stuff). You too can own a t-shirt that says RMark --MARK without all the ^$^$&$& design matrices...
New additions since 1.7.6
Several functions named cjs,cjs.lnl,create.dmdf, create.dm,process.ch, and print.cjs and coef.cjs were added. These functions can be used to fit a Cormack-Jolly-Seber model independently from MARK. I still need to develop some more functions to manipulate the results and possibly integrate them better into the RMark structure. This effort is not meant to replace the CJS models in MARK. My intent is to expand this effort to develop a model that will incorporate tag loss estimation. In create.dmdf I contrast the structure adopted by MARK and the structure used in the package mra written by Trent McDonald. In constructing cjs, I've adopted the approach Trent used in mra with improvements that have simplified the handling of covariates and modelling.
To avoid running out of memory, an argument external has been added to collect.models, mark, rerun.mark, and run.mark.model. As with all arguments of mark, external can also be set in mark.wrapper. Likewise, external can also be set in run.models and it is passed to run.mark.model. The default is external=FALSE but if it is set to TRUE then the mark model object is saved in an external file with an extension .rda and the same base filename as its matching MARK output files.
Functions store and restore were created to store externally and restore models from external storage into the R workspace. They work on a marklist and are only needed to store
externally existing marklist models or ones originally created with external=FALSE or to restore if you change your mind and decide to keep them in the R workspace.
The concept of time-varying individual covariates has been expanded to include robust design models which have both primary (session) and secondary (time) occasion-specific data. For a robust design, a time-varying individual covariate can be either session-dependent or session-time dependent. As an example, if there are 3 primary sessions and each has 4 secondary occasions, then the individual covariates can be named x1,x2,x3 to be primary session-dependent or named x11,x12,x13,x14,x21,x22,x23,x24,x31,x32,x33,x34. The value of x can be any name for the covariate. In the formula only the base name is used (e.g., ~x) and RMark fills in the individual covariate names that it finds that match either the session or session-time individual covariates.
Added function summary.ch to provide summaries of the capture history data (resighting matrices and m-arrays). It will not work with all types of models at present. It will work with CJS and Jolly-type models.
Code in mark.wrapper was modified to output the number of columns and column names of the design matrix for each model if run=FALSE. This allows a check of each of the columns included in the model. By reviewing these you can assess whether the model was constucted as you intended. If there is any question you can either use model.matrix or make.mark.model to examine the design matrix more thoroughly.
Added merge.design.covariates which is meant to replace merge.occasion.data. This new function allows covariates to be assigned by time, time and group, or just group. It also uses a simplified list of arguments and works with individual design dataframes rather than the entire ddl.
An argument run was added to mark.wrapper. If set to FALSE, then it will run through each set of models in model.list and try to build each model but does not attempt to run it. This is useful to check for and fix any errors in the formula before setting off a large run. If you use run=FALSE do not include arguments that are meant to be passed to run.mark.model like adjust.
Added function release.gof to construct the RELEASE goodness of fit test and extract the TEST2 and TEST3 final chi-square, df and P-values.