| run_eDITH_BT_joint {eDITH} | R Documentation | 
Run eDITH with BayesianTools based on joint eDNA and direct sampling data
Description
Function that runs a Bayesian sampler estimating parameters of an eDITH model fitted on both eDNA and direct sampling data.
Usage
run_eDITH_BT_joint(data, river, covariates = NULL, Z.normalize = TRUE,
           use.AEM = FALSE, n.AEM = NULL, par.AEM = NULL,
           no.det = FALSE, ll.type = "norm", source.area = "AG",
           mcmc.settings = NULL, likelihood = NULL, prior = NULL, 
		   sampler.type = "DREAMzs",
           tau.prior = list(spec="lnorm",a=0,b=Inf, meanlog=log(5), 
		                    sd=sqrt(log(5)-log(4))),
           log_p0.prior = list(spec="unif",min=-20, max=0),
           beta.prior = list(spec="norm",sd=1),
           sigma.prior = list(spec="unif",min=0, 
			                  max=max(data$values[data$type=="e"], 
							  na.rm = TRUE)),
           omega.prior = list(spec="unif",min=1, 
			                  max=10*max(data$values[data$type=="e"], 
							  na.rm = TRUE)),
           Cstar.prior = list(spec="unif",min=0, 
			                  max=max(data$values[data$type=="e"], 
							  na.rm = TRUE)),
           omega_d.prior = list(spec="unif",min=1,
                                max=10*max(c(0.11, data$values[data$type=="d"]), 
								na.rm = TRUE)),
           alpha.prior = list(spec="unif", min=0, max=1e6),
           verbose = FALSE)
Arguments
| data | eDNA and direct observation data. Data frame containing columns  | 
| river | A  | 
| covariates | Data frame containing covariate values for all  | 
| Z.normalize | Logical. Should covariates be Z-normalized? | 
| use.AEM | Logical. Should eigenvectors based on AEMs be used as covariates? If  | 
| n.AEM | Number of AEM eigenvectors (sorted by the decreasing respective eigenvalue) to be used as covariates. If 
 | 
| par.AEM | List of additional parameters that are passed to  | 
| no.det | Logical. Should a probability of non-detection be included in the model? | 
| ll.type | Character. String defining the error distribution used in the log-likelihood formulation. 
Allowed values are  | 
| source.area | Defines the extent of the source area of a node. Possible values are  | 
| mcmc.settings | List. It is passed as argument  | 
| likelihood | Likelihood function to be passed as  | 
| prior | Prior function to be passed as  | 
| sampler.type | Character. It is passed as argument  | 
| tau.prior | List that defines the prior distribution for the decay time parameter  | 
| log_p0.prior | List that defines the prior distribution for the logarithm (in base 10) of the baseline production rate 
 | 
| beta.prior | List that defines the prior distribution for the covariate effects  | 
| sigma.prior | List that defines the prior distribution for the standard deviation of the measurement error 
when  | 
| omega.prior | List that defines the prior distribution for the overdispersion parameter  | 
| Cstar.prior | List that defines the prior distribution for the  | 
| omega_d.prior | Prior distribution for the overdispersion parameter for direct sampling density observations. | 
| alpha.prior | Prior distribution for the inverse DNA shedding rate (i.e., the organismal density that sheds a unit eDNA value per unit time). | 
| verbose | Logical. Should console output be displayed? | 
Details
The arguments of the type *.prior consist in the lists  of arguments required by dtrunc 
(except the first argument x).
By default, AEMs are computed without attributing weights to the edges  of the river network. 
Use e.g. par.AEM = list(weight = "gravity") to attribute weights. 
Value
A list with objects:
| param_map | Vector of named parameters corresponding to the maximum a posteriori estimate. It is the
output of the call to  | 
| p_map | Vector of best-fit eDNA production rates corresponding to the maximum a posteriori parameter 
estimate  | 
| C_map | Vector of best-fit eDNA values (in the same unit as  | 
| probDet_map | Vector of best-fit detection probabilities corresponding to the maximum a posteriori
parameter estimate  | 
| cI | Output of the call to  | 
| gD | Output of the call to  | 
| covariates | Data frame containing input covariate values (possibly Z-normalized). | 
| source.area | Vector of source area values. | 
| outMCMC | Object of class  | 
Moreover, arguments ll.type (possibly changed to "custom" if a custom likelihood is specified), no.det 
and data are added to the list.
Examples
data(wigger)
data(dataCD)
# reduce number of iterations for illustrative purposes 
# (use default mcmc.settings to ensure convergence)
settings.short <- list(iterations = 1e3, thin = 10)
set.seed(1)
out <- run_eDITH_BT_joint(dataCD, wigger, mcmc.settings = settings.short)
library(rivnet)
# best-fit (maximum a posteriori) map of eDNA production rates
plot(wigger, out$p_map)
# best-fit map (maximum a posteriori) of detection probability
plot(wigger, out$probDet_map)
# compare best-fit vs observed values
data.e <- which(dataCD$type=="e")
data.d <- which(dataCD$type=="d")
plot(out$C_map[dataCD$ID[data.e]], dataCD$values[data.e],
	xlab="Modelled (MAP) eDNA concentrations", ylab="Observed eDNA concentrations")
abline(a=0, b=1) 
plot(out$p_map[dataCD$ID[data.d]], dataCD$values[data.d],
	xlab="Modelled (MAP) eDNA production rate", ylab="Observed density data")