## ----setup, include=FALSE-----------------------------------------------------
library(knitr)
opts_chunk$set(echo = TRUE,
               message = FALSE,
               error = FALSE,
               warning = FALSE,
               comment = "",
               fig.align = "center",
               out.width = "100%")

options(mc.cores=3)

## -----------------------------------------------------------------------------
library(NCC)
library(ggplot2)

## -----------------------------------------------------------------------------
sim_scenarios <- data.frame(num_arms = 4, 
                            n_arm = 250, 
                            d1 = 250*0,
                            d2 = 250*1,
                            d3 = 250*2,
                            d4 = 250*3,
                            period_blocks = 2, 
                            mu0 = 0,
                            sigma = 1,
                            theta1 = 0,
                            theta2 = 0,
                            theta3 = 0,
                            theta4 = 0,
                            lambda0 = rep(seq(-0.15, 0.15, length.out = 9), 2),
                            lambda1 = rep(seq(-0.15, 0.15, length.out = 9), 2),
                            lambda2 = rep(seq(-0.15, 0.15, length.out = 9), 2),
                            lambda3 = rep(seq(-0.15, 0.15, length.out = 9), 2),
                            lambda4 = rep(seq(-0.15, 0.15, length.out = 9), 2),
                            trend = c(rep("linear", 9), rep("stepwise_2", 9)),
                            alpha = 0.025,
                            ncc = TRUE)

head(sim_scenarios)

## ---- eval=FALSE--------------------------------------------------------------
#  set.seed(1234)
#  sim_results <- sim_study_par(nsim = 1000, scenarios = sim_scenarios, arms = 4,
#                               models = c("fixmodel", "sepmodel", "poolmodel"),
#                               endpoint = "cont")

## ---- eval=FALSE--------------------------------------------------------------
#  [1] "Starting the simulations. 18 scenarios will be simulated. Starting time: 2023-02-19 14:24:09"
#  [1] "Scenario 1/18 done. Time: 2023-02-19 14:24:21"
#  [1] "Scenario 2/18 done. Time: 2023-02-19 14:24:26"
#  [1] "Scenario 3/18 done. Time: 2023-02-19 14:24:32"
#  [1] "Scenario 4/18 done. Time: 2023-02-19 14:24:37"
#  [1] "Scenario 5/18 done. Time: 2023-02-19 14:24:42"
#  [1] "Scenario 6/18 done. Time: 2023-02-19 14:24:47"
#  [1] "Scenario 7/18 done. Time: 2023-02-19 14:24:53"
#  [1] "Scenario 8/18 done. Time: 2023-02-19 14:24:58"
#  [1] "Scenario 9/18 done. Time: 2023-02-19 14:25:03"
#  [1] "Scenario 10/18 done. Time: 2023-02-19 14:25:08"
#  [1] "Scenario 11/18 done. Time: 2023-02-19 14:25:13"
#  [1] "Scenario 12/18 done. Time: 2023-02-19 14:25:19"
#  [1] "Scenario 13/18 done. Time: 2023-02-19 14:25:24"
#  [1] "Scenario 14/18 done. Time: 2023-02-19 14:25:30"
#  [1] "Scenario 15/18 done. Time: 2023-02-19 14:25:36"
#  [1] "Scenario 16/18 done. Time: 2023-02-19 14:25:41"
#  [1] "Scenario 17/18 done. Time: 2023-02-19 14:25:47"
#  [1] "Scenario 18/18 done. Time: 2023-02-19 14:25:52"

## ---- include=FALSE, echo=FALSE, eval=TRUE------------------------------------
# Add results manually because of long runtime of the simulation (CRAN check)

sim_results <- sim_scenarios[rep(seq_len(nrow(sim_scenarios)), each = 3), ]
rownames(sim_results) <- c(1:nrow(sim_results))

sim_results$study_arm <- 4
sim_results$model <- rep(c("fixmodel", "poolmodel", "sepmodel"), 18)

