% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/RcppExports.R
\name{natrisk}
\alias{natrisk}
\title{Number of Subjects at Risk}
\usage{
natrisk(
  t = 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_,
  time = NA_real_
)
}
\arguments{
\item{t}{A vector of analysis times at which to calculate the number
of patients at risk.}

\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}.}

\item{time}{Calendar time for the analysis.}
}
\value{
A matrix of the number of patients at risk at the specified
analysis times (row) for each treatment group (column).
}
\description{
Obtains the number of subjects at risk at given analysis
times for each treatment group.
}
\details{
For a given treatment group \eqn{g} and calendar time \eqn{\tau},
the number of patients at risk at analysis time \eqn{t} is calculated as
\deqn{\phi_g A(\tau - t) S_g(t) G_g(t),} where \eqn{\phi_g} is the
probability of randomization to treatment group \eqn{g},
\eqn{A(\tau - t)} is the number of patients enrolled by calendar time
\eqn{\tau - t}, \eqn{S_g(t)G_g(t)} is the probability of being at risk at
analysis time \eqn{t} for a patient in treatment group \eqn{g}
after enrollment. Obviously, \eqn{t < \min(\tau, T_{\rm{fmax}})}.
}
\examples{
# Piecewise accrual, piecewise exponential survivals, and 5\% dropout by
# the end of 1 year.

natrisk(t = 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, time = 30)

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