bounds               package:ldbounds               R Documentation

_G_r_o_u_p _S_e_q_u_e_n_t_i_a_l _B_o_u_n_d_a_r_i_e_s _U_s_i_n_g _S_p_e_n_d_i_n_g _F_u_n_c_t_i_o_n_s

_D_e_s_c_r_i_p_t_i_o_n:

     'bounds' determines group sequential boundaries for interim
     analyses of accumulating data in clinical trials using the
     Lan-DeMets alpha spending function method.  These can be used as
     guidelines for early stopping of the trial.

_U_s_a_g_e:

     bounds(t, t2 = t, iuse = 1, asf = NULL, alpha = 0.05,
            phi = rep(1, length(alpha)), ztrun = rep(8, length(alpha)))

_A_r_g_u_m_e_n_t_s:

       t: the vector of analysis times, which must be increasing and in
          (0,1].

      t2: the second time scale, usually in terms of amount of
          accumulating information.  By default, same as 't'.

    iuse: a vector of the type of alpha spending function(s) to use for
          lower and upper bounds, respectively (in the two-sided case).
           Details of specification are given below.

     asf: a list of one or two functions to be used as alpha spending
          function(s).  Used with 'iuse'=5 (See below).

   alpha: a vector of type I errors.  In two-sided situations, these
          correspond to the amount allocated to the lower and upper
          boundaries, respectively.  The total alpha must be greater
          than 0 and less than or equal to 1.

     phi: a vector of values used when 'iuse'=3 or 4 (See below).

   ztrun: a vector of values specifying where to truncate lower and
          upper boundaries, respectively.  Default is c(-8,8) (or just
          8 for one-sided), which is essentially no truncation.

_D_e_t_a_i_l_s:

     This is based on a Fortran program, 'ld98', by Reboussin, DeMets,
     Kim, and Lan.  It has some advantages, like making use of
     probability distributions in R and the ability to specify any
     valid spending function without changing the program.

     'iuse' values of 1 and 2 correspond to alpha spending functions
     which give O'Brien Fleming and Pocock type boundaries,
     respectively. A value of 3 is the power family.  Here, the
     spending function is alpha t^{phi}, where phi must be greater than
     0.  A value of 4 is the Hwang-Shih-DeCani family, with spending
     function alpha (1-e^{-phi t})/(1-e^{-phi}), where phi cannot be 0.

     'iuse' and 'alpha' must have the same length.  If 'alpha' has
     length 2 and 'phi' has length 1, the same value of 'phi' will be
     used for the upper and the lower boundaries.

     With 'iuse'=5, the user will specify any alpha spending function
     as 'asf'.  Such a function asf() must be of class 'function' and
     must satisfy asf(0)=0 and asf(1)=1 and must be strictly
     increasing. Currently, this option cannot be used for one side of
     the boundary with one of the other options for the other side.  In
     other words, the user may define one spending function for a
     one-sided boundary or two for a two-sided boundary, symmetric or
     asymmetric, but cannot define one spending function and select the
     other from 'iuse' 1 through 4.

_V_a_l_u_e:

     'bounds' returns an object of 'class' '"bounds"'.

     An object of class '"bounds"' is a list containing the following
     components: 

bounds.type: the type of bounds: 1 is 'one-sided', 2 is 'two-sided
          symmetric', and 3 is 'two-sided asymmetric'.

spending.type: the type(s) of spending function.  A descriptive version
          of the value(s) used for 'iuse'

    time: the original time scale.

   time2: the second (information) time scale.

   alpha: the alpha(s) used.

overall.alpha: if two-sided, the sum of the two alphas.  If one-sided,
          just alpha.

lower.bounds: the vector of lower boundaries calculated.  Should be
          ignored if one-sided.

upper.bounds: the vector of upper boundaries calculated.

 exit.pr: the vector of cumulative exit probabilities at each analysis.

 diff.pr: the vector of exit probabilities accumulated at each
          analysis.

_A_u_t_h_o_r(_s):

     Charlie Casper casper@stat.wisc.edu and Oscar A. Perez
     perez@stat.wisc.edu

_R_e_f_e_r_e_n_c_e_s:

     Reboussin, D. M., DeMets, D. L., Kim, K. M., and Lan, K. K. G.
     (2000) Computations for group sequential boundaries using the
     Lan-DeMets spending function method. _Controlled Clinical Trials_,
     21:190-207.

     Fortran program 'ld98' by the same authors as above.

     DeMets, D. L. and Lan, K. K. G. (1995) _Recent Advances in
     Clinical Trial Design and Analysis_, Thall, P. F. (ed.). Boston:
     Kluwer Academic Publishers.

     Lan, K. K. G. and DeMets, D. L. (1983) Discrete sequential
     boundaries for clinical trials. _Biometrika_, 70:659-63.

_S_e_e _A_l_s_o:

     Generic functions 'summary.bounds' and 'plot.bounds'.

     'drift' for exit probabilities given boundaries or drift (effect)
     or confidence interval given power.

_E_x_a_m_p_l_e_s:

        ## From Reboussin, et al. (2000)

        t <- seq(0.2,1,length=5)
        obf.bd <- bounds(t,iuse=c(1,1),alpha=c(0.025,0.025))
        summary(obf.bd)
        plot(obf.bd)

        t <- c(0.2292,0.3333,0.4375,0.5833,0.7083,0.8333)
        t2 <- c(56,77,126,177,247,318)
        power.fam <- bounds(t,t2,iuse=c(3,3),alpha=c(0.025,0.025))
        summary(power.fam)
        

