| Bivariate Poisson lognormal | R Documentation |
Density and random generation for the for the bivariate Poisson
lognormal distribution with parameters mu1, mu2,
sig1, sig2 and rho.
dbipoilog(n1, n2, mu1, mu2, sig1, sig2, rho)
rbipoilog(S, mu1, mu2, sig1, sig2, rho, nu1=1, nu2=1,
condS=FALSE, keep0=FALSE)
n1 |
vector of observed individuals for each species in sample 1 |
n2 |
vector of observed individuals for each species in sample 2 |
mu1 |
mean of lognormal distribution in sample 1 |
mu2 |
mean of lognormal distribution in sample 1 |
sig1 |
standard deviation of lognormal distribution in sample 1 |
sig2 |
standard deviation of lognormal distribution in sample 2 |
rho |
correlation among samples |
S |
Total number of species in both communities |
nu1 |
sampling intensity sample 1 |
nu2 |
sampling intensity sample 2 |
condS |
logical; if TRUE random deviates are conditional on S |
keep0 |
logical; if TRUE species with count 0 in both communities are included in the random deviates |
The following is written from the perspective of using the Poisson lognormal distribution to describe community structure (the distribution of species when sampling individuals from a community of several species).
The following assumes knowledge of the Details section of dpoilog.
Consider two communities jointly and assume that the log abundances among species have the binormal distribution
with parameters (mu1,sig1,mu2,sig2,rho). If sampling intensities are
nu1 = nu2 = 1, samples from the communities will have the bivariate Poisson lognormal distribution
P(N_1 = \code{n1}, N_2 = \code{n2}; \;\code{mu1},\code{sig1},\code{mu2},\code{sig2},\code{rho}) =
q(\code{n1},\code{n2};\;\code{mu1},\code{sig1},\code{mu2},\code{sig2},\code{rho}) =
\int\limits_{-\infty}^{\infty}\int\limits_{-\infty}^{\infty} g_{\code{n1}}(\code{mu1,sig1},u) g_{\code{n2}}(\code{mu2,sig2},v)\,\phi(u,v;\code{rho})\,du dv,
where \phi(u,v; \code{rho}) here denotes the binormal distribution with zero means, unit variances and correlation rho.
In the general case with sampling intensities nu1 and nu2, mu1 and mu2 should be replaced by
mu1 + ln nu1 and mu2 + ln nu2 respectively. In this case, some species will be missing from both samples.
The number of individuals for observed species will then have the truncated distribution
\frac{q(\code{n1},\code{n2};\;\code{mu1},\code{sig1},\code{mu2},\code{sig2},\code{rho})}{1-q(0,0;\;\code{mu1},\code{sig1},\code{mu2},\code{sig2},\code{rho})}
dbipoilog returns the density
rbipoilog returns random deviates
Vidar Grotan vidar.grotan@ntnu.no and Steinar Engen
Engen, S., R. Lande, T. Walla and P. J. DeVries. 2002. Analyzing spatial structure of communities using the two-dimensional Poisson lognormal species abundance model. American Naturalist 160, 60-73.
bipoilogMLE for maximum likelihood estimation
### change in density of n2 for two different values of rho (given n1=10)
barplot(rbind(dbipoilog(n1=rep(10,21),n2=0:20,mu1=0,mu2=0,sig=1,sig2=1,rho=0.0),
dbipoilog(n1=rep(10,21),n2=0:20,mu1=0,mu2=0,sig=1,sig2=1,rho=0.8)),
beside=TRUE,space=c(0,0.2),names.arg=0:20,xlab="n2",col=1:2)
legend(35,0.0012,c("rho=0","rho=0.8"),fill=1:2)
### draw random deviates from a community of 50 species
rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7)
### draw random deviates including zeros
rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7,keep0=TRUE)
### draw random deviates with sampling intensities nu1=0.5 and nu2=0.7
rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7,nu1=0.5,nu2=0.7)
### draw random deviates conditioned on a certain number of species
rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7,nu1=0.5,nu2=0.7,condS=TRUE)
### how many species are likely to be observed in at least one of the samples
### (given S,mu1,mu2,sig1,sig2,rho)?
hist(replicate(1000,nrow(rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7))),
main="", xlab = "Number of species observed in at least one of the samples")
### how many individuals are likely to be observed
### (given S,mu1,mu2,sig1,sig2,rho)?
hist(replicate(1000,sum(rbipoilog(S=50,mu1=0,mu2=0,sig1=1,sig2=2,rho=0.7))),
main="", xlab="sum nr of individuals in both samples")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.