Applies the provided monotonisation constants to a specified, possibly non-monotone function. The returned function values are non-increasing.
getMonotoneFunction(
x,
fun,
lower = NULL,
upper = NULL,
argument = NULL,
nSteps = 10^4,
epsilon = 10^(-5),
numberOfIterationsQ = 10^4,
design
)Monotone function values.
Argument values.
The function to be made monotone.
The lower limit of the interval on which the function should be monotonised. Must be a numeric value.
The upper limit of the interval on which the function should be monotonised.
The argument in which the function should be monotonised, given as a character.
The number of steps to be taken when checking the function for monotonicity. Must be a numeric value. Default 10^4.
Maximum allowed difference between the initial and monotone integral. Must be a numeric value. Default 10^-5.
Maximum number of iterations allowed to determine each value of q. Must be a numeric value. Default 10^4.
An object of class TrialDesignOptimalConditionalError created by getDesignOptimalConditionalErrorFunction(). Contains all necessary arguments to calculate the optimal conditional error function for the specified case.
The exact monotonisation process is outlined in Brannath et al. (2024), but specified in terms of the first-stage test statistic \(z_1\) rather than the first-stage p-value \(p_1\).
The algorithm can easily be translated to the use of p-values by switching the maximum and minimum functions, i.e., replacing \(\min\{q, Q(z_1)\}\) by \(\max\{q, Q(p_1)\}\) and \(\min\{q, Q(z_1)\}\) by \(\max\{q, Q(p_1\}\).
Brannath, W., Dreher, M., zur Verth, J., Scharpenberg, M. (2024). Optimal monotone conditional error functions. https://arxiv.org/abs/2402.00814