BC: Run a BayesComm model

Description Usage Arguments Details Value See Also Examples

View source: R/BC.R

Description

BC is the main function for running BayesComm models. It is a wrapper function for BCfit; it checks inputs, sets up the model types and specifies a number of default BCfit settings.

Usage

1
BC(Y, X = NULL, model = "null", covlist = NULL, condition = NULL, its = 100, ...)

Arguments

Y

matrix of species presence/absence data

X

matrix of environmental covariates

model

type of model to run

covlist

optional list of which covariates to assign to each species

condition

matrix of conditioning variables

its

number of iterations for sampling phase

...

further arguments to pass to BCfit

Details

Y must be a matrix with records as rows and species as columns and X a matrix with records as rows and covariates as columns. model must be one of: "null" (intercept only), "environment" (intercept & covariates), "community" (intercept & community matrix) or "full" (intercept, covariates & community matrix). covlist must have the same length as the number of species with, each element a vector of column indices for X. covlist defaults to NULL, which includes all covariates for all species. For more details of arguments for model fitting see BCfit. condition is an optional matrix of conditioning variables. These are fitted in the same way as X but are not removed in null and community models.

Value

An object of class bayescomm containing the model call and parameter chains which can be viewed and manipulated using window, plot, print and summary.

See Also

BCfit

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# create fake data
n <- 100
nsp <- 4
k <- 3

X <- matrix(c(rep(1, n), rnorm(n * k)), n)  # covariate matrix
W <- matrix(rnorm(nsp * nsp), nsp)
W <- W %*% t(W) / 2  # true covariance matrix
B <- matrix(rnorm(nsp * (k + 1), 0, 3), nsp)  # true covariates
mu <- apply(B, 1, function(b, x) x %*% b, X)  # true mean
e <- matrix(rnorm(n * nsp), n) %*% chol(W)  # true e
z <- mu + e  # true z
Y <- ifelse(z > 0, 1, 0)  # true presence/absence

# run BC (after removing intercept column from design matrix)
m1 <- BC(Y, X[, -1], model = "full", its = 100)

Example output



BayesComm documentation built on May 2, 2019, 1:43 p.m.