Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup, message=F, warning=F----------------------------------------------
library(OneArm2stage)
library(survival)
library(IPDfromKM)
## ---- echo=T, eval=F----------------------------------------------------------
# Design1 <- phase2.TTE(shape=1,S0=0.72,x0=3,hr=0.459,tf=3,rate=20,alpha=0.05,
# beta=0.2, restricted=0)
## ----eval=F-------------------------------------------------------------------
# Design1
# # $Two_stage_Optimal
# # n1 c1 n c t1 MTSL ES PS
# # 1 22 -0.7215 46 1.5952 1.0619 5.3 40.1736 0.2353
# #
# # $Two_stage_minmax
# # n1 c1 n c t1 MTSL ES PS
# # 1 34 -0.731 44 1.6257 1.6997 5.2 41.6745 0.2324
# #
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 88 26 -0.7274 45 1.6061 1.2512 5.25 40.3361 0.2335 42.66805
# # 98 29 -1.0069 44 1.6293 1.4269 5.20 41.5723 0.1570 42.78615
# # 108 21 -0.7393 46 1.5952 1.0326 5.30 40.1736 0.2298 43.08680
#
## ---- echo=T, eval=F----------------------------------------------------------
# Design2 <- phase2.TTE(shape=1,S0=0.72,x0=3,hr=0.459,tf=3,rate=20,alpha=0.05,
# beta=0.2, prStop=0.35, restricted=0)
## ----eval=F-------------------------------------------------------------------
# Design2
# # $Two_stage_Optimal
# # n1 c1 n c t1 MTSL ES PS
# # 1 29 -0.3844 47 1.5799 1.4364 5.35 40.5985 0.3503
# #
# # $Two_stage_minmax
# # n1 c1 n c t1 MTSL ES PS
# # 1 40 -0.3829 44 1.6171 1.9808 5.2 42.4619 0.3509
# #
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 92 34 -0.3850 45 1.5988 1.6732 5.25 40.9611 0.3501 42.98055
# # 102 40 -0.3846 44 1.6171 1.9791 5.20 42.4522 0.3503 43.22610
# # 921 31 -0.3851 46 1.5884 1.5339 5.30 40.6365 0.3501 43.31825
# # 91 29 -0.3850 47 1.5799 1.4353 5.35 40.5949 0.3501 43.79745
#
#
## ----eval=F-------------------------------------------------------------------
# Design3 <- phase2.TTE(shape=1,S0=0.72,x0=3,hr=0.459,tf=3,rate=20,alpha=0.05,
# beta=0.2, q_value=0.1, restricted=0)
#
# Design3_2 <- phase2.TTE(shape=1,S0=0.72,x0=3,hr=0.459,tf=3,rate=20,alpha=0.05,
# beta=0.2, q_value=0.7, restricted=0)
## ----eval=F-------------------------------------------------------------------
#
# # q_value = 0.1
# Design3
# #
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 108 21 -0.7393 46 1.5952 1.0326 5.30 40.1736 0.2298 40.75624
# # 88 26 -0.7274 45 1.6061 1.2512 5.25 40.3361 0.2335 40.80249
# # 98 29 -1.0069 44 1.6293 1.4269 5.20 41.5723 0.1570 41.81507
#
# # q_value = 0.7
# Design3_2
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 98 29 -1.0069 44 1.6293 1.4269 5.20 41.5723 0.1570 43.27169
# # 88 26 -0.7274 45 1.6061 1.2512 5.25 40.3361 0.2335 43.60083
# # 108 21 -0.7393 46 1.5952 1.0326 5.30 40.1736 0.2298 44.25208
## ----echo=F-------------------------------------------------------------------
dat1 <- read.csv(system.file("extdata", "d4_t1.csv", package = "OneArm2stage"))
dat1 <- dat1[order(dat1$Entry), c("Entry", "time", "status", "Total")] #order by entry
print(dat1)
## ----echo=F-------------------------------------------------------------------
KM1 <- survfit(Surv(time, status) ~ 1, data = dat1, conf.type = "log-log")
plot(KM1, mark.time = FALSE, main = "Kaplan-Meier survival curve", xlab = "Time", ylab = "Survival probability")
## ----echo=F-------------------------------------------------------------------
summary(KM1, times=KM1$time)
## -----------------------------------------------------------------------------
LRT(shape = 1, S0=0.72, x0=3, data=dat1)
## ----echo=F-------------------------------------------------------------------
dat2 <- read.csv(system.file("extdata", "d4.csv", package = "OneArm2stage"))
dat2 <- dat2[order(dat2$Entry), c("Entry", "time", "status", "Total")]
# order by entry
print(dat2)
## ----echo=F-------------------------------------------------------------------
KM2 <- survfit(Surv(time, status) ~ 1, data = dat2, conf.type = "log-log")
plot(KM2, mark.time = FALSE, main = "Kaplan-Meier survival curve", xlab = "Time", ylab = "Survival probability")
## ----echo=F-------------------------------------------------------------------
summary(KM2, times=KM2$time)
## -----------------------------------------------------------------------------
LRT(shape=1, S0=0.72, x0=3, data=dat2)
## ---- echo=T, eval=F----------------------------------------------------------
# Design5 <- phase2.TTE(shape=1,S0=0.72,x0=3,hr=0.459,tf=3,rate=20,alpha=0.05,
# beta=0.2, restricted=1)
## ----eval=F-------------------------------------------------------------------
# Design5
# # $Two_stage_Optimal
# # n1 c1 n c t1 MTSL ES PS
# # 1 36 -0.3665 60 1.6 1.7523 6 51.0914 0.357
# #
# # $Two_stage_minmax
# # n1 c1 n c t1 MTSL ES PS
# # 1 37 -0.5517 58 1.6193 1.8222 5.9 51.7359 0.2906
# #
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 120 37 -0.5625 58 1.6196 1.8066 5.90 51.7260 0.2869 54.86300
# # 88 36 -0.4531 59 1.6086 1.7515 5.95 51.2044 0.3252 55.10220
# # 232 36 -0.3643 60 1.6000 1.7556 6.00 51.0949 0.3578 55.54745
#
## ----eval=F-------------------------------------------------------------------
# Design1$param
# # shape S0 hr alpha beta rate x0 tf q_value prStop restricted
# # 1 0.72 0.459 0.05 0.2 20 3 3 0.5 0 0
#
# Design1$Two_stage_Optimal
# # n1 c1 n c t1 MTSL ES PS
# # 1 22 -0.7215 46 1.5952 1.0619 5.3 40.1736 0.2353
#
# Design1$Two_stage_minmax
# # n1 c1 n c t1 MTSL ES PS
# # 1 34 -0.731 44 1.6257 1.6997 5.2 41.6745 0.2324
#
# Design1$Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 88 26 -0.7274 45 1.6061 1.2512 5.25 40.3361 0.2335 42.66805
# # 98 29 -1.0069 44 1.6293 1.4269 5.20 41.5723 0.1570 42.78615
# # 108 21 -0.7393 46 1.5952 1.0326 5.30 40.1736 0.2298 43.08680
#
## -----------------------------------------------------------------------------
# calculate empirical power based on optimal method, power=0.778
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.0619,
c1=-0.7215, c=1.5952, n1=22, n=46, N=10000, seed=5868)
# calculate empirical power based on minmax method, power=0.803
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.6997,
c1=-0.731, c=1.6257, n1=34, n=44, N=10000, seed=5868)
# calculate empirical power based on admissible method, power=0.789
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.2512,
c1=-0.7274, c=1.6061, n1=26, n=45, N=10000, seed=5868)
## ----eval=F-------------------------------------------------------------------
# Design5
# # $Two_stage_Optimal
# # n1 c1 n c t1 MTSL ES PS
# # 1 36 -0.3665 60 1.6 1.7523 6 51.0914 0.357
# #
# # $Two_stage_minmax
# # n1 c1 n c t1 MTSL ES PS
# # 1 37 -0.5517 58 1.6193 1.8222 5.9 51.7359 0.2906
# #
# # $Two_stage_Admissible
# # n1 c1 n c t1 MTSL ES PS Rho
# # 120 37 -0.5625 58 1.6196 1.8066 5.90 51.7260 0.2869 54.86300
# # 88 36 -0.4531 59 1.6086 1.7515 5.95 51.2044 0.3252 55.10220
# # 232 36 -0.3643 60 1.6000 1.7556 6.00 51.0949 0.3578 55.54745
#
## -----------------------------------------------------------------------------
# calculate empirical power based on optimal method, power=0.799
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.7523,
c1=-0.3665, c=1.6, n1=36, n=60, N=10000, restricted=1, seed=5868)
# calculate empirical power based on minmax method, power=0.796
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.8222,
c1=-0.5517, c=1.6193, n1=37, n=58, N=10000, restricted=1, seed=5868)
# calculate empirical power based on admissible method, power=0.796
Sim(shape=1, S0=0.72, S1=0.72^(0.459), x0=3, tf=3, rate=20, t1=1.8066,
c1=-0.5625, c=1.6196, n1=37, n=58, N=10000, restricted=1, seed=5868)
## ----eval=F-------------------------------------------------------------------
# ## First, we take a screenshot of the plot and save it as a .png file. In this example it is named as "wang2018.png".
#
# ## Next, create a path directing to the .png file.
# ## e.g. path <-"./vignettes/wang2018.png"
#
# ## Last, type the following code in console, and follow the prompts to extract data points by clicking your mouse on the plot.
# ## df <- getpoints(path, 0, 24, 0, 100) # 0,24,0,100 are the ranges of x and y-axes in the image
#
## -----------------------------------------------------------------------------
# a sample dataset that we already extracted from Wang et al, 2018.
df<- read.csv(system.file("extdata", "df.csv", package = "OneArm2stage"))
# risk time points
trisk <- c(0,2,4,6,8,10,12,14,16,18,20,22,24)
# number of patients at risk at each risk time point
nrisk.radio <- c(124,120,115,110,107,104,103,95,46,18,11,8,0)
# Preprocess the raw coordinates into an proper format for reco""nstruct IPD
pre_radio <- preprocess(dat=df, trisk=trisk, nrisk=nrisk.radio,totalpts=NULL,maxy=100)
#Reconstruct IPD
est_radio <- getIPD(prep=pre_radio,armID=0,tot.events=NULL)
## -----------------------------------------------------------------------------
plot_ex5 <- survreport(ipd1=est_radio$IPD,ipd2=NULL,arms=1,interval=2,s=c(0.75,0.5,0.25),showplots=F)
plot_ex5$arm1$survprob
## -----------------------------------------------------------------------------
ipd <- est_radio$IPD
dat3 <- as.data.frame(cbind(rep(0, nrow(ipd)),ipd$time, ipd$status))
colnames(dat3) <- c("Entry", "Time", "Cens")
## -----------------------------------------------------------------------------
modelWB<- FitDat(dat3)
#AIC
modelWB$AIC
modelWB$parameter.estimates
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.