lambda2psi() function help

Skip to first unread message

L. Jay Roberts

Aug 26, 2022, 7:14:33 PMAug 26
to unmarked
Hi can someone shed some light on how the lambda2psi() function to convert the lambda estimate from the model to occupancy works exactly? I'm sure I could spend a few more hours looking through the math to figure this out but I suspect that asking the question and documenting it here might be of help to others in the future. 

Here's my situation: output from a distsamp() model of # individuals per hectare at each point [output <- predict(model, type="state")], survey radius of 75m (these are birds, I eliminated detections beyond that to minimize double counts from adjacent points). I assume the survey radius does not matter here because outputs are converted to density rather than tied to my plot size. 

So, if I run lambda2psi(output) I get a vector of occupancy probabilities derived from each of the density (#/ha) estimates. Does that mean that the occupancy probabilities are for one hectare, which assuming a circular plot is a 56.42m radius circle? This seems to make sense, because the occupancy probabilities are lower than previous occu() models I've run with portions of these data using 100m radius.

And if all that makes sense, is there a straightforward way to produce an output from lambda2psi() that produces an occupancy estimate that might be closer to the 100m radius occu() estimates I've used in the past? I thought perhaps converting using area would work, which would go like this: 100m radius circle = 3.1416 ha, so multiply the distsamp() density estimates (#/ha) by 3.1416, and then use lambda2psi() on those estimates to get occupancy probabilities. (I tried this and the occupancy estimates seem a little too high.) 

I won't be surprised if I missed something simple in all this so please let me know. In more general terms I'm curious how the unmarked package is handling the abundance/occupancy relationship since there are many ways in which that can be a fairly complex arrangement rather than a simple mathematical equation. 

Jeffrey Royle

Aug 26, 2022, 7:34:09 PMAug 26
hi Jay, lambda2psi is just a wrapper for this formula:   1-exp(-lambda)

See here:

> lambda2psi(1:3)
[1] 0.6321206 0.8646647 0.9502129
> 1-exp(-1)
[1] 0.6321206
So if you put in density per 50 m circle and you want density per 100 m circle you just have to scale the input accordingly. (  pi*100^2  / pi*50^2  would be the multiplier).  


*** Three hierarchical modeling email lists ***
(1) unmarked (this list): for questions specific to the R package unmarked
(2) SCR: for design and Bayesian or non-bayesian analysis of spatial capture-recapture
(3) HMecology: for everything else, especially material covered in the books by Royle & Dorazio (2008), Kéry & Schaub (2012), Kéry & Royle (2016, 2021) and Schaub & Kéry (2022)
You received this message because you are subscribed to the Google Groups "unmarked" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
Reply all
Reply to author
0 new messages