Description Usage Arguments Details Value Note Author(s) References See Also Examples

This will calculate the timepoint where a certain power of the specified test statistics is obtained accouting for staggered entry, delayed treatment effect, treatment crossover and loss to follow-up.

1 2 3 4 5 6 7 8 9 10 | ```
pwepowerfindt(power=0.9,alpha=0.05,twosided=1,tupp=5,tlow=1,taur=1.2,
u=c(1/taur,1/taur),ut=c(taur/2,taur),pi1=0.5,
rate11=c(1,0.5),rate21=rate11,rate31=c(0.7,0.4),
rate41=rate21,rate51=rate21,ratec1=c(0.5,0.6),
rate10=rate11,rate20=rate10,rate30=rate31,
rate40=rate20,rate50=rate20,ratec0=c(0.6,0.5),
tchange=c(0,1),type1=1,type0=1,
rp21=0.5,rp20=0.5,eps=1.0e-2,veps=1.0e-2,
epsbeta=1.0e-04,iterbeta=25,
n=1000,testtype=1,maxiter=20,itereps=0.001)
``` |

`power` |
the desired power |

`alpha` |
type-1 error |

`twosided` |
twoside test or not |

`tupp` |
an upper time point where the power should be larger than |

`tlow` |
a lower time point where the power should be smaller than |

`taur` |
recruitment time |

`u` |
Piecewise constant recuitment rate |

`ut` |
Recruitment intervals |

`pi1` |
Allocation probability for the treatment group |

`rate11` |
Hazard before crossover for the treatment group |

`rate21` |
Hazard after crossover for the treatment group |

`rate31` |
Hazard for time to crossover for the treatment group |

`rate41` |
Hazard after crossover for the treatment group for complex case |

`rate51` |
Hazard after crossover for the treatment group for complex case |

`ratec1` |
Hazard for time to censoring for the treatment group |

`rate10` |
Hazard before crossover for the control group |

`rate20` |
Hazard after crossover for the control group |

`rate30` |
Hazard for time to crossover for the control group |

`rate40` |
Hazard after crossover for the control group for complex case |

`rate50` |
Hazard after crossover for the control group for complex case |

`ratec0` |
Hazard for time to censoring for the control group |

`tchange` |
A strictly increasing sequence of time points at which the event rates changes. The first element of tchange must be zero. It must have the same length as |

`type1` |
Type of crossover in the treatment group |

`type0` |
Type of crossover in the control group |

`rp21` |
re-randomization prob in the treatment group |

`rp20` |
re-randomization prob in the control group |

`eps` |
error tolerence |

`veps` |
error tolenrence for calculating variance |

`epsbeta` |
error tolerance for calculating overall log HR |

`iterbeta` |
maximum number of iterations for calculating overall log HR |

`n` |
total number of subjects |

`testtype` |
test statistics, =1 log-rank;=2 Cox model; =3 log-rank with robust variance |

`maxiter` |
maximum number of bi-section iterations |

`itereps` |
error tolerance of |

The hazard functions corresponding to `rate11`

,...,`rate51`

,`ratec1`

, `rate10`

,...,`rate50`

,`ratec0`

are all piecewise constant function taking the form *λ(t)=∑_{j=1}^m λ_j I(t_{j-1}≤ t<t_j)*, where *λ_1,…,λ_m* are the corresponding elements of the rates and *t_0,…,t_{m-1}* are the corresponding elements of tchange, *t_m=∞*. Note that all the rates must have the same `tchange`

.

`testtype` |
type of statistic, =1 log-rank;=2 Cox model; =3 log-rank with robust variance |

`time` |
time calculated when the iterations stop |

`power` |
the power at |

`err` |
distance from the desired power |

`k` |
number of bi-section iterations performed |

Version 1.0 (7/19/2016)

Xiaodong Luo

Luo, et al. (2017)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ```
t<-seq(3,6,by=1)
taur<-1.2
u<-c(1/taur,1/taur)
ut<-c(taur/2,taur)
r11<-c(0.2,0.1)
r21<-r11
r31<-c(0.03,0.02)
r41<-r51<-r21
rc1<-c(0.01,0.02)
r10<-c(0.2,0.2)
r20<-r10
r30<-c(0.02,0.01)
r40<-r50<-r20
rc0<-c(0.02,0.01)
getpower<-pwepower(t=t,alpha=0.05,twosided=1,taur=taur,u=u,ut=ut,pi1=0.5,
rate11=r11,rate21=r21,rate31=r31,rate41=r41,rate51=r51,ratec1=rc1,
rate10=r10,rate20=r20,rate30=r30,rate40=r40,rate50=r50,ratec0=rc0,
tchange=c(0,1),type1=1,type0=1,n=1000)
###powers at each time point
cbind(t,getpower$power[,1:3])
###90% power should be in (3,3.5)
getpwtime<-pwepowerfindt(power=0.9,alpha=0.05,twosided=1,tupp=3.5,tlow=3,taur=taur,
u=u,ut=ut,pi1=0.5,rate11=r11,rate21=r21,rate31=r31,rate41=r41,rate51=r51,ratec1=rc1,
rate10=r10,rate20=r20,rate30=r30,rate40=r40,rate50=r50,ratec0=rc0,
tchange=c(0,1),type1=1,type0=1,n=1000,testtype=1,maxiter=30)
getpwtime
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.