Defining Accrual Time and Accrual Intensity with rpact

Utilities
Survival
This document provides a technical overview on the different alternatives to define accrual time and accrual intensity with rpact.
Author
Published

February 16, 2024

Load the rpact package

library(rpact)
packageVersion("rpact") # version should be version 3.0 or later
[1] '3.5.1'

Case 1

End of accrual, absolute accrual intensity and maxNumberOfSubjects are given, followUpTime shall be calculated.

Example: vector based definition

accrualTime <- getAccrualTime(
    accrualTime = c(0, 6, 30),
    accrualIntensity = c(22, 33), maxNumberOfSubjects = 924
)
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 22
  • 6 - <=30: 33

Formula

  • maxNumberOfSubjects = 924 = 6 * 22 + 24 * 33

Case (#1)

  • End of accrual, absolute accrual intensity and ‘maxNumberOfSubjects’ are given, ‘followUpTime’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(22, 33), maxNumberOfSubjects = 924)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity: 22.0, 33.0
  • Maximum number of subjects: 924

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: TRUE

Example: list based definition

accrualTime <- getAccrualTime(
    list(
        "0 - <6" = 22,
        "6 - <= 30" = 33
    ),
    maxNumberOfSubjects = 924
)
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 22
  • 6 - <=30: 33

Formula

  • maxNumberOfSubjects = 924 = 6 * 22 + 24 * 33

Case (#1)

  • End of accrual, absolute accrual intensity and ‘maxNumberOfSubjects’ are given, ‘followUpTime’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(22, 33), maxNumberOfSubjects = 924)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity: 22.0, 33.0
  • Maximum number of subjects: 924

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: TRUE

Example: how to use accrual time object

