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,...)
Arguments
prior: Prior for analysis.
n: Sample size for the experiment.
decision: One-sample decision function to use; see decision1S.
...: 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 1-eps probability mass. Defaults to 10−6.
Returns
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.
Details
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 θ. 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 yc (using decision1S_boundary) is calculated and a function is returns which can be used to calculated the desired frequency which is evaluated as
F(yc∣θ).
Methods (by class)
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 σ 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 yc 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.
Examples
# non-inferiority example using normal approximation of log-hazard# ratio, see ?decision1S for all detailss <-2flat_prior <- mixnorm(c(1,0,100), sigma = s)nL <-233theta_ni <-0.4theta_a <-0alpha <-0.05beta <-0.2za <- 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 designdecA <- 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_cdec2 <- decision1S(0.5, theta_c, lower.tail =TRUE)# combinationdecComb <- 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 sizesdesignA_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 margindesignA_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 pointdesignC2_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
See Also
Other design1S: decision1S(), decision1S_boundary(), pos1S()