% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/RcppExports.R
\name{nevent}
\alias{nevent}
\title{Number of Subjects Having an Event by Calendar Time}
\usage{
nevent(
  time = NA_real_,
  allocationRatioPlanned = 1,
  accrualTime = 0L,
  accrualIntensity = NA_real_,
  piecewiseSurvivalTime = 0L,
  lambda1 = NA_real_,
  lambda2 = NA_real_,
  gamma1 = 0L,
  gamma2 = 0L,
  accrualDuration = NA_real_,
  maxFollowupTime = NA_real_
)
}
\arguments{
\item{time}{A vector of calendar times at which to calculate the number
of patients having an event.}

\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{lambda1}{A vector of hazard rates for the event for the
active treatment group. One for each analysis time interval.}

\item{lambda2}{A vector of hazard rates for the event for the
control group. One for each analysis time interval.}

\item{gamma1}{The hazard rate for exponential dropout, or a vector of
hazard rates for piecewise exponential dropout for the active
treatment group.}

\item{gamma2}{The hazard rate for exponential dropout, or a vector of
hazard rates for piecewise exponential dropout for the control group.}

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

\item{maxFollowupTime}{Follow-up time for the first enrolled subject.
For fixed follow-up, \code{maxFollowupTime = minFollowupTime}.
For variable follow-up,
\code{maxFollowupTime = accrualDuration + minFollowupTime}.}
}
\value{
A matrix of the number of patients having an event at the
specified calendar times (row) for each treatment group (column).
}
\description{
Obtains the number of subjects having an event by given
calendar times for each treatment group.
}
\details{
For a given treatment group \eqn{g} and calendar time \eqn{\tau},
the number of patients having an event by calendar time \eqn{\tau} is
calculated as \eqn{I_1 + I_2}, where
\deqn{I_1 = \phi_g A(\tau - T_{\rm{fmax}}) P_g(T_{\rm{fmax}}),} and
\deqn{I_2 = \phi_g \int_{\tau - T_{\rm{fmax}}}^{\tau} a(u) P_g(\tau - u) du,}
where \eqn{\phi_g} is the probability of randomization to treatment group \eqn{g},
\eqn{A(\tau - T_{\rm{fmax}})} is the number of patients enrolled by
calendar time \eqn{\tau - T_{\rm{fmax}}},
\eqn{P_g(T_{\rm{fmax}})} is the probability of having an event by
the maximum follow-up time \eqn{T_{\rm{fmax}}} for a patient in
treatment group \eqn{g} after enrollment,
\eqn{a(u)} is the accrual intensity at calendar time \eqn{u},
and \eqn{P_g(\tau - u)} is the probability of having an event by
calendar time \eqn{\tau} for a patient in treatment group \eqn{g}
enrolled at calendar time \eqn{u}.
}
\examples{
# Piecewise accrual, piecewise exponential survivals, and 5\% dropout by
# the end of 1 year.
nevent(time = c(9, 24), allocationRatioPlanned = 1,
       accrualTime = c(0, 3), accrualIntensity = c(10, 20),
       piecewiseSurvivalTime = c(0, 6),
       lambda1 = c(0.0533, 0.0309), lambda2 = c(0.0533, 0.0533),
       gamma1 = -log(1-0.05)/12, gamma2 = -log(1-0.05)/12,
       accrualDuration = 12, maxFollowupTime = 30)

}
\author{
Kaifeng Lu, \email{kaifenglu@gmail.com}
}
