Nothing
#########################################################
# Calculates Lambda_t = Sum_1^t I_{t-s} * w_s #
# with I incidence and w discrete SI distribution #
#########################################################
#' Overall Infectivity Due To Previously Infected Individuals
#'
#' \code{overall_infectivity} computes the overall infectivity due to previously
#' infected individuals.
#'
#' @param incid One of the following \itemize{ \item{A vector (or a dataframe
#' with a single column) of non-negative integers containing an incidence time
#' series} \item{A dataframe of non-negative integers with two columns, so
#' that \code{incid$local} contains the incidence of cases due to local
#' transmission and \code{incid$imported} contains the incidence of imported
#' cases (with \code{incid$local + incid$imported} the total incidence).} }
#' Note that the cases from the first time step are always all assumed to be
#' imported cases.
#' @param si_distr Vector of probabilities giving the discrete distribution of
#' the serial interval.
#' @return A vector which contains the overall infectivity \eqn{\lambda_t} at
#' each time step
#' @details{ The overall infectivity \eqn{\lambda_t} at time step \eqn{t} is
#' equal to the sum of the previously infected individuals (given by the
#' incidence vector \eqn{I}, with \code{I = incid$local + incid$imported} if
#' \eqn{I} is a matrix), weigthed by their infectivity at time \eqn{t} (given by
#' the discrete serial interval distribution \eqn{w_k}). In mathematical terms:
#' \cr \eqn{\lambda_t = \sum_{k=1}^{t-1}I_{t-k}w_k} \cr }
#' @seealso \code{\link{discr_si}}, \code{\link{estimate_R}}
#' @author Anne Cori \email{a.cori@@imperial.ac.uk}
#' @references Cori, A. et al. A new framework and software to estimate
#' time-varying reproduction numbers during epidemics (AJE 2013).
#' @export
#' @examples
#' ## load data on pandemic flu in a school in 2009
#' data("Flu2009")
#'
#' ## compute overall infectivity
#' lambda <- overall_infectivity(Flu2009$incidence, Flu2009$si_distr)
#' par(mfrow=c(2,1))
#' plot(Flu2009$incidence, type = "s", xlab = "time (days)", ylab = "incidence")
#' title(main = "Epidemic curve")
#' plot(lambda, type = "s", xlab = "time (days)", ylab = "Infectivity")
#' title(main = "Overall infectivity")
overall_infectivity <- function(incid, si_distr) {
incid <- process_I(incid)
T <- nrow(incid)
check_si_distr(si_distr, "warning")
lambda <- vector()
lambda[1] <- NA
for (t in seq(2, T))
lambda[t] <- sum(si_distr[seq_len(t)] *
rowSums(incid[seq(t, 1), c("local", "imported")]),
na.rm = TRUE)
return(lambda)
}
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.