Skip to contents

Prints the decision intervals of qdm_boundary as up to three tables, each with one row per condition (for example, the number of control responders or the treatment group size) and one column per decision. The first table gives the range of the observed quantity (numbers of responders or events, or observed means), the second the corresponding observed response rates or milestone survival probabilities, and the last the observed treatment effects. For example, the entry "10-20" in the column Go means that 10 to 20 responders lead to a Go decision. The object itself is a data frame with one row per interval (see qdm_boundary).

Usage

# S3 method for class 'qdm_boundary'
print(x, digits = 4L, n = 20L, ...)

Arguments

x

An object of class "qdm_boundary".

digits

Number of significant digits for observed means, milestone survival probabilities, effects and conditions.

n

Maximum number of conditions shown in each table.

...

Not used.

Value

x, invisibly.

Examples

des <- design_binary(
  n_t = 12, n_c = 12,
  prior_t = prior_beta(0.5, 0.5), prior_c = prior_beta(0.5, 0.5),
  criterion = criterion_posterior(theta_tv = 0.2, theta_mav = 0.1,
                                  gamma_go = 0.5, gamma_nogo = 0.8)
)
b <- qdm_boundary(des)
print(b, n = 5)
#> Decision boundary of a design with one binary endpoint
#>   n_t = 12, n_c = 12
#> 
#> Responders in the treatment group (y_t)
#>   y_c   NoGo   Gray   Go
#>   0     0      1-2    3-12
#>   1     0-1    2-3    4-12
#>   2     0-1    2-4    5-12
#>   3     0-2    3-5    6-12
#>   4     0-3    4-6    7-12
#> 
#> Observed response rate (y_t / n_t)
#>   y_c   NoGo            Gray             Go
#>   0     0.0%            8.3% to 16.7%    25.0% to 100.0%
#>   1     0.0% to 8.3%    16.7% to 25.0%   33.3% to 100.0%
#>   2     0.0% to 8.3%    16.7% to 33.3%   41.7% to 100.0%
#>   3     0.0% to 16.7%   25.0% to 41.7%   50.0% to 100.0%
#>   4     0.0% to 25.0%   33.3% to 50.0%   58.3% to 100.0%
#> 
#> Observed difference in response rates (y_t / n_t - y_c / n_c)
#>   y_c   NoGo                  Gray                Go
#>   0     0                     0.08333 to 0.1667   0.25 to 1
#>   1     -0.08333 to 0         0.08333 to 0.1667   0.25 to 0.9167
#>   2     -0.1667 to -0.08333   0 to 0.1667         0.25 to 0.8333
#>   3     -0.25 to -0.08333     0 to 0.1667         0.25 to 0.75
#>   4     -0.3333 to -0.08333   0 to 0.1667         0.25 to 0.6667
#> ... 8 more values of y_c (see the data frame)
# The intervals as a data frame
head(as.data.frame(b))
#>   n_t n_c y_c decision from to  rate_from    rate_to effect_from effect_to
#> 1  12  12   0     NoGo    0  0 0.00000000 0.00000000  0.00000000 0.0000000
#> 2  12  12   0     Gray    1  2 0.08333333 0.16666667  0.08333333 0.1666667
#> 3  12  12   0       Go    3 12 0.25000000 1.00000000  0.25000000 1.0000000
#> 4  12  12   1     NoGo    0  1 0.00000000 0.08333333 -0.08333333 0.0000000
#> 5  12  12   1     Gray    2  3 0.16666667 0.25000000  0.08333333 0.1666667
#> 6  12  12   1       Go    4 12 0.33333333 1.00000000  0.25000000 0.9166667