Skip to contents

This example simulates a Phase II/III parallel-group trial evaluating a new treatment against placebo on a continuous primary endpoint (e.g., a biomarker score or symptom scale). With 100 subjects randomised 1:1, we run a two-sample t-test at full enrollment and track the p-value and arm means across simulation replicates. This is the simplest complete rxsim workflow and a good starting point before moving to more complex designs. See Getting Started for an overview of the package.

Scenario

Capture scenario parameters. We will assume piece-wise linear enrollment.

sample_size <- 100
arms <- c("pbo", "trt")
allocation <- c(1,1)
delta <- 0.2
enrollment_fn <- function(n) rexp(n, rate = 1)
dropout_fn <- function(n) rexp(n, rate = 0.01)
scenario <- tidyr::expand_grid(
  sample_size = sample_size,
  allocation = list(allocation),
  delta = delta
)

allocation = c(1, 1) specifies balanced randomisation, equal expected numbers per arm. Using tidyr::expand_grid() to build the scenario data.frame embeds the design parameters directly into each analysis result row, making results self-documenting and easy to compare across parameter sweeps.

Populations

Define population generators.

population_generators <- list(
  pbo = function(n) data.frame(
    id = 1:n,
    value = rnorm(n),
    readout_time = 1
  ),
  trt = function(n) data.frame(
    id = 1:n,
    value = rnorm(n, delta),
    readout_time = 1
  )
)

Each population generator is a function of n that returns a data.frame with one row per subject. readout_time = 1 means the endpoint is observed exactly 1 time unit after a subject enrolls. The placebo arm has a mean of 0 and the treatment arm a mean of delta, a small-to-moderate standardised effect.

Triggers & Analysis

We want to do a t-test when sample_size subjects have been enrolled.

analysis_generators <- list(
  final = list(
    trigger = rlang::exprs(
      sum(!is.na(enroll_time)) >= !!sample_size
    ),
    analysis = function(df, timer){
      df_enrolled <- df |> subset(!is.na(enroll_time))
      tt <- t.test(value ~ arm, data = df_enrolled)
      data.frame(
        scenario,
        n_total = nrow(df_enrolled),
        mean_pbo = mean(df_enrolled$value[df_enrolled$arm == "pbo"]),
        mean_trt = mean(df_enrolled$value[df_enrolled$arm == "trt"]),
        p_value = unname(tt$p.value),
        stringsAsFactors = FALSE
      )
    }
  )
)

The trigger fires when the cumulative count of enrolled subjects (sum(!is.na(enroll_time))) reaches sample_size. Inside the analysis function, subset(!is.na(enroll_time)) drops subjects who have been allocated but not yet enrolled. rxsim pre-generates the full allocation list so filtering is essential. The two-sample t-test then compares endpoint values between the two enrolled arms.

Trial

Make multiple trial replicates.

trials <- replicate_trial(
  trial_name = "test_trial",
  sample_size = sample_size,
  arms = arms,
  allocation = allocation,
  enrollment = enrollment_fn,
  dropout = dropout_fn,
  analysis_generators = analysis_generators,
  population_generators = population_generators,
  n = 3
)

Simulate

To simulate all replicates:

run_trials(trials)
#> [[1]]
#> <Trial>
#>   Public:
#>     clone: function (deep = FALSE) 
#>     initialize: function (name, seed = NULL, timer = NULL, population = list(), 
#>     locked_data: list
#>     name: test_trial_1
#>     population: list
#>     results: list
#>     run: function () 
#>     seed: NULL
#>     timer: Timer, R6
#> 
#> [[2]]
#> <Trial>
#>   Public:
#>     clone: function (deep = FALSE) 
#>     initialize: function (name, seed = NULL, timer = NULL, population = list(), 
#>     locked_data: list
#>     name: test_trial_2
#>     population: list
#>     results: list
#>     run: function () 
#>     seed: NULL
#>     timer: Timer, R6
#> 
#> [[3]]
#> <Trial>
#>   Public:
#>     clone: function (deep = FALSE) 
#>     initialize: function (name, seed = NULL, timer = NULL, population = list(), 
#>     locked_data: list
#>     name: test_trial_3
#>     population: list
#>     results: list
#>     run: function () 
#>     seed: NULL
#>     timer: Timer, R6

Bind one row per replicate into one data frame.

