knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5 )

Internally, **adoptr** is built around the joint distribution of a test
statistic and the unknown location parameter of interest given a sample size,
i.e.
$$
\mathcal{L}\big[(X_i, \theta)\,|\,n_i\big]
$$
where $X_i$ is the stage-$i$ test statistic and $n_i$ the corresponding sample
size.
The distribution class for $X_i$ is defined by specifying a `DataDistribution`

object, e.g., a normal distribution

library(adoptr) datadist <- Normal()

To completely specify the marginal distribution of $X_i$, the distribution of $\theta$ must also be specified. The classical case where $\theta$ is considered fixed, emerges as special case when a single parameter value has probability mass 1.

The simplest supported prior class are discrete `PointMassPrior`

priors.
To specify a discrete prior, one simply specifies the vector of pivot points
with positive mass and the vector of corresponding probability masses.
E.g., consider an example where the point $\delta = 0.1$ has probability mass
$0.4$ and the point $\delta = 0.25$ has mass $1 - 0.4 = 0.6$.

disc_prior <- PointMassPrior(c(0.1, 0.25), c(0.4, 0.6))

For details on the provided methods, see `?DiscretePrior`

.

**adoptr** also supports arbitrary continuous priors with support on compact
intervals.
For instance, we could consider a prior based on a truncated normal via:

cont_prior <- ContinuousPrior( pdf = function(x) dnorm(x, mean = 0.3, sd = 0.2), support = c(-2, 3) )

For details on the provided methods, see `?ContinuousPrior`

.

In practice, the most important operation will be conditioning. This is important to implement type one and type two error rate constraints. Consider, e.g., the case of power. Typically, a power constraint is imposed on a single point in the alternative, e.g. using the constraint

Power(Normal(), PointMassPrior(.4, 1)) >= 0.8

If uncertainty about the true response rate should be incorporated in the design, it makes sense to assume a continuous prior on $\theta$. In this case, the prior should be conditioned for the power constraint to avoid integrating over the null hypothesis:

Power(Normal(), condition(cont_prior, c(0, 3))) >= 0.8

**Any scripts or data that you put into this service are public.**

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.