kable(getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.230
  • Assumed control rate: 0.300
  • Maximum number of subjects: 924
  • Accrual time: 6.00, 30.00
  • Accrual intensity: 22.0, 33.0

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 31.8
  • median(2): 23.3
  • lambda(1): 0.0218
  • lambda(2): 0.0297
  • Hazard ratio: 0.733
  • Number of events: 324.8
  • Total accrual time: 30.00
  • Follow up time: 3.66
  • Number of events fixed: 324.8
  • Number of subjects fixed: 924
  • Number of subjects fixed (1): 462
  • Number of subjects fixed (2): 462
  • Analysis time: 33.66
  • Study duration: 33.66
  • Critical values (treatment effect scale): 0.805

Legend

  • (i): values of treatment arm i

Case 2

End of accrual, relative accrual intensity and maxNumberOfSubjects are given, absolute accrual intensity and followUpTime shall be calculated.

Example: vector based definition

accrualTime <- getAccrualTime(
    accrualTime = c(0, 6, 30),
    accrualIntensity = c(0.22, 0.33), maxNumberOfSubjects = 1000
)
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 23.80952
  • 6 - <=30: 35.71429

Formula

  • maxNumberOfSubjects = 1000 = 6 * 23.8095 + 24 * 35.7143

Case (#2)

  • End of accrual, relative accrual intensity and ‘maxNumberOfSubjects’ are given, absolute accrual intensity* and ‘followUpTime’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(0.22, 0.33), maxNumberOfSubjects = 1000)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity (relative): 0.22, 0.33
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: FALSE
  • Accrual intensity: 23.8, 35.7
  • Remaining time: 24.00

Example: list based definition

accrualTime <- getAccrualTime(
    list(
        "0 - <6" = 0.22,
        "6 - <= 30" = 0.33
    ),
    maxNumberOfSubjects = 1000
)
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 23.80952
  • 6 - <=30: 35.71429

Formula

  • maxNumberOfSubjects = 1000 = 6 * 23.8095 + 24 * 35.7143

Case (#2)

  • End of accrual, relative accrual intensity and ‘maxNumberOfSubjects’ are given, absolute accrual intensity* and ‘followUpTime’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(0.22, 0.33), maxNumberOfSubjects = 1000)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity (relative): 0.22, 0.33
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: FALSE
  • Accrual intensity: 23.8, 35.7
  • Remaining time: 24.00

Example: how to use accrual time object

kable(getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.230
  • Assumed control rate: 0.300
  • Maximum number of subjects: 1000
  • Accrual time: 6.00, 30.00

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 31.8
  • median(2): 23.3
  • lambda(1): 0.0218
  • lambda(2): 0.0297
  • Hazard ratio: 0.733
  • Number of events: 324.8
  • Total accrual time: 30.00
  • Accrual intensity: 23.8, 35.7
  • Follow up time: 2.07
  • Number of events fixed: 324.8
  • Number of subjects fixed: 1000
  • Number of subjects fixed (1): 500
  • Number of subjects fixed (2): 500
  • Analysis time: 32.07
  • Study duration: 32.07
  • Critical values (treatment effect scale): 0.805

Legend

  • (i): values of treatment arm i

Case 3

End of accrual and absolute accrual intensity are given, maxNumberOfSubjects and followUpTime shall be calculated.

Example: vector based definition

accrualTime <- getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(22, 33))

Example: list based definition

accrualTime <- getAccrualTime(list(
    "0 - <6" = 22,
    "6 - <= 30" = 33
))
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 22
  • 6 - <=30: 33

Formula

  • maxNumberOfSubjects = 924 = 6 * 22 + 24 * 33

Case (#3)

  • End of accrual and absolute accrual intensity are given, ‘maxNumberOfSubjects’* and ‘followUpTime’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(22, 33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity: 22.0, 33.0

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: TRUE
  • Maximum number of subjects: 924
  • Remaining time: 24.00

Example: how to use accrual time object

kable(getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.230
  • Assumed control rate: 0.300
  • Accrual time: 6.00, 30.00
  • Accrual intensity: 22.0, 33.0

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 31.8
  • median(2): 23.3
  • lambda(1): 0.0218
  • lambda(2): 0.0297
  • Hazard ratio: 0.733
  • Maximum number of subjects: 924
  • Number of events: 324.8
  • Total accrual time: 30.00
  • Follow up time: 3.66
  • Number of events fixed: 324.8
  • Number of subjects fixed: 924
  • Number of subjects fixed (1): 462
  • Number of subjects fixed (2): 462
  • Analysis time: 33.66
  • Study duration: 33.66
  • Critical values (treatment effect scale): 0.805

Legend

  • (i): values of treatment arm i

Case 4

End of accrual, relative accrual intensity and followUpTime are given, absolute accrual intensity and maxNumberOfSubjects shall be calculated.

Example: vector based definition

accrualTime <- getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(0.22, 0.33))
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 0.22
  • 6 - <=30: 0.33

Formula

  • maxNumberOfSubjects = 6 * 0.22 * c + 24 * 0.33 * c , where ‘c’ is a constant factor

Case (#4)

  • End of accrual, relative accrual intensity and ‘followUpTime’ are given, absolute accrual intensity** and ‘maxNumberOfSubjects’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(0.22, 0.33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity: 0.22, 0.33

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: FALSE

Example: list based definition

accrualTime <- getAccrualTime(list(
    "0 - <6" = 0.22,
    "6 - <= 30" = 0.33
))
kable(accrualTime)

Accrual time and intensity

  • 0 - < 6: 0.22
  • 6 - <=30: 0.33

Formula

  • maxNumberOfSubjects = 6 * 0.22 * c + 24 * 0.33 * c , where ‘c’ is a constant factor

Case (#4)

  • End of accrual, relative accrual intensity and ‘followUpTime’ are given, absolute accrual intensity** and ‘maxNumberOfSubjects’** shall be calculated.
  • Example: getAccrualTime(accrualTime = c(0, 6, 30), accrualIntensity = c(0.22, 0.33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 30.00
  • Accrual intensity: 0.22, 0.33

Generated parameters

  • End of accrual is user defined: TRUE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: FALSE

Example: how to use accrual time object

kable(getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3, followUpTime = 6))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.230
  • Assumed control rate: 0.300
  • Accrual time: 6.00, 30.00

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Follow up time: 6.00
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 31.8
  • median(2): 23.3
  • lambda(1): 0.0218
  • lambda(2): 0.0297
  • Hazard ratio: 0.733
  • Number of events: 324.8
  • Total accrual time: 30.00
  • Accrual intensity: 139.1, 27.8
  • Number of events fixed: 324.8
  • Number of subjects fixed: 834.7
  • Number of subjects fixed (1): 417.4
  • Number of subjects fixed (2): 417.4
  • Analysis time: 36.00
  • Study duration: 36.00
  • Critical values (treatment effect scale): 0.805

Legend

  • (i): values of treatment arm i

Case 5

maxNumberOfSubjects and absolute accrual intensity are given, end of accrual and followUpTime shall be calculated

Example: vector based definition

accrualTime <- getAccrualTime(
    accrualTime = c(0, 6),
    accrualIntensity = c(22, 33), maxNumberOfSubjects = 1000
)
kable(accrualTime)

Accrual time and intensity

  • 0.00000 - < 6.00000: 22
  • 6.00000 - <=32.30303: 33

Formula

  • maxNumberOfSubjects = 1000 = 6 * 22 + 26.303 * 33

Case (#5)

  • ‘maxNumberOfSubjects’ and absolute accrual intensity are given, end of accrual* and ‘followUpTime’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33), maxNumberOfSubjects = 1000)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 32.30
  • Accrual intensity: 22.0, 33.0
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: TRUE
  • Remaining time: 26.30

Example: list based definition

accrualTime <- getAccrualTime(
    list(
        "0 - <6" = 22,
        "6" = 33
    ),
    maxNumberOfSubjects = 1000
)
kable(accrualTime)

Accrual time and intensity

  • 0.00000 - < 6.00000: 22
  • 6.00000 - <=32.30303: 33

Formula

  • maxNumberOfSubjects = 1000 = 6 * 22 + 26.303 * 33

Case (#5)

  • ‘maxNumberOfSubjects’ and absolute accrual intensity are given, end of accrual* and ‘followUpTime’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33), maxNumberOfSubjects = 1000)
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00, 32.30
  • Accrual intensity: 22.0, 33.0
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: TRUE
  • Remaining time: 26.30

Example: how to use accrual time object

kable(getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.230
  • Assumed control rate: 0.300
  • Maximum number of subjects: 1000
  • Accrual time: 6.00, 32.30
  • Accrual intensity: 22.0, 33.0

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 31.8
  • median(2): 23.3
  • lambda(1): 0.0218
  • lambda(2): 0.0297
  • Hazard ratio: 0.733
  • Number of events: 324.8
  • Total accrual time: 32.30
  • Follow up time: 1.08
  • Number of events fixed: 324.8
  • Number of subjects fixed: 1000
  • Number of subjects fixed (1): 500
  • Number of subjects fixed (2): 500
  • Analysis time: 33.38
  • Study duration: 33.38
  • Critical values (treatment effect scale): 0.805

Legend

  • (i): values of treatment arm i

Case 6 (not possible)

maxNumberOfSubjects and relative accrual intensity are given, absolute accrual intensity[x], end of accrual and followUpTime shall be calculated

Example: vector based definition

accrualTime <- getAccrualTime(
    accrualTime = c(0, 6),
    accrualIntensity = c(0.22, 0.33),
    maxNumberOfSubjects = 1000
)
Warning: The specified accrual time and intensity cannot be supplemented
automatically with the missing information; therefore further calculations are
not possible
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 0.22

Formula

  • maxNumberOfSubjects = 1000 = 6 * 0.22 * c + (x - 6) * 0.33 * c , where ‘x’ is the unknown last accrual time and ‘c’ a constant factor

Case (#6)

  • ‘maxNumberOfSubjects’ and relative accrual intensity are given, absolute accrual intensity@, end of accrual* and ‘followUpTime’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(0.22, 0.33), maxNumberOfSubjects = 1000)
    1. Cannot be calculated.
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 0.22, 0.33
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: FALSE

Example: list based definition

accrualTime <- getAccrualTime(
    list(
        "0 - <6" = 0.22,
        "6" = 0.33
    ),
    maxNumberOfSubjects = 1000
)
Warning: The specified accrual time and intensity cannot be supplemented
automatically with the missing information; therefore further calculations are
not possible
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 0.22

Formula

  • maxNumberOfSubjects = 1000 = 6 * 0.22 * c + (x - 6) * 0.33 * c , where ‘x’ is the unknown last accrual time and ‘c’ a constant factor

Case (#6)

  • ‘maxNumberOfSubjects’ and relative accrual intensity are given, absolute accrual intensity@, end of accrual* and ‘followUpTime’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(0.22, 0.33), maxNumberOfSubjects = 1000)
    1. Cannot be calculated.
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 0.22, 0.33
  • Maximum number of subjects: 1000

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: FALSE
  • Max number of subjects is user defined: TRUE
  • Max number of subjects can be calculated directly: TRUE
  • Absolute accrual intensity is enabled: FALSE

Example: how to use accrual time object

Case 6 is not allowed and therefore an error will be shown:

tryCatch(
    {
        getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3)
    },
    error = function(e) {
        print(e$message)
    }
)
[1] "Illegal argument: the calculation of 'followUpTime' for given 'maxNumberOfSubjects' and relative accrual intensities (< 1) can only be done if end of accrual is defined"

Case 7

followUpTime and absolute accrual intensity are given,
end of accrual and maxNumberOfSubjects shall be calculated

Example: vector based definition

accrualTime <- getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33))
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 22
  • 6 - <=[?]: 33

Formula

  • maxNumberOfSubjects = 6 * 22 + (x - 6) * 33, where ‘x’ is the unknown last accrual time

Case (#7)

  • ‘followUpTime’ and absolute accrual intensity are given, end of accrual** and ‘maxNumberOfSubjects’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 22.0, 33.0

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: TRUE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: TRUE

Example: list based definition

accrualTime <- getAccrualTime(list(
    "0 - <6" = 22,
    "6" = 33
))
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 22
  • 6 - <=[?]: 33

Formula

  • maxNumberOfSubjects = 6 * 22 + (x - 6) * 33, where ‘x’ is the unknown last accrual time

Case (#7)

  • ‘followUpTime’ and absolute accrual intensity are given, end of accrual** and ‘maxNumberOfSubjects’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 22.0, 33.0

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: TRUE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: TRUE

Example: how to use accrual time object

kable(getSampleSizeSurvival(
    accrualTime = accrualTime,
    pi1 = 0.4, pi2 = 0.2, followUpTime = 6
))

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • Assumed treatment rate: 0.400
  • Accrual intensity: 22.0, 33.0
  • Follow up time: 6.00

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Assumed control rate: 0.200
  • Planned allocation ratio: 1
  • Event time: 12
  • kappa: 1
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: TRUE
  • median(1): 16.3
  • median(2): 37.3
  • lambda(1): 0.0426
  • lambda(2): 0.0186
  • Hazard ratio: 2.289
  • Maximum number of subjects: 186.1
  • Number of events: 45.8
  • Accrual time: 6.00, 7.64
  • Total accrual time: 7.64
  • Number of events fixed: 45.8
  • Number of subjects fixed: 186.1
  • Number of subjects fixed (1): 93
  • Number of subjects fixed (2): 93
  • Analysis time: 13.64
  • Study duration: 13.64
  • Critical values (treatment effect scale): 1.785

Legend

  • (i): values of treatment arm i

Case 8 (not possible)

followUpTime and relative accrual intensity are given,
absolute accrual intensity[x], end of accrual and maxNumberOfSubjects shall be calculated

Example: vector based definition

accrualTime <- getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(0.22, 0.33))
Warning: The specified accrual time and intensity cannot be supplemented
automatically with the missing information; therefore further calculations are
not possible
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 0.22
  • 6 - <=[?]: 0.33

Formula

  • maxNumberOfSubjects = 6 * 0.22 * c + (x - 6) * 0.33 * c , where ‘x’ is the unknown last accrual time and ‘c’ a constant factor

Case (#8)

  • ‘followUpTime’ and relative accrual intensity are given, absolute accrual intensity@, end of accrual and ‘maxNumberOfSubjects’ shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(0.22, 0.33))
    1. Cannot be calculated.
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 0.22, 0.33

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: TRUE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: FALSE

Example: list based definition

accrualTime <- getAccrualTime(list(
    "0 - <6" = 0.22,
    "6" = 0.33
))
Warning: The specified accrual time and intensity cannot be supplemented
automatically with the missing information; therefore further calculations are
not possible
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 0.22
  • 6 - <=[?]: 0.33

Formula

  • maxNumberOfSubjects = 6 * 0.22 * c + (x - 6) * 0.33 * c , where ‘x’ is the unknown last accrual time and ‘c’ a constant factor

Case (#8)

  • ‘followUpTime’ and relative accrual intensity are given, absolute accrual intensity@, end of accrual and ‘maxNumberOfSubjects’ shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(0.22, 0.33))
    1. Cannot be calculated.
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 0.22, 0.33

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: TRUE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: FALSE

Example: how to use accrual time object

Case 8 is not allowed and therefore an error will be shown:

tryCatch(
    {
        getSampleSizeSurvival(accrualTime = accrualTime, pi1 = 0.23, pi2 = 0.3, followUpTime = 6)
    },
    error = function(e) {
        print(e$message)
    }
)
[1] "Illegal argument: the calculation of 'maxNumberOfSubjects' for given 'followUpTime' and relative accrual intensities (< 1) can only be done if end of accrual is defined"

How to show accrual time details

You can use a sample size or power object as argument for function getAccrualTime:

sampleSize <- getSampleSizeSurvival(
    accrualTime = c(0, 6), accrualIntensity = c(22, 53),
    lambda2 = 0.05, hazardRatio = 0.8, followUpTime = 6
)
kable(sampleSize)

Design plan parameters and output for survival data

Design parameters

  • Critical values: 1.960
  • Significance level: 0.0250
  • Type II error rate: 0.2000
  • Test: one-sided

User defined parameters

  • lambda(2): 0.050
  • Hazard ratio: 0.800
  • Accrual intensity: 22.0, 53.0
  • Follow up time: 6.00

Default parameters

  • Theta H0: 1
  • Type of computation: Schoenfeld
  • Planned allocation ratio: 1
  • kappa: 1
  • Piecewise survival times: 0.00
  • Drop-out rate (1): 0.000
  • Drop-out rate (2): 0.000
  • Drop-out time: 12.00

Sample size and output

  • Direction upper: FALSE
  • median(1): 17.3
  • median(2): 13.9
  • lambda(1): 0.040
  • Maximum number of subjects: 1205.9
  • Number of events: 630.5
  • Accrual time: 6.00, 26.26
  • Total accrual time: 26.26
  • Number of events fixed: 630.5
  • Number of subjects fixed: 1205.9
  • Number of subjects fixed (1): 602.9
  • Number of subjects fixed (2): 602.9
  • Analysis time: 32.26
  • Study duration: 32.26
  • Critical values (treatment effect scale): 0.855

Legend

  • (i): values of treatment arm i
accrualTime <- getAccrualTime(sampleSize)
kable(accrualTime)

Accrual time and intensity

  • 0 - <=6: 22
  • 6 - <=[?]: 53

Formula

  • maxNumberOfSubjects = 6 * 22 + (x - 6) * 53, where ‘x’ is the unknown last accrual time

Case (#7)

  • ‘followUpTime’ and absolute accrual intensity are given, end of accrual** and ‘maxNumberOfSubjects’** shall be calculated
  • Example: getAccrualTime(accrualTime = c(0, 6), accrualIntensity = c(22, 33))
  • (*) Can be calculated directly.
  • (**) Cannot be calculated directly but with ‘getSampleSizeSurvival()’ or ‘getPowerSurvival()’.

Details

User defined parameters

  • Accrual time: 0.00, 6.00
  • Accrual intensity: 22.0, 53.0

Generated parameters

  • End of accrual is user defined: FALSE
  • Follow-up time must be user defined: TRUE
  • Max number of subjects is user defined: FALSE
  • Max number of subjects can be calculated directly: FALSE
  • Absolute accrual intensity is enabled: TRUE

System: rpact 3.5.1, R version 4.3.2 (2023-10-31 ucrt), platform: x86_64-w64-mingw32

To cite R in publications use:

R Core Team (2023). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/. To cite package ‘rpact’ in publications use:

Wassmer G, Pahlke F (2024). rpact: Confirmatory Adaptive Clinical Trial Design and Analysis. R package version 3.5.1, https://www.rpact.com, https://github.com/rpact-com/rpact, https://rpact-com.github.io/rpact/, https://www.rpact.org.