replicate_results <- collect_results(trials)
replicate_results
#>     replicate  timepoint analysis sample_size allocation delta n_total
#> 1           1   87.36847    final         100       1, 1   0.2     100
#> 2           1  347.10044    final         100       1, 1   0.2     100
#> 3           1  364.07755    final         100       1, 1   0.2     100
#> 4           1  448.68714    final         100       1, 1   0.2     100
#> 5           1  469.18697    final         100       1, 1   0.2     100
#> 6           1  487.15448    final         100       1, 1   0.2     100
#> 7           1  538.98616    final         100       1, 1   0.2     100
#> 8           1  606.20122    final         100       1, 1   0.2     100
#> 9           1  658.76511    final         100       1, 1   0.2     100
#> 10          1  794.98780    final         100       1, 1   0.2     100
#> 11          1  944.07711    final         100       1, 1   0.2     100
#> 12          1 1181.37320    final         100       1, 1   0.2     100
#> 13          1 1212.56973    final         100       1, 1   0.2     100
#> 14          1 1232.97050    final         100       1, 1   0.2     100
#> 15          1 1264.36967    final         100       1, 1   0.2     100
#> 16          1 1365.41125    final         100       1, 1   0.2     100
#> 17          1 1414.98418    final         100       1, 1   0.2     100
#> 18          1 1580.61613    final         100       1, 1   0.2     100
#> 19          1 1905.27865    final         100       1, 1   0.2     100
#> 20          1 1928.66156    final         100       1, 1   0.2     100
#> 21          1 1948.35656    final         100       1, 1   0.2     100
#> 22          1 2080.41273    final         100       1, 1   0.2     100
#> 23          1 2116.29566    final         100       1, 1   0.2     100
#> 24          1 2471.76965    final         100       1, 1   0.2     100
#> 25          1 2506.45921    final         100       1, 1   0.2     100
#> 26          1 2624.28188    final         100       1, 1   0.2     100
#> 27          1 2670.38674    final         100       1, 1   0.2     100
#> 28          1 2721.59496    final         100       1, 1   0.2     100
#> 29          1 2730.16239    final         100       1, 1   0.2     100
#> 30          1 2897.71439    final         100       1, 1   0.2     100
#> 31          1 2943.10416    final         100       1, 1   0.2     100
#> 32          1 2970.64127    final         100       1, 1   0.2     100
#> 33          1 3098.51997    final         100       1, 1   0.2     100
#> 34          1 3101.99965    final         100       1, 1   0.2     100
#> 35          1 3117.23713    final         100       1, 1   0.2     100
#> 36          1 3264.59026    final         100       1, 1   0.2     100
#> 37          1 3324.84528    final         100       1, 1   0.2     100
#> 38          1 3376.45601    final         100       1, 1   0.2     100
#> 39          1 3382.96904    final         100       1, 1   0.2     100
#> 40          1 3392.33000    final         100       1, 1   0.2     100
#> 41          1 3653.75656    final         100       1, 1   0.2     100
#> 42          1 3778.41117    final         100       1, 1   0.2     100
#> 43          1 3954.92212    final         100       1, 1   0.2     100
#> 44          1 3993.06729    final         100       1, 1   0.2     100
#> 45          1 4028.10899    final         100       1, 1   0.2     100
#> 46          1 4041.70989    final         100       1, 1   0.2     100
#> 47          1 4165.86312    final         100       1, 1   0.2     100
#> 48          1 4195.93190    final         100       1, 1   0.2     100
#> 49          1 4258.85114    final         100       1, 1   0.2     100
#> 50          1 4480.33893    final         100       1, 1   0.2     100
#> 51          1 4485.70500    final         100       1, 1   0.2     100
#> 52          1 4538.39996    final         100       1, 1   0.2     100
#> 53          1 4621.85701    final         100       1, 1   0.2     100
#> 54          1 4980.81111    final         100       1, 1   0.2     100
#> 55          1 5022.77206    final         100       1, 1   0.2     100
#> 56          1 5025.26114    final         100       1, 1   0.2     100
#> 57          1 5283.65388    final         100       1, 1   0.2     100
#> 58          1 5322.97061    final         100       1, 1   0.2     100
#> 59          1 5454.57682    final         100       1, 1   0.2     100
#> 60          1 5667.53959    final         100       1, 1   0.2     100
#> 61          1 5807.36313    final         100       1, 1   0.2     100
#> 62          1 5822.36146    final         100       1, 1   0.2     100
#> 63          1 6024.11144    final         100       1, 1   0.2     100
#> 64          1 6033.82973    final         100       1, 1   0.2     100
#> 65          1 6099.33001    final         100       1, 1   0.2     100
#> 66          1 6240.00557    final         100       1, 1   0.2     100
#> 67          1 6313.79473    final         100       1, 1   0.2     100
#> 68          1 6398.47626    final         100       1, 1   0.2     100
#> 69          1 6843.06418    final         100       1, 1   0.2     100
#> 70          1 6893.26695    final         100       1, 1   0.2     100
#> 71          1 6937.06974    final         100       1, 1   0.2     100
#> 72          1 6940.14080    final         100       1, 1   0.2     100
#> 73          1 6951.95172    final         100       1, 1   0.2     100
#> 74          1 7300.51551    final         100       1, 1   0.2     100
#> 75          1 7357.70574    final         100       1, 1   0.2     100
#> 76          1 7422.76732    final         100       1, 1   0.2     100
#> 77          1 7434.85486    final         100       1, 1   0.2     100
#> 78          1 7455.60494    final         100       1, 1   0.2     100
#> 79          1 7516.69768    final         100       1, 1   0.2     100
#> 80          1 7811.33067    final         100       1, 1   0.2     100
#> 81          1 7857.91280    final         100       1, 1   0.2     100
#> 82          1 7997.65149    final         100       1, 1   0.2     100
#> 83          1 8034.86411    final         100       1, 1   0.2     100
#> 84          1 8063.25236    final         100       1, 1   0.2     100
#> 85          1 8163.50249    final         100       1, 1   0.2     100
#> 86          1 8287.81000    final         100       1, 1   0.2     100
#> 87          1 8329.31008    final         100       1, 1   0.2     100
#> 88          1 8368.84116    final         100       1, 1   0.2     100
#> 89          1 8400.65785    final         100       1, 1   0.2     100
#> 90          1 8571.29608    final         100       1, 1   0.2     100
#> 91          1 8584.67803    final         100       1, 1   0.2     100
#> 92          1 8625.88371    final         100       1, 1   0.2     100
#> 93          1 8644.56538    final         100       1, 1   0.2     100
#> 94          1 8700.35951    final         100       1, 1   0.2     100
#> 95          1 8828.78289    final         100       1, 1   0.2     100
#> 96          1 8850.81043    final         100       1, 1   0.2     100
#> 97          1 9065.76198    final         100       1, 1   0.2     100
#> 98          1 9187.05539    final         100       1, 1   0.2     100
#> 99          2   83.92580    final         100       1, 1   0.2     100
#> 100         2  162.86506    final         100       1, 1   0.2     100
#> 101         2  164.52703    final         100       1, 1   0.2     100
#> 102         2  409.86390    final         100       1, 1   0.2     100
#> 103         2  410.46923    final         100       1, 1   0.2     100
#> 104         2  711.15813    final         100       1, 1   0.2     100
#> 105         2  775.96471    final         100       1, 1   0.2     100
#> 106         2  859.67365    final         100       1, 1   0.2     100
#> 107         2 1025.88990    final         100       1, 1   0.2     100
#> 108         2 1131.25232    final         100       1, 1   0.2     100
#> 109         2 1156.72552    final         100       1, 1   0.2     100
#> 110         2 1221.70859    final         100       1, 1   0.2     100
#> 111         2 1376.43033    final         100       1, 1   0.2     100
#> 112         2 1382.39410    final         100       1, 1   0.2     100
#> 113         2 1383.07312    final         100       1, 1   0.2     100
#> 114         2 1452.59714    final         100       1, 1   0.2     100
#> 115         2 1458.82499    final         100       1, 1   0.2     100
#> 116         2 1487.90153    final         100       1, 1   0.2     100
#> 117         2 1574.45724    final         100       1, 1   0.2     100
#> 118         2 1687.75601    final         100       1, 1   0.2     100
#> 119         2 1885.57444    final         100       1, 1   0.2     100
#> 120         2 1930.83150    final         100       1, 1   0.2     100
#> 121         2 2103.96690    final         100       1, 1   0.2     100
#> 122         2 2266.56908    final         100       1, 1   0.2     100
#> 123         2 2482.22496    final         100       1, 1   0.2     100
#> 124         2 2829.74784    final         100       1, 1   0.2     100
#> 125         2 2876.89371    final         100       1, 1   0.2     100
#> 126         2 2904.98490    final         100       1, 1   0.2     100
#> 127         2 2982.17747    final         100       1, 1   0.2     100
#> 128         2 3051.66387    final         100       1, 1   0.2     100
#> 129         2 3207.73134    final         100       1, 1   0.2     100
#> 130         2 3233.42137    final         100       1, 1   0.2     100
#> 131         2 3329.18229    final         100       1, 1   0.2     100
#> 132         2 3335.55715    final         100       1, 1   0.2     100
#> 133         2 3383.11618    final         100       1, 1   0.2     100
#> 134         2 3397.06429    final         100       1, 1   0.2     100
#> 135         2 3436.36201    final         100       1, 1   0.2     100
#> 136         2 3476.51551    final         100       1, 1   0.2     100
#> 137         2 3781.58448    final         100       1, 1   0.2     100
#> 138         2 3890.17196    final         100       1, 1   0.2     100
#> 139         2 3907.82140    final         100       1, 1   0.2     100
#> 140         2 3957.68072    final         100       1, 1   0.2     100
#> 141         2 4046.83243    final         100       1, 1   0.2     100
#> 142         2 4070.13216    final         100       1, 1   0.2     100
#> 143         2 4236.18139    final         100       1, 1   0.2     100
#> 144         2 4366.13531    final         100       1, 1   0.2     100
#> 145         2 5058.56822    final         100       1, 1   0.2     100
#> 146         2 5195.06935    final         100       1, 1   0.2     100
#> 147         2 5247.85622    final         100       1, 1   0.2     100
#> 148         2 5306.75175    final         100       1, 1   0.2     100
#> 149         2 5447.39854    final         100       1, 1   0.2     100
#> 150         2 5453.48043    final         100       1, 1   0.2     100
#> 151         2 5578.89134    final         100       1, 1   0.2     100
#> 152         2 5613.89604    final         100       1, 1   0.2     100
#> 153         2 5872.18930    final         100       1, 1   0.2     100
#> 154         2 6068.78939    final         100       1, 1   0.2     100
#> 155         2 6175.40092    final         100       1, 1   0.2     100
#> 156         2 6190.98047    final         100       1, 1   0.2     100
#> 157         2 6229.16404    final         100       1, 1   0.2     100
#> 158         2 6323.41052    final         100       1, 1   0.2     100
#> 159         2 6401.16754    final         100       1, 1   0.2     100
#> 160         2 6496.77482    final         100       1, 1   0.2     100
#> 161         2 6560.01235    final         100       1, 1   0.2     100
#> 162         2 6569.19544    final         100       1, 1   0.2     100
#> 163         2 6571.86589    final         100       1, 1   0.2     100
#> 164         2 6807.20046    final         100       1, 1   0.2     100
#> 165         2 6896.87699    final         100       1, 1   0.2     100
#> 166         2 7109.88073    final         100       1, 1   0.2     100
#> 167         2 7124.19290    final         100       1, 1   0.2     100
#> 168         2 7159.79051    final         100       1, 1   0.2     100
#> 169         2 7197.93433    final         100       1, 1   0.2     100
#> 170         2 7316.61338    final         100       1, 1   0.2     100
#> 171         2 7581.32242    final         100       1, 1   0.2     100
#> 172         2 7847.68211    final         100       1, 1   0.2     100
#> 173         2 7902.64242    final         100       1, 1   0.2     100
#> 174         2 8062.46831    final         100       1, 1   0.2     100
#> 175         2 8189.62566    final         100       1, 1   0.2     100
#> 176         2 8233.68681    final         100       1, 1   0.2     100
#> 177         2 8338.28947    final         100       1, 1   0.2     100
#> 178         2 8346.03816    final         100       1, 1   0.2     100
#> 179         2 8349.95850    final         100       1, 1   0.2     100
#> 180         2 8359.23202    final         100       1, 1   0.2     100
#> 181         2 8429.83124    final         100       1, 1   0.2     100
#> 182         2 8441.34870    final         100       1, 1   0.2     100
#> 183         2 8555.06586    final         100       1, 1   0.2     100
#> 184         2 8585.46590    final         100       1, 1   0.2     100
#> 185         2 8614.05634    final         100       1, 1   0.2     100
#> 186         2 8780.06920    final         100       1, 1   0.2     100
#> 187         2 8849.20991    final         100       1, 1   0.2     100
#> 188         2 8851.85363    final         100       1, 1   0.2     100
#> 189         2 8867.06403    final         100       1, 1   0.2     100
#> 190         2 8968.75154    final         100       1, 1   0.2     100
#> 191         2 9149.58844    final         100       1, 1   0.2     100
#> 192         2 9263.90968    final         100       1, 1   0.2     100
#> 193         2 9389.80570    final         100       1, 1   0.2     100
#> 194         2 9399.46535    final         100       1, 1   0.2     100
#> 195         2 9476.42755    final         100       1, 1   0.2     100
#> 196         2 9483.19609    final         100       1, 1   0.2     100
#> 197         2 9531.04625    final         100       1, 1   0.2     100
#> 198         2 9574.95081    final         100       1, 1   0.2     100
#> 199         2 9650.05829    final         100       1, 1   0.2     100
#> 200         3   96.44952    final         100       1, 1   0.2     100
#> 201         3  641.30535    final         100       1, 1   0.2     100
#> 202         3  642.31945    final         100       1, 1   0.2     100
#> 203         3  674.93478    final         100       1, 1   0.2     100
#> 204         3  769.22693    final         100       1, 1   0.2     100
#> 205         3  842.08596    final         100       1, 1   0.2     100
#> 206         3  875.35735    final         100       1, 1   0.2     100
#> 207         3  907.68533    final         100       1, 1   0.2     100
#> 208         3  997.34185    final         100       1, 1   0.2     100
#> 209         3 1072.05718    final         100       1, 1   0.2     100
#> 210         3 1163.39035    final         100       1, 1   0.2     100
#> 211         3 1191.59587    final         100       1, 1   0.2     100
#> 212         3 1562.07009    final         100       1, 1   0.2     100
#> 213         3 1899.90611    final         100       1, 1   0.2     100
#> 214         3 1940.35632    final         100       1, 1   0.2     100
#> 215         3 2154.49290    final         100       1, 1   0.2     100
#> 216         3 2447.37535    final         100       1, 1   0.2     100
#> 217         3 2822.93260    final         100       1, 1   0.2     100
#> 218         3 2941.35975    final         100       1, 1   0.2     100
#> 219         3 3110.94827    final         100       1, 1   0.2     100
#> 220         3 3148.98925    final         100       1, 1   0.2     100
#> 221         3 3217.53725    final         100       1, 1   0.2     100
#> 222         3 3337.18543    final         100       1, 1   0.2     100
#> 223         3 3367.90075    final         100       1, 1   0.2     100
#> 224         3 3529.54127    final         100       1, 1   0.2     100
#> 225         3 3561.12345    final         100       1, 1   0.2     100
#> 226         3 3709.40028    final         100       1, 1   0.2     100
#> 227         3 3840.98646    final         100       1, 1   0.2     100
#> 228         3 3981.35337    final         100       1, 1   0.2     100
#> 229         3 4027.76788    final         100       1, 1   0.2     100
#> 230         3 4160.72530    final         100       1, 1   0.2     100
#> 231         3 4186.89686    final         100       1, 1   0.2     100
#> 232         3 4399.55299    final         100       1, 1   0.2     100
#> 233         3 4557.13615    final         100       1, 1   0.2     100
#> 234         3 4638.33157    final         100       1, 1   0.2     100
#> 235         3 4639.82467    final         100       1, 1   0.2     100
#> 236         3 4671.16697    final         100       1, 1   0.2     100
#> 237         3 4728.99685    final         100       1, 1   0.2     100
#> 238         3 4770.76598    final         100       1, 1   0.2     100
#> 239         3 4982.05892    final         100       1, 1   0.2     100
#> 240         3 4984.32119    final         100       1, 1   0.2     100
#> 241         3 5183.69330    final         100       1, 1   0.2     100
#> 242         3 5246.51642    final         100       1, 1   0.2     100
#> 243         3 5277.27244    final         100       1, 1   0.2     100
#> 244         3 5387.88795    final         100       1, 1   0.2     100
#> 245         3 5407.20693    final         100       1, 1   0.2     100
#> 246         3 5452.74780    final         100       1, 1   0.2     100
#> 247         3 5468.71062    final         100       1, 1   0.2     100
#> 248         3 5542.58750    final         100       1, 1   0.2     100
#> 249         3 5763.47315    final         100       1, 1   0.2     100
#> 250         3 5771.96148    final         100       1, 1   0.2     100
#> 251         3 5984.73519    final         100       1, 1   0.2     100
#> 252         3 6004.08873    final         100       1, 1   0.2     100
#> 253         3 6300.91345    final         100       1, 1   0.2     100
#> 254         3 6311.73592    final         100       1, 1   0.2     100
#> 255         3 6313.31644    final         100       1, 1   0.2     100
#> 256         3 6417.45507    final         100       1, 1   0.2     100
#> 257         3 6569.04139    final         100       1, 1   0.2     100
#> 258         3 6679.38170    final         100       1, 1   0.2     100
#> 259         3 6809.27436    final         100       1, 1   0.2     100
#> 260         3 6813.54794    final         100       1, 1   0.2     100
#> 261         3 6849.44519    final         100       1, 1   0.2     100
#> 262         3 6970.02494    final         100       1, 1   0.2     100
#> 263         3 6987.69901    final         100       1, 1   0.2     100
#> 264         3 7057.59733    final         100       1, 1   0.2     100
#> 265         3 7120.24351    final         100       1, 1   0.2     100
#> 266         3 7148.95843    final         100       1, 1   0.2     100
#> 267         3 7367.40178    final         100       1, 1   0.2     100
#> 268         3 7413.14504    final         100       1, 1   0.2     100
#> 269         3 7447.56728    final         100       1, 1   0.2     100
#> 270         3 7511.52748    final         100       1, 1   0.2     100
#> 271         3 7545.62878    final         100       1, 1   0.2     100
#> 272         3 7575.01451    final         100       1, 1   0.2     100
#> 273         3 7653.02453    final         100       1, 1   0.2     100
#> 274         3 7718.38987    final         100       1, 1   0.2     100
#> 275         3 7742.26552    final         100       1, 1   0.2     100
#> 276         3 7810.47626    final         100       1, 1   0.2     100
#> 277         3 7929.15282    final         100       1, 1   0.2     100
#> 278         3 8138.48451    final         100       1, 1   0.2     100
#> 279         3 8213.91817    final         100       1, 1   0.2     100
#> 280         3 8356.04399    final         100       1, 1   0.2     100
#> 281         3 8394.89321    final         100       1, 1   0.2     100
#> 282         3 8567.68352    final         100       1, 1   0.2     100
#> 283         3 8612.32526    final         100       1, 1   0.2     100
#> 284         3 8683.38045    final         100       1, 1   0.2     100
#> 285         3 8693.11929    final         100       1, 1   0.2     100
#> 286         3 8832.87024    final         100       1, 1   0.2     100
#> 287         3 8900.00150    final         100       1, 1   0.2     100
#> 288         3 8988.58802    final         100       1, 1   0.2     100
#> 289         3 9110.43423    final         100       1, 1   0.2     100
#> 290         3 9272.97598    final         100       1, 1   0.2     100
#> 291         3 9283.41623    final         100       1, 1   0.2     100
#> 292         3 9313.77786    final         100       1, 1   0.2     100
#> 293         3 9394.88550    final         100       1, 1   0.2     100
#> 294         3 9562.00349    final         100       1, 1   0.2     100
#> 295         3 9594.28157    final         100       1, 1   0.2     100
#> 296         3 9701.40004    final         100       1, 1   0.2     100
#> 297         3 9706.49654    final         100       1, 1   0.2     100
#> 298         3 9730.28383    final         100       1, 1   0.2     100
#>        mean_pbo   mean_trt    p_value
#> 1   -0.02475451 0.32833062 0.05877739
#> 2   -0.02475451 0.32833062 0.05877739
#> 3   -0.02475451 0.32833062 0.05877739
#> 4   -0.02475451 0.32833062 0.05877739
#> 5   -0.02475451 0.32833062 0.05877739
#> 6   -0.02475451 0.32833062 0.05877739
#> 7   -0.02475451 0.32833062 0.05877739
#> 8   -0.02475451 0.32833062 0.05877739
#> 9   -0.02475451 0.32833062 0.05877739
#> 10  -0.02475451 0.32833062 0.05877739
#> 11  -0.02475451 0.32833062 0.05877739
#> 12  -0.02475451 0.32833062 0.05877739
#> 13  -0.02475451 0.32833062 0.05877739
#> 14  -0.02475451 0.32833062 0.05877739
#> 15  -0.02475451 0.32833062 0.05877739
#> 16  -0.02475451 0.32833062 0.05877739
#> 17  -0.02475451 0.32833062 0.05877739
#> 18  -0.02475451 0.32833062 0.05877739
#> 19  -0.02475451 0.32833062 0.05877739
#> 20  -0.02475451 0.32833062 0.05877739
#> 21  -0.02475451 0.32833062 0.05877739
#> 22  -0.02475451 0.32833062 0.05877739
#> 23  -0.02475451 0.32833062 0.05877739
#> 24  -0.02475451 0.32833062 0.05877739
#> 25  -0.02475451 0.32833062 0.05877739
#> 26  -0.02475451 0.32833062 0.05877739
#> 27  -0.02475451 0.32833062 0.05877739
#> 28  -0.02475451 0.32833062 0.05877739
#> 29  -0.02475451 0.32833062 0.05877739
#> 30  -0.02475451 0.32833062 0.05877739
#> 31  -0.02475451 0.32833062 0.05877739
#> 32  -0.02475451 0.32833062 0.05877739
#> 33  -0.02475451 0.32833062 0.05877739
#> 34  -0.02475451 0.32833062 0.05877739
#> 35  -0.02475451 0.32833062 0.05877739
#> 36  -0.02475451 0.32833062 0.05877739
#> 37  -0.02475451 0.32833062 0.05877739
#> 38  -0.02475451 0.32833062 0.05877739
#> 39  -0.02475451 0.32833062 0.05877739
#> 40  -0.02475451 0.32833062 0.05877739
#> 41  -0.02475451 0.32833062 0.05877739
#> 42  -0.02475451 0.32833062 0.05877739
#> 43  -0.02475451 0.32833062 0.05877739
#> 44  -0.02475451 0.32833062 0.05877739
#> 45  -0.02475451 0.32833062 0.05877739
#> 46  -0.02475451 0.32833062 0.05877739
#> 47  -0.02475451 0.32833062 0.05877739
#> 48  -0.02475451 0.32833062 0.05877739
#> 49  -0.02475451 0.32833062 0.05877739
#> 50  -0.02475451 0.32833062 0.05877739
#> 51  -0.02475451 0.32833062 0.05877739
#> 52  -0.02475451 0.32833062 0.05877739
#> 53  -0.02475451 0.32833062 0.05877739
#> 54  -0.02475451 0.32833062 0.05877739
#> 55  -0.02475451 0.32833062 0.05877739
#> 56  -0.02475451 0.32833062 0.05877739
#> 57  -0.02475451 0.32833062 0.05877739
#> 58  -0.02475451 0.32833062 0.05877739
#> 59  -0.02475451 0.32833062 0.05877739
#> 60  -0.02475451 0.32833062 0.05877739
#> 61  -0.02475451 0.32833062 0.05877739
#> 62  -0.02475451 0.32833062 0.05877739
#> 63  -0.02475451 0.32833062 0.05877739
#> 64  -0.02475451 0.32833062 0.05877739
#> 65  -0.02475451 0.32833062 0.05877739
#> 66  -0.02475451 0.32833062 0.05877739
#> 67  -0.02475451 0.32833062 0.05877739
#> 68  -0.02475451 0.32833062 0.05877739
#> 69  -0.02475451 0.32833062 0.05877739
#> 70  -0.02475451 0.32833062 0.05877739
#> 71  -0.02475451 0.32833062 0.05877739
#> 72  -0.02475451 0.32833062 0.05877739
#> 73  -0.02475451 0.32833062 0.05877739
#> 74  -0.02475451 0.32833062 0.05877739
#> 75  -0.02475451 0.32833062 0.05877739
#> 76  -0.02475451 0.32833062 0.05877739
#> 77  -0.02475451 0.32833062 0.05877739
#> 78  -0.02475451 0.32833062 0.05877739
#> 79  -0.02475451 0.32833062 0.05877739
#> 80  -0.02475451 0.32833062 0.05877739
#> 81  -0.02475451 0.32833062 0.05877739
#> 82  -0.02475451 0.32833062 0.05877739
#> 83  -0.02475451 0.32833062 0.05877739
#> 84  -0.02475451 0.32833062 0.05877739
#> 85  -0.02475451 0.32833062 0.05877739
#> 86  -0.02475451 0.32833062 0.05877739
#> 87  -0.02475451 0.32833062 0.05877739
#> 88  -0.02475451 0.32833062 0.05877739
#> 89  -0.02475451 0.32833062 0.05877739
#> 90  -0.02475451 0.32833062 0.05877739
#> 91  -0.02475451 0.32833062 0.05877739
#> 92  -0.02475451 0.32833062 0.05877739
#> 93  -0.02475451 0.32833062 0.05877739
#> 94  -0.02475451 0.32833062 0.05877739
#> 95  -0.02475451 0.32833062 0.05877739
#> 96  -0.02475451 0.32833062 0.05877739
#> 97  -0.02475451 0.32833062 0.05877739
#> 98  -0.02475451 0.32833062 0.05877739
#> 99  -0.05831826 0.13052493 0.36397787
#> 100 -0.05831826 0.13052493 0.36397787
#> 101 -0.05831826 0.13052493 0.36397787
#> 102 -0.05831826 0.13052493 0.36397787
#> 103 -0.05831826 0.13052493 0.36397787
#> 104 -0.05831826 0.13052493 0.36397787
#> 105 -0.05831826 0.13052493 0.36397787
#> 106 -0.05831826 0.13052493 0.36397787
#> 107 -0.05831826 0.13052493 0.36397787
#> 108 -0.05831826 0.13052493 0.36397787
#> 109 -0.05831826 0.13052493 0.36397787
#> 110 -0.05831826 0.13052493 0.36397787
#> 111 -0.05831826 0.13052493 0.36397787
#> 112 -0.05831826 0.13052493 0.36397787
#> 113 -0.05831826 0.13052493 0.36397787
#> 114 -0.05831826 0.13052493 0.36397787
#> 115 -0.05831826 0.13052493 0.36397787
#> 116 -0.05831826 0.13052493 0.36397787
#> 117 -0.05831826 0.13052493 0.36397787
#> 118 -0.05831826 0.13052493 0.36397787
#> 119 -0.05831826 0.13052493 0.36397787
#> 120 -0.05831826 0.13052493 0.36397787
#> 121 -0.05831826 0.13052493 0.36397787
#> 122 -0.05831826 0.13052493 0.36397787
#> 123 -0.05831826 0.13052493 0.36397787
#> 124 -0.05831826 0.13052493 0.36397787
#> 125 -0.05831826 0.13052493 0.36397787
#> 126 -0.05831826 0.13052493 0.36397787
#> 127 -0.05831826 0.13052493 0.36397787
#> 128 -0.05831826 0.13052493 0.36397787
#> 129 -0.05831826 0.13052493 0.36397787
#> 130 -0.05831826 0.13052493 0.36397787
#> 131 -0.05831826 0.13052493 0.36397787
#> 132 -0.05831826 0.13052493 0.36397787
#> 133 -0.05831826 0.13052493 0.36397787
#> 134 -0.05831826 0.13052493 0.36397787
#> 135 -0.05831826 0.13052493 0.36397787
#> 136 -0.05831826 0.13052493 0.36397787
#> 137 -0.05831826 0.13052493 0.36397787
#> 138 -0.05831826 0.13052493 0.36397787
#> 139 -0.05831826 0.13052493 0.36397787
#> 140 -0.05831826 0.13052493 0.36397787
#> 141 -0.05831826 0.13052493 0.36397787
#> 142 -0.05831826 0.13052493 0.36397787
#> 143 -0.05831826 0.13052493 0.36397787
#> 144 -0.05831826 0.13052493 0.36397787
#> 145 -0.05831826 0.13052493 0.36397787
#> 146 -0.05831826 0.13052493 0.36397787
#> 147 -0.05831826 0.13052493 0.36397787
#> 148 -0.05831826 0.13052493 0.36397787
#> 149 -0.05831826 0.13052493 0.36397787
#> 150 -0.05831826 0.13052493 0.36397787
#> 151 -0.05831826 0.13052493 0.36397787
#> 152 -0.05831826 0.13052493 0.36397787
#> 153 -0.05831826 0.13052493 0.36397787
#> 154 -0.05831826 0.13052493 0.36397787
#> 155 -0.05831826 0.13052493 0.36397787
#> 156 -0.05831826 0.13052493 0.36397787
#> 157 -0.05831826 0.13052493 0.36397787
#> 158 -0.05831826 0.13052493 0.36397787
#> 159 -0.05831826 0.13052493 0.36397787
#> 160 -0.05831826 0.13052493 0.36397787
#> 161 -0.05831826 0.13052493 0.36397787
#> 162 -0.05831826 0.13052493 0.36397787
#> 163 -0.05831826 0.13052493 0.36397787
#> 164 -0.05831826 0.13052493 0.36397787
#> 165 -0.05831826 0.13052493 0.36397787
#> 166 -0.05831826 0.13052493 0.36397787
#> 167 -0.05831826 0.13052493 0.36397787
#> 168 -0.05831826 0.13052493 0.36397787
#> 169 -0.05831826 0.13052493 0.36397787
#> 170 -0.05831826 0.13052493 0.36397787
#> 171 -0.05831826 0.13052493 0.36397787
#> 172 -0.05831826 0.13052493 0.36397787
#> 173 -0.05831826 0.13052493 0.36397787
#> 174 -0.05831826 0.13052493 0.36397787
#> 175 -0.05831826 0.13052493 0.36397787
#> 176 -0.05831826 0.13052493 0.36397787
#> 177 -0.05831826 0.13052493 0.36397787
#> 178 -0.05831826 0.13052493 0.36397787
#> 179 -0.05831826 0.13052493 0.36397787
#> 180 -0.05831826 0.13052493 0.36397787
#> 181 -0.05831826 0.13052493 0.36397787
#> 182 -0.05831826 0.13052493 0.36397787
#> 183 -0.05831826 0.13052493 0.36397787
#> 184 -0.05831826 0.13052493 0.36397787
#> 185 -0.05831826 0.13052493 0.36397787
#> 186 -0.05831826 0.13052493 0.36397787
#> 187 -0.05831826 0.13052493 0.36397787
#> 188 -0.05831826 0.13052493 0.36397787
#> 189 -0.05831826 0.13052493 0.36397787
#> 190 -0.05831826 0.13052493 0.36397787
#> 191 -0.05831826 0.13052493 0.36397787
#> 192 -0.05831826 0.13052493 0.36397787
#> 193 -0.05831826 0.13052493 0.36397787
#> 194 -0.05831826 0.13052493 0.36397787
#> 195 -0.05831826 0.13052493 0.36397787
#> 196 -0.05831826 0.13052493 0.36397787
#> 197 -0.05831826 0.13052493 0.36397787
#> 198 -0.05831826 0.13052493 0.36397787
#> 199 -0.05831826 0.13052493 0.36397787
#> 200 -0.25739017 0.08945477 0.09253380
#> 201 -0.25739017 0.08945477 0.09253380
#> 202 -0.25739017 0.08945477 0.09253380
#> 203 -0.25739017 0.08945477 0.09253380
#> 204 -0.25739017 0.08945477 0.09253380
#> 205 -0.25739017 0.08945477 0.09253380
#> 206 -0.25739017 0.08945477 0.09253380
#> 207 -0.25739017 0.08945477 0.09253380
#> 208 -0.25739017 0.08945477 0.09253380
#> 209 -0.25739017 0.08945477 0.09253380
#> 210 -0.25739017 0.08945477 0.09253380
#> 211 -0.25739017 0.08945477 0.09253380
#> 212 -0.25739017 0.08945477 0.09253380
#> 213 -0.25739017 0.08945477 0.09253380
#> 214 -0.25739017 0.08945477 0.09253380
#> 215 -0.25739017 0.08945477 0.09253380
#> 216 -0.25739017 0.08945477 0.09253380
#> 217 -0.25739017 0.08945477 0.09253380
#> 218 -0.25739017 0.08945477 0.09253380
#> 219 -0.25739017 0.08945477 0.09253380
#> 220 -0.25739017 0.08945477 0.09253380
#> 221 -0.25739017 0.08945477 0.09253380
#> 222 -0.25739017 0.08945477 0.09253380
#> 223 -0.25739017 0.08945477 0.09253380
#> 224 -0.25739017 0.08945477 0.09253380
#> 225 -0.25739017 0.08945477 0.09253380
#> 226 -0.25739017 0.08945477 0.09253380
#> 227 -0.25739017 0.08945477 0.09253380
#> 228 -0.25739017 0.08945477 0.09253380
#> 229 -0.25739017 0.08945477 0.09253380
#> 230 -0.25739017 0.08945477 0.09253380
#> 231 -0.25739017 0.08945477 0.09253380
#> 232 -0.25739017 0.08945477 0.09253380
#> 233 -0.25739017 0.08945477 0.09253380
#> 234 -0.25739017 0.08945477 0.09253380
#> 235 -0.25739017 0.08945477 0.09253380
#> 236 -0.25739017 0.08945477 0.09253380
#> 237 -0.25739017 0.08945477 0.09253380
#> 238 -0.25739017 0.08945477 0.09253380
#> 239 -0.25739017 0.08945477 0.09253380
#> 240 -0.25739017 0.08945477 0.09253380
#> 241 -0.25739017 0.08945477 0.09253380
#> 242 -0.25739017 0.08945477 0.09253380
#> 243 -0.25739017 0.08945477 0.09253380
#> 244 -0.25739017 0.08945477 0.09253380
#> 245 -0.25739017 0.08945477 0.09253380
#> 246 -0.25739017 0.08945477 0.09253380
#> 247 -0.25739017 0.08945477 0.09253380
#> 248 -0.25739017 0.08945477 0.09253380
#> 249 -0.25739017 0.08945477 0.09253380
#> 250 -0.25739017 0.08945477 0.09253380
#> 251 -0.25739017 0.08945477 0.09253380
#> 252 -0.25739017 0.08945477 0.09253380
#> 253 -0.25739017 0.08945477 0.09253380
#> 254 -0.25739017 0.08945477 0.09253380
#> 255 -0.25739017 0.08945477 0.09253380
#> 256 -0.25739017 0.08945477 0.09253380
#> 257 -0.25739017 0.08945477 0.09253380
#> 258 -0.25739017 0.08945477 0.09253380
#> 259 -0.25739017 0.08945477 0.09253380
#> 260 -0.25739017 0.08945477 0.09253380
#> 261 -0.25739017 0.08945477 0.09253380
#> 262 -0.25739017 0.08945477 0.09253380
#> 263 -0.25739017 0.08945477 0.09253380
#> 264 -0.25739017 0.08945477 0.09253380
#> 265 -0.25739017 0.08945477 0.09253380
#> 266 -0.25739017 0.08945477 0.09253380
#> 267 -0.25739017 0.08945477 0.09253380
#> 268 -0.25739017 0.08945477 0.09253380
#> 269 -0.25739017 0.08945477 0.09253380
#> 270 -0.25739017 0.08945477 0.09253380
#> 271 -0.25739017 0.08945477 0.09253380
#> 272 -0.25739017 0.08945477 0.09253380
#> 273 -0.25739017 0.08945477 0.09253380
#> 274 -0.25739017 0.08945477 0.09253380
#> 275 -0.25739017 0.08945477 0.09253380
#> 276 -0.25739017 0.08945477 0.09253380
#> 277 -0.25739017 0.08945477 0.09253380
#> 278 -0.25739017 0.08945477 0.09253380
#> 279 -0.25739017 0.08945477 0.09253380
#> 280 -0.25739017 0.08945477 0.09253380
#> 281 -0.25739017 0.08945477 0.09253380
#> 282 -0.25739017 0.08945477 0.09253380
#> 283 -0.25739017 0.08945477 0.09253380
#> 284 -0.25739017 0.08945477 0.09253380
#> 285 -0.25739017 0.08945477 0.09253380
#> 286 -0.25739017 0.08945477 0.09253380
#> 287 -0.25739017 0.08945477 0.09253380
#> 288 -0.25739017 0.08945477 0.09253380
#> 289 -0.25739017 0.08945477 0.09253380
#> 290 -0.25739017 0.08945477 0.09253380
#> 291 -0.25739017 0.08945477 0.09253380
#> 292 -0.25739017 0.08945477 0.09253380
#> 293 -0.25739017 0.08945477 0.09253380
#> 294 -0.25739017 0.08945477 0.09253380
#> 295 -0.25739017 0.08945477 0.09253380
#> 296 -0.25739017 0.08945477 0.09253380
#> 297 -0.25739017 0.08945477 0.09253380
#> 298 -0.25739017 0.08945477 0.09253380

collect_results() returns a data.frame with replicate, timepoint, and analysis columns prepended to your analysis columns. The p_value column varies across replicates because each replicate draws fresh random data.