oc1S | R Documentation |
The oc1S
function defines a 1 sample design (prior, sample
size, decision function) for the calculation of the frequency at
which the decision is evaluated to 1 conditional on assuming
known parameters. A function is returned which performs the actual
operating characteristics calculations.
oc1S(prior, n, decision, ...)
## S3 method for class 'betaMix'
oc1S(prior, n, decision, ...)
## S3 method for class 'normMix'
oc1S(prior, n, decision, sigma, eps = 1e-06, ...)
## S3 method for class 'gammaMix'
oc1S(prior, n, decision, eps = 1e-06, ...)
prior |
Prior for analysis. |
n |
Sample size for the experiment. |
decision |
One-sample decision function to use; see |
... |
Optional arguments. |
sigma |
The fixed reference scale. If left unspecified, the default reference scale of the prior is assumed. |
eps |
Support of random variables are determined as the
interval covering |
The oc1S
function defines a 1 sample design and
returns a function which calculates its operating
characteristics. This is the frequency with which the decision
function is evaluated to 1 under the assumption of a given true
distribution of the data defined by a known parameter
\theta
. The 1 sample design is defined by the prior, the
sample size and the decision function, D(y)
. These uniquely
define the decision boundary, see
decision1S_boundary
.
When calling the oc1S
function, then internally the critical
value y_c
(using decision1S_boundary
) is
calculated and a function is returns which can be used to
calculated the desired frequency which is evaluated as
F(y_c|\theta).
Returns a function with one argument theta
which
calculates the frequency at which the decision function is
evaluated to 1 for the defined 1 sample design. Note that the
returned function takes vectors arguments.
oc1S(betaMix)
: Applies for binomial model with a mixture
beta prior. The calculations use exact expressions.
oc1S(normMix)
: Applies for the normal model with known
standard deviation \sigma
and a normal mixture prior for the
mean. As a consequence from the assumption of a known standard
deviation, the calculation discards sampling uncertainty of the
second moment. The function oc1S
has an extra
argument eps
(defaults to 10^{-6}
). The critical value
y_c
is searched in the region of probability mass
1-eps
for y
.
oc1S(gammaMix)
: Applies for the Poisson model with a gamma
mixture prior for the rate parameter. The function
oc1S
takes an extra argument eps
(defaults to 10^{-6}
)
which determines the region of probability mass 1-eps
where
the boundary is searched for y
.
Other design1S:
decision1S_boundary()
,
decision1S()
,
pos1S()
# non-inferiority example using normal approximation of log-hazard
# ratio, see ?decision1S for all details
s <- 2
flat_prior <- mixnorm(c(1,0,100), sigma=s)
nL <- 233
theta_ni <- 0.4
theta_a <- 0
alpha <- 0.05
beta <- 0.2
za <- qnorm(1-alpha)
zb <- qnorm(1-beta)
n1 <- round( (s * (za + zb)/(theta_ni - theta_a))^2 )
theta_c <- theta_ni - za * s / sqrt(n1)
# standard NI design
decA <- decision1S(1 - alpha, theta_ni, lower.tail=TRUE)
# double criterion design
# statistical significance (like NI design)
dec1 <- decision1S(1-alpha, theta_ni, lower.tail=TRUE)
# require mean to be at least as good as theta_c
dec2 <- decision1S(0.5, theta_c, lower.tail=TRUE)
# combination
decComb <- decision1S(c(1-alpha, 0.5), c(theta_ni, theta_c), lower.tail=TRUE)
theta_eval <- c(theta_a, theta_c, theta_ni)
# evaluate different designs at two sample sizes
designA_n1 <- oc1S(flat_prior, n1, decA)
designA_nL <- oc1S(flat_prior, nL, decA)
designC_n1 <- oc1S(flat_prior, n1, decComb)
designC_nL <- oc1S(flat_prior, nL, decComb)
# evaluate designs at the key log-HR of positive treatment (HR<1),
# the indecision point and the NI margin
designA_n1(theta_eval)
designA_nL(theta_eval)
designC_n1(theta_eval)
designC_nL(theta_eval)
# to understand further the dual criterion design it is useful to
# evaluate the criterions separatley:
# statistical significance criterion to warrant NI...
designC1_nL <- oc1S(flat_prior, nL, dec1)
# ... or the clinically determined indifference point
designC2_nL <- oc1S(flat_prior, nL, dec2)
designC1_nL(theta_eval)
designC2_nL(theta_eval)
# see also ?decision1S_boundary to see which of the two criterions
# will drive the decision
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.