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. L[(Xi,θ)|ni] where Xi is the stage-i test statistic and ni the corresponding sample size. The distribution class for Xi is defined by specifying a DataDistribution
object, e.g., a normal distribution
library(adoptr)
Normal() datadist <-
To completely specify the marginal distribution of Xi, the distribution of θ must also be specified. The classical case where θ 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 δ=0.1 has probability mass 0.4 and the point δ=0.25 has mass 1−0.4=0.6.
PointMassPrior(c(0.1, 0.25), c(0.4, 0.6)) disc_prior <-
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:
ContinuousPrior(
cont_prior <-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
#> -Pr[x2>=c2(x1)] <= -0.8
If uncertainty about the true response rate should be incorporated in the design, it makes sense to assume a continuous prior on θ. 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
#> -Pr[x2>=c2(x1)] <= -0.8