fut: Design of non-binding futility analysis at multiple points

Description Usage Arguments Value References See Also Examples

View source: R/functions.R

Description

Design of non-binding futility looks at multiple information times based on conditional power (CP), predictive power (PP), or condition power under current estimate (CPd) (Gallo, Mao, and Shih, 2014).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
fut(
  alpha,
  beta,
  t,
  gamma,
  side = 2,
  increment = 1e-04,
  si = 0,
  scale = "CP",
  seed = 12345
)

Arguments

alpha

Type I error.

beta

Type II error (1 - power).

t

A numeric vector of information times in (0, 1) for futility looks.

gamma

A numeric vector of probabilities (whose meaning depends on scale) at information times t.

side

1- or 2-sided test.

increment

Error for the numerical solution of the sample size inflation factor.

si

0: without sample size inflation; 1: with sample size inflation.

scale

Character string specifying the scaled used: "CP", conditional power; "PP", predictive power; "CPd": condition power under current estimate.

seed

Seed number for the randomized evaluation of multivariate normal distribution.

Value

An object of class fut with the following components. gamma1: conditional power at information times t converted from the supplied gamma and scale; theta: local alternative associated with the actual power when the futility rules of enforced; IF: sample size inflation factor if si=1; loss: power loss if si=0.

References

Gallo, P., Mao, L., and Shih, V.H. (2014). Alternative views on setting clinical trial futility criteria. Journal of Biopharmaceutical Statistics, 24, 976-993.

See Also

print.fut, summary.fut, plot.fut, powerplot

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## load the package
library(grpseq)
## two-sided level 0.05 test with 80% power;
## evenly spaced three futility looks with predictive power 20%;
## inflate sample size to recoup power.
obj1 <- fut(alpha=0.05,beta=0.2,t=(1:3)/4,gamma=0.2*rep(1,3),side=2,scale="PP",si=1)
obj1
## print the summary results
summary(obj1)

## do the same thing without sample size inflation
obj2 <- fut(alpha=0.05,beta=0.2,t=(1:3)/4,gamma=0.2*rep(1,3),side=2,scale="PP",si=0)
obj2
## print the summary results
summary(obj2)
oldpar <- par(mfrow = par("mfrow"))
par(mfrow=c(1,2))
## plot the futility boundaries by z-value
plot(obj2,scale='z',lwd=2,main="")
## plot the futility boundaries by B-value
plot(obj2,scale='b',lwd=2,main="")
par(oldpar)
## plot the power curve as a function of the (local)
## effect size in units of the hypothesized effect size
## ref=TRUE requests the power curve for the original one-time analysis
powerplot(obj2,lwd=2, ref=TRUE)

grpseq documentation built on Dec. 7, 2021, 1:06 a.m.