Model selection results from an unmarkedFitList

Arguments

object

an object of class "unmarkedFitList" created by the function fitList.

nullmod

optional character naming which model in the fitList contains results from the null model. Only used in calculation of Nagelkerke's R-squared index.

Value

A S4 object with the following slots

Full

data.frame with formula, estimates, standard errors and model selection information. Converge is optim convergence code. CondNum is model condition number. n is the number of sites. delta is delta AIC. cumltvWt is cumulative AIC weight. Rsq is Nagelkerke's (1991) R-squared index, which is only returned when the nullmod argument is specified.

Names

matrix referencing column names of estimates (row 1) and standard errors (row 2).

Note

Two requirements exist to conduct AIC-based model-selection and model-averaging in unmarked. First, the data objects (ie, unmarkedFrames) must be identical among fitted models. Second, the response matrix must be identical among fitted models after missing values have been removed. This means that if a response value was removed in one model due to missingness, it needs to be removed from all models.

References

Nagelkerke, N.J.D. (2004) A Note on a General Definition of the Coefficient of Determination. Biometrika 78, pp. 691-692.

Author

Richard Chandler rbchan@uga.edu

Examples

data(linetran) (dbreaksLine <- c(0, 5, 10, 15, 20))
#> [1] 0 5 10 15 20
lengths <- linetran$Length * 1000 ltUMF <- with(linetran, { unmarkedFrameDS(y = cbind(dc1, dc2, dc3, dc4), siteCovs = data.frame(Length, area, habitat), dist.breaks = dbreaksLine, tlength = lengths, survey = "line", unitsIn = "m") }) fm1 <- distsamp(~ 1 ~1, ltUMF) fm2 <- distsamp(~ area ~1, ltUMF) fm3 <- distsamp( ~ 1 ~area, ltUMF) fl <- fitList(Null=fm1, A.=fm2, .A=fm3) fl
#> An object of class "unmarkedFitList" #> Slot "fits": #> $Null #> #> Call: #> distsamp(formula = ~1 ~ 1, data = ltUMF) #> #> Density: #> Estimate SE z P(>|z|) #> -0.171 0.134 -1.28 0.201 #> #> Detection: #> Estimate SE z P(>|z|) #> 2.39 0.127 18.7 2.46e-78 #> #> AIC: 164.7524 #> #> $A. #> #> Call: #> distsamp(formula = ~area ~ 1, data = ltUMF) #> #> Density: #> Estimate SE z P(>|z|) #> -0.168 0.134 -1.25 0.21 #> #> Detection: #> Estimate SE z P(>|z|) #> (Intercept) 3.00 0.5402 5.56 2.72e-08 #> area -0.12 0.0955 -1.26 2.07e-01 #> #> AIC: 165.1845 #> #> $.A #> #> Call: #> distsamp(formula = ~1 ~ area, data = ltUMF) #> #> Density: #> Estimate SE z P(>|z|) #> (Intercept) 0.2364 0.5123 0.462 0.644 #> area -0.0801 0.0979 -0.817 0.414 #> #> Detection: #> Estimate SE z P(>|z|) #> 2.39 0.127 18.7 2.47e-78 #> #> AIC: 166.0759 #> #>
ms <- modSel(fl, nullmod="Null") ms
#> nPars AIC delta AICwt cumltvWt Rsq #> Null 2 164.75 0.00 0.43 0.43 0.000 #> A. 3 165.18 0.43 0.35 0.78 0.122 #> .A 3 166.08 1.32 0.22 1.00 0.055
coef(ms) # Estimates only
#> lam(area) lam(Int) p(area) p(Int) #> Null NA -0.1710554 NA 2.386380 #> A. NA -0.1678270 -0.120364 3.002507 #> .A -0.08005895 0.2364320 NA 2.386386
SE(ms) # Standard errors only
#> SElam(area) SElam(Int) SEp(area) SEp(Int) #> Null NA 0.1337819 NA 0.1273598 #> A. NA 0.1340212 0.09548038 0.5401575 #> .A 0.0979427 0.5122837 NA 0.1273614
(toExport <- as(ms, "data.frame")) # Everything
#> model formula lam(area) SElam(area) lam(Int) SElam(Int) p(area) #> 1 Null ~1 ~ 1 NA NA -0.1710554 0.1337819 NA #> 2 A. ~area ~ 1 NA NA -0.1678270 0.1340212 -0.120364 #> 3 .A ~1 ~ area -0.08005895 0.0979427 0.2364320 0.5122837 NA #> SEp(area) p(Int) SEp(Int) Converge CondNum negLogLike nPars n #> 1 NA 2.386380 0.1273598 0 5.199344 80.37622 2 12 #> 2 0.09548038 3.002507 0.5401575 0 1065.747363 79.59224 3 12 #> 3 NA 2.386386 0.1273614 0 783.165348 80.03795 3 12 #> AIC delta AICwt Rsq cumltvWt #> 1 164.7524 0.0000000 0.4307243 0.00000000 0.4307243 #> 2 165.1845 0.4320554 0.3470401 0.12248591 0.7777644 #> 3 166.0759 1.3234600 0.2222356 0.05481861 1.0000000