Computes the joint probability of CWM traits in regions in the community-trait space specified by bounds and in sites specified in Xnew.
joint_trait_prob( m, indexTrait, bounds, Xnew = NULL, FullPost = FALSE, samples = NULL, parallel = FALSE )
a model fitted with
A vector of the names (as specified in the column names of Y) of the two (or more!) traits we want to compute the joint probabilities of.
The parameter to specify a region in the community-trait space where the function computes the joint probabilities of traits. It is a list of the length of "indexTrait", each element of the list is a vector of length two. The vector represents the inferior and superior bounds of the region for the specified trait. For example, if we consider two traits, bounds=list(c(10,Inf),c(10,Inf)) corresponds to the region in the community-trait space where both traits both take values greater than 10.
Optionally, a data frame in which to look for variables with which to predict. If omitted, the fitted linear predictors are used.
If FullPost = TRUE, the function returns samples from the predictive distribution of joint probabilities, thus allowing the computation of credible intervals. If FullPost= FALSE, joint probabilities are computed only using the posterior mean of the parameters. FullPost cannot be equal to "mean" here.
Optional, default to NULL, only works when FullPost=FALSE. Defines the number of posterior samples to compute the posterior distribution of joint probabilities. Needs to be between 1 the total number of samples drawn from the posterior distribution.
Optional, only works when
FullPost = TRUE. When
parallel = TRUE, the function uses mclapply to parallelise the calculation of the posterior distribution joint probabilities.
A list containing:
Samples from the posterior distribution of the joint probability.NULL if FullPost=FALSE.
Posterior mean of the joint probability.
97.5% and 0.25% posterior quantiles of the joint probability. NULL if FullPost=FALSE.
This function is time consuming when
FullPost = TRUE. Consider setting
parallel = TRUE and/or to set
samples to a value smaller than the total number of posterior samples .
data(Y) data(X) #We sample only few samples from the posterior in order to reduce # the computational time of the examples. #Increase the number of samples to obtain robust results m = jtdm_fit(Y = Y, X = X, formula = as.formula("~GDD+FDD+forest"), sample = 10) # Compute probability of SLA and LNC to be joint-high at sites in the studies joint = joint_trait_prob(m, indexTrait = c("SLA","LNC"), bounds = list(c(mean(Y[,"SLA"]),Inf), c(mean(Y[,"SLA"]),Inf)), FullPost = TRUE)