sim_results$reject_h0 <- c(0.030, 0.007, 0.027, 0.020, 0.008, 0.020, 0.025, 0.009, 0.018, 0.023, 0.018, 0.032, 0.031, 0.023, 0.027, 0.029, 0.033, 0.031, 0.031, 0.049, 0.032, 0.024, 0.053, 0.022, 0.027, 0.093, 0.025, 0.031, 0.000, 0.020, 0.020, 0.000, 0.022, 0.034, 0.002, 0.035, 0.013, 0.003, 0.018, 0.021, 0.020, 0.015, 0.025, 0.082, 0.021, 0.024, 0.199, 0.029, 0.028, 0.380, 0.029, 0.021, 0.617, 0.019)

sim_results$bias <- c(-0.0005506988, -0.0438708399, 0.0005236461, -0.0001912505, -0.0332907139, -0.0002745666, 0.0014866433, -0.0224244517, 0.0014689339, 0.0019243764, -0.0132531632, 0.0012354448, -0.0008100829, -0.0006305263, 0.0005062764, 0.0007936728, 0.0105594167, 0.0007603154, -0.0029095179, 0.0177743581, -0.0020748971, -0.0004732032, 0.0320234632, -0.0003444024, -0.0018542583, 0.0441438285, -0.0020824008, 0.0041050797, -0.1684501438, 0.0035396805, -0.0052914700, -0.1338118193, -0.0061579896, 0.0007975244, -0.0861302426, -0.0017007487, -0.0008201267, -0.0447944941, -0.0021701199, -0.0021257738, -0.0007531575, -0.0026113360, -0.0021726726,  0.0429857395, -0.0039479999, 0.0011433884, 0.0888110442, 0.0028729606, -0.0011313254, 0.1288540403, -0.0005165626, -0.0003261784, 0.1735776879, 0.0009341703)

sim_results$MSE <- c(0.007717052, 0.008220890, 0.008487647, 0.006601056, 0.006741297, 0.007570587, 0.007080945, 0.006059043, 0.007976836, 0.007338159, 0.006113367, 0.008393631, 0.007527355, 0.006224911, 0.008203350, 0.007192991, 0.006072723, 0.008228014, 0.008187574, 0.006498952, 0.009307924, 0.007103126, 0.006636311, 0.007794670, 0.007697291, 0.008650210, 0.008328635, 0.007325503, 0.034469812, 0.007933315, 0.007306962, 0.023967797, 0.008274504, 0.007618799, 0.013630920, 0.008346264, 0.006848033, 0.007418390, 0.007645439, 0.006918091, 0.005676356, 0.007640708, 0.007514734, 0.007862916, 0.008116238, 0.007187846, 0.013994993, 0.008139475, 0.006881168, 0.022324478, 0.007473595, 0.006596491, 0.035255110, 0.007170597)

sim_results$failed <- 0
sim_results$nsim <- 1000

## -----------------------------------------------------------------------------
head(sim_results)

## -----------------------------------------------------------------------------
ggplot(sim_results, aes(x=lambda0, y=reject_h0, color=model)) +
  geom_point() +
  geom_line() +
  facet_grid(~ trend) +
  geom_hline(aes(yintercept = 0.025), linetype = "dotted") +
  labs(x="Strength of time trend", y="Type I error", color="Analysis approach") +
  theme_bw()

## -----------------------------------------------------------------------------
ggplot(sim_results, aes(x=lambda0, y=bias, color=model)) +
  geom_point() +
  geom_line() +
  facet_grid(~ trend) +
  geom_hline(aes(yintercept = 0), linetype = "dotted") +
  labs(x="Strength of time trend", y="Bias", color="Analysis approach") +
  theme_bw()

## -----------------------------------------------------------------------------
ggplot(sim_results, aes(x=lambda0, y=MSE, color=model)) +
  geom_point() +
  geom_line() +
  facet_grid(~ trend) +
  labs(x="Strength of time trend", y="MSE", color="Analysis approach") +
  theme_bw()