% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/RcppExports.R
\name{nbpowerequiv}
\alias{nbpowerequiv}
\title{Power for Equivalence in Negative Binomial Rate Ratio}
\usage{
nbpowerequiv(
  kMax = 1L,
  informationRates = NA_real_,
  criticalValues = NULL,
  alpha = 0.05,
  typeAlphaSpending = "sfOF",
  parameterAlphaSpending = NA_real_,
  userAlphaSpending = NA_real_,
  rateRatioLower = NA_real_,
  rateRatioUpper = NA_real_,
  allocationRatioPlanned = 1,
  accrualTime = 0L,
  accrualIntensity = NA_real_,
  piecewiseSurvivalTime = 0L,
  stratumFraction = 1L,
  kappa1 = NA_real_,
  kappa2 = NA_real_,
  lambda1 = NA_real_,
  lambda2 = NA_real_,
  gamma1 = 0L,
  gamma2 = 0L,
  accrualDuration = NA_real_,
  followupTime = NA_real_,
  fixedFollowup = FALSE,
  spendingTime = NA_real_,
  studyDuration = NA_real_
)
}
\arguments{
\item{kMax}{The maximum number of stages.}

\item{informationRates}{The information rates.
Defaults to \code{(1:kMax) / kMax} if left unspecified.}

\item{criticalValues}{Upper boundaries on the z-test statistic scale
for stopping for efficacy.}

\item{alpha}{The significance level for each of the two one-sided
tests. Defaults to 0.05.}

\item{typeAlphaSpending}{The type of alpha spending. One of the following:
\code{"OF"} for O'Brien-Fleming boundaries,
\code{"P"} for Pocock boundaries,
\code{"WT"} for Wang & Tsiatis boundaries,
\code{"sfOF"} for O'Brien-Fleming type spending function,
\code{"sfP"} for Pocock type spending function,
\code{"sfKD"} for Kim & DeMets spending function,
\code{"sfHSD"} for Hwang, Shi & DeCani spending function,
\code{"user"} for user defined spending, and
\code{"none"} for no early efficacy stopping.
Defaults to \code{"sfOF"}.}

\item{parameterAlphaSpending}{The parameter value for the alpha spending.
Corresponds to \eqn{\Delta} for \code{"WT"}, \eqn{\rho} for \code{"sfKD"},
and \eqn{\gamma} for \code{"sfHSD"}.}

\item{userAlphaSpending}{The user defined alpha spending. Cumulative alpha
spent up to each stage.}

\item{rateRatioLower}{The lower equivalence limit of rate ratio.}

\item{rateRatioUpper}{The upper equivalence limit of rate ratio.}

\item{allocationRatioPlanned}{Allocation ratio for the active treatment
versus control. Defaults to 1 for equal randomization.}

\item{accrualTime}{A vector that specifies the starting time of
piecewise Poisson enrollment time intervals. Must start with 0, e.g.,
\code{c(0, 3)} breaks the time axis into 2 accrual intervals:
\eqn{[0, 3)} and \eqn{[3, \infty)}.}

\item{accrualIntensity}{A vector of accrual intensities. One for
each accrual time interval.}

\item{piecewiseSurvivalTime}{A vector that specifies the starting time of
piecewise exponential survival time intervals. Must start with 0, e.g.,
\code{c(0, 6)} breaks the time axis into 2 event intervals:
\eqn{[0, 6)} and \eqn{[6, \infty)}.
Defaults to 0 for exponential distribution.}

\item{stratumFraction}{A vector of stratum fractions that sum to 1.
Defaults to 1 for no stratification.}

\item{kappa1}{The dispersion parameter (reciprocal of the shape parameter
of the gamma mixing distribution) for the active treatment group
by stratum.}

\item{kappa2}{The dispersion parameter (reciprocal of the shape parameter
of the gamma mixing distribution) for the control group by stratum.}

\item{lambda1}{The rate parameter of the negative binomial distribution
for the active treatment group by stratum.}

\item{lambda2}{The rate parameter of the negative binomial distribution
for the control group by stratum.}

\item{gamma1}{The hazard rate for exponential dropout, a vector of hazard
rates for piecewise exponential dropout applicable for all strata, or a
vector of hazard rates for dropout in each analysis time interval
by stratum for the active treatment group.}

\item{gamma2}{The hazard rate for exponential dropout, a vector of hazard
rates for piecewise exponential dropout applicable for all strata, or a
vector of hazard rates for dropout in each analysis time interval
by stratum for the control group.}

\item{accrualDuration}{Duration of the enrollment period.}

\item{followupTime}{Follow-up time for the last enrolled subject.}

\item{fixedFollowup}{Whether a fixed follow-up design is used.
Defaults to \code{FALSE} for variable follow-up.}

\item{spendingTime}{A vector of length \code{kMax} for the error spending
time at each analysis. Defaults to missing, in which case, it is the
same as \code{informationRates}.}

\item{studyDuration}{Study duration for fixed follow-up design.
Defaults to missing, which is to be replaced with the sum of
\code{accrualDuration} and \code{followupTime}. If provided,
the value is allowed to be less than the sum of \code{accrualDuration}
and \code{followupTime}.}
}
\value{
An S3 class \code{nbpowerequiv} object with 4 components:
\itemize{
\item \code{overallResults}: A data frame containing the following variables:
\itemize{
\item \code{overallReject}: The overall rejection probability.
\item \code{alpha}: The overall significance level.
\item \code{numberOfEvents}: The total number of events.
\item \code{numbeOfSubjects}: The total number of subjects.
\item \code{exposure}: The total exposure.
\item \code{studyDuration}: The total study duration.
\item \code{information}: The maximum information.
\item \code{expectedNumberOfEvents}: The expected number of events.
\item \code{expectedNumberOfSubjects}: The expected number of subjects.
\item \code{expectedExposure}: The expected exposure.
\item \code{expectedStudyDuration}: The expected study duration.
\item \code{expectedInformation}: The expected information.
\item \code{kMax}: The number of stages.
\item \code{rateRatioLower}: The lower equivalence limit of rate ratio.
\item \code{rateRatioUpper}: The upper equivalence limit of rate ratio.
\item \code{rateRatio}: The rate ratio.
\item \code{accrualDuration}: The accrual duration.
\item \code{followupTime}: The follow-up duration.
\item \code{fixedFollowup}: Whether a fixed follow-up design is used.
}
\item \code{byStageResults}: A data frame containing the following variables:
\itemize{
\item \code{informationRates}: The information rates.
\item \code{efficacyBounds}: The efficacy boundaries on the Z-scale for
each of the two one-sided tests.
\item \code{rejectPerStage}: The probability for efficacy stopping.
\item \code{cumulativeRejection}: The cumulative probability for efficacy
stopping.
\item \code{cumulativeAlphaSpent}: The cumulative alpha for each of
the two one-sided tests.
\item \code{cumulativeAttainedAlphaH10}: The cumulative alpha attained
under \code{H10}.
\item \code{cumulativeAttainedAlphaH20}: The cumulative alpha attained
under \code{H20}.
\item \code{numberOfEvents}: The number of events.
\item \code{numberOfDropouts}: The number of dropouts.
\item \code{numberOfSubjects}: The number of subjects.
\item \code{exposure}: The exposure.
\item \code{analysisTime}: The average time since trial start.
\item \code{efficacyRateRatioLower}: The efficacy boundaries on the
rate ratio scale for the one-sided null hypothesis at the
lower equivalence limit.
\item \code{efficacyRateRatioUpper}: The efficacy boundaries on the
rate ratio scale for the one-sided null hypothesis at the
upper equivalence limit.
\item \code{efficacyP}: The efficacy bounds on the p-value scale for
each of the two one-sided tests.
\item \code{information}: The cumulative information.
}
\item \code{settings}: A list containing the following input parameters:
\code{typeAlphaSpending}, \code{parameterAlphaSpending},
\code{userAlphaSpending}, \code{allocationRatioPlanned},
\code{accrualTime}, \code{accuralIntensity},
\code{piecewiseSurvivalTime}, \code{stratumFraction},
\code{kappa1}, \code{kappa2},
\code{lambda1}, \code{lambda2}, \code{gamma1}, \code{gamma2},
\code{spendingTime}.
\item \code{byTreatmentCounts}: A list containing the following counts by
treatment group:
\itemize{
\item \code{numberOfEvents1}: The number of events by stage for
the treatment group.
\item \code{numberOfDropouts1}: The number of dropouts by stage for
the treatment group.
\item \code{numberOfSubjects1}: The number of subjects by stage for
the treatment group.
\item \code{exposure1}: The exposure by stage for the treatment group.
\item \code{numberOfEvents2}: The number of events by stage for
the control group.
\item \code{numberOfDropouts2}: The number of dropouts by stage for
the control group.
\item \code{numberOfSubjects2}: The number of subjects by stage for
the control group.
\item \code{exposure2}: The exposure by stage for the control group.
\item \code{expectedNumberOfEvents1}: The expected number of events for
the treatment group.
\item \code{expectedNumberOfDropouts1}: The expected number of dropouts
for the treatment group.
\item \code{expectedNumberOfSubjects1}: The expected number of subjects
for the treatment group.
\item \code{expectedExposure1}: The expected exposure for the treatment
group.
\item \code{expectedNumberOfEvents2}: The expected number of events for
control group.
\item \code{expectedNumberOfDropouts2}: The expected number of dropouts
for the control group.
\item \code{expectedNumberOfSubjects2}: The expected number of subjects
for the control group.
\item \code{expectedExposure2}: The expected exposure for the control
group.
}
}
}
\description{
Obtains the power for equivalence in negative binomial
rate ratio.
}
\examples{

# Example 1: Variable follow-up design
nbpowerequiv(kMax = 2, informationRates = c(0.5, 1),
             alpha = 0.05, typeAlphaSpending = "sfOF",
             rateRatioLower = 2/3, rateRatioUpper = 3/2,
             accrualIntensity = 1956/1.25,
             kappa1 = 5, kappa2 = 5,
             lambda1 = 0.125, lambda2 = 0.125,
             gamma1 = 0, gamma2 = 0,
             accrualDuration = 1.25,
             followupTime = 2.75, fixedFollowup = FALSE)

# Example 2: Fixed follow-up design
nbpowerequiv(kMax = 2, informationRates = c(0.5, 1),
             alpha = 0.05, typeAlphaSpending = "sfOF",
             rateRatioLower = 0.5, rateRatioUpper = 2,
             accrualIntensity = 220/1.5,
             stratumFraction = c(0.2, 0.8),
             kappa1 = 3, kappa2 = 3,
             lambda1 = c(8.4, 10.2),
             lambda2 = c(8.0, 11.5),
             gamma1 = 0, gamma2 = 0,
             accrualDuration = 1.5,
             followupTime = 0.5, fixedFollowup = TRUE)

}
\seealso{
\code{\link{nbstat}}
}
\author{
Kaifeng Lu, \email{kaifenglu@gmail.com}
}
