Nothing
## ---- message=FALSE, warning=FALSE--------------------------------------------
library(mvtnorm)
arm1 <- rmvnorm(n = 30, mean = rep(10, 5), sigma = diag(5) + 0.5)
test_data <- as.data.frame(cbind(1:30, rep(1, 30), arm1))
colnames(test_data) <- c("id","arm",paste0("time_", 1:5))
knitr::kable((test_data), "simple")
## ---- message=FALSE, warning=FALSE--------------------------------------------
library(copulaSim)
## ---- message=FALSE, warning=FALSE--------------------------------------------
## Generate 1 simulated dataset
simu_S1 <- copula.sim(data.input = test_data[,-c(1,2)],
id.vec = test_data$id,
arm.vec = test_data$arm,
n.patient = 50 ,
n.simulation = 1,
seed = 2022,
validation.type = "energy",
verbose = TRUE)
## Obtain the simulated long-form dataset
simu_S1$data.simul
## ---- message=FALSE, warning=FALSE, fig.dim = c(8, 3)-------------------------
library(dplyr)
## Obtain the empirical long-form dataset
empir <- simu_S1$data.input.long %>% mutate(cate = "empirical_n30") %>% rename(data = data.input)
## Produce the marginal density plot
simul <- simu_S1$data.simul %>% mutate(cate = "copulaSim_n50") %>%
rename(data = data.sim) %>% select(-sim.id)
library(ggplot2)
rbind(empir, simul) %>% filter(grepl('time', col.name)) %>%
ggplot(aes(x = data, color = cate, fill = cate)) +
facet_wrap(.~col.name, ncol = 5) +
geom_density(alpha = 0.001, size = 1)
## ---- message=FALSE, warning=FALSE--------------------------------------------
## Converting the long-form simulated dataset to wide-form
simu.wide <- extract.data.sim(simu_S1)
simu.wide
## ---- message=FALSE, warning=FALSE--------------------------------------------
## Generate 100 simulated datasets
simu_S100 <- copula.sim(data.input = test_data[,-c(1,2)],
id.vec = test_data$id,
arm.vec = test_data$arm,
n.patient = 50 ,
n.simulation = 100,
seed = 2022,
validation.type = "none",
verbose = FALSE)
## Compare the marginal mean via the function compare.copula.sim
compare <- compare.copula.sim(simu_S100)
knitr::kable(compare$mean.comparison, "simple")
## ---- message=FALSE, warning=FALSE--------------------------------------------
## Generate Empirical Data
## Assume that the single-arm, 3-dimensional empirical data follows multivariate normal data
arm1 <- rmvnorm(n = 80, mean = c(10,10.5,11), sigma = diag(3) + 0.5)
test_data2 <- as.data.frame(cbind(1:80, rep(1,80), arm1))
colnames(test_data2) <- c("id", "arm", paste0("time_", 1:3))
## Generate 1 simulated datasets with one empirical arm and two new-arms
## The mean difference between empirical arm and
## (i) the 1st new arm is assumed to be 2.5, 2.55, and 2.6 at each time point
## (ii) the 2nd new arm is assumed to be 4.5, 4.55, and 4.6 at each time point
newARM <- new.arm.copula.sim(data.input = test_data2[,-c(1,2)],
id.vec = test_data2$id,
arm.vec = test_data2$arm,
n.patient = 100 ,
n.simulation = 1,
seed = 2022,
shift.vec.list = list(c(2.5,2.55,2.6), c(4.5,4.55,4.6)),
verbose = FALSE)
## Obtain the simulated long-form dataset
newARM$data.simul
## Verify the mean difference
newARM$data.simul %>%
group_by(.data$arm, .data$col.num) %>%
summarise(N = n(), Mean = mean(.data$data.sim), SD = sd(.data$data.sim))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.