]> nmode's Git Repositories - Rnaught/commitdiff
Re-gen docs and prevent genning of internal functions
authorNaeem Model <me@nmode.ca>
Fri, 30 Jun 2023 00:04:19 +0000 (00:04 +0000)
committerNaeem Model <me@nmode.ca>
Fri, 30 Jun 2023 00:04:19 +0000 (00:04 +0000)
R/WP.R
R/WP_internal.R
R/seqB.R
man/ID.Rd
man/IDEA.Rd
man/WP.Rd
man/WP_known.Rd [deleted file]
man/WP_unknown.Rd [deleted file]
man/computeLL.Rd [deleted file]
man/seqB.Rd

diff --git a/R/WP.R b/R/WP.R
index a6e53546d8d9b8ecbac1480822e404079cd6d130..5440e35deb88ff0c31a9ddb36008fa4c11b15a52 100644 (file)
--- a/R/WP.R
+++ b/R/WP.R
@@ -43,8 +43,8 @@
 #'               \code{scale.max}, which is the largest possible value of the
 #'               scale parameter; and the third is \code{shape.max}, which is
 #'               the largest possible value of the shape parameter. Defaults to
 #'               \code{scale.max}, which is the largest possible value of the
 #'               scale parameter; and the third is \code{shape.max}, which is
 #'               the largest possible value of the shape parameter. Defaults to
-#'               \code{B=100, scale.max=10, shape.max=10}. For both shape and
-#'               scale, the smallest possible value is 1/\code{B}.
+#'               \code{B = 100, scale.max = 10, shape.max = 10}. For both shape
+#'               and scale, the smallest possible value is 1/\code{B}.
 #' @param tol Cutoff value for cumulative distribution function of the
 #'            pre-discretization gamma serial distribution. Defaults to 0.999
 #'            (i.e. in the discretization, the maximum is chosen such that the
 #' @param tol Cutoff value for cumulative distribution function of the
 #'            pre-discretization gamma serial distribution. Defaults to 0.999
 #'            (i.e. in the discretization, the maximum is chosen such that the
index 420d0c05b2a5479448ef235561c469131ec07354..dd10d29c7ce3f36f773bd0a80919809f4d4c92fc 100644 (file)
@@ -9,7 +9,7 @@
 #'
 #' @return The function returns the maximum likelihood estimator of R0.
 #'
 #'
 #' @return The function returns the maximum likelihood estimator of R0.
 #'
-#' @keywords internal
+#' @noRd
 WP_known <- function(NT, p) {
   k <- length(p)
   TT <- length(NT) - 1
 WP_known <- function(NT, p) {
   k <- length(p)
   TT <- length(NT) - 1
@@ -54,7 +54,7 @@ WP_known <- function(NT, p) {
 #'
 #' @importFrom stats pgamma qgamma
 #'
 #'
 #' @importFrom stats pgamma qgamma
 #'
-#' @keywords internal
+#' @noRd
 WP_unknown <- function(NT, B = 100, shape.max = 10, scale.max = 10,
                        tol = 0.999) {
   shape <- seq(0, shape.max, length.out = B + 1)
 WP_unknown <- function(NT, B = 100, shape.max = 10, scale.max = 10,
                        tol = 0.999) {
   shape <- seq(0, shape.max, length.out = B + 1)
@@ -91,14 +91,14 @@ WP_unknown <- function(NT, B = 100, shape.max = 10, scale.max = 10,
 #' This is a background/internal function called by \code{WP}. It computes the
 #' log-likelihood.
 #'
 #' This is a background/internal function called by \code{WP}. It computes the
 #' log-likelihood.
 #'
-#' @param NT Vector of case counts.
 #' @param p Discretized version of the serial distribution.
 #' @param p Discretized version of the serial distribution.
+#' @param NT Vector of case counts.
 #' @param R0 Basic reproductive ratio.
 #'
 #' @return This function returns the log-likelihood at the input variables and
 #'         parameters.
 #'
 #' @param R0 Basic reproductive ratio.
 #'
 #' @return This function returns the log-likelihood at the input variables and
 #'         parameters.
 #'
-#' @keywords internal
+#' @noRd
 computeLL <- function(p, NT, R0) {
   k <- length(p)
   TT <- length(NT) - 1
 computeLL <- function(p, NT, R0) {
   k <- length(p)
   TT <- length(NT) - 1
index e51117f852f976216241c368112f04d2dac4ed5d..09efe07450ff8e9471b9add18745cfd156b319fd 100644 (file)
--- a/R/seqB.R
+++ b/R/seqB.R
@@ -11,7 +11,7 @@
 #' posterior distribution. The prior distribution is the initial belief of the
 #' distribution of R0, which is the uninformative uniform distribution with
 #' values between zero and \code{kappa}. Users can change the value of
 #' posterior distribution. The prior distribution is the initial belief of the
 #' distribution of R0, which is the uninformative uniform distribution with
 #' values between zero and \code{kappa}. Users can change the value of
-#' /code{kappa} only (i.e., the prior distribution cannot be changed from the
+#' \code{kappa} only (i.e., the prior distribution cannot be changed from the
 #' uniform). As more case counts are observed, the influence of the prior
 #' distribution should lessen on the final estimate \code{Rhat}.
 #'
 #' uniform). As more case counts are observed, the influence of the prior
 #' distribution should lessen on the final estimate \code{Rhat}.
 #'
@@ -41,7 +41,7 @@
 #'         \code{Rhat} is the estimate of R0 (the posterior mean),
 #'         \code{posterior} is the posterior distribution of R0 from which
 #'         alternate estimates can be obtained (see examples), and \code{group}
 #'         \code{Rhat} is the estimate of R0 (the posterior mean),
 #'         \code{posterior} is the posterior distribution of R0 from which
 #'         alternate estimates can be obtained (see examples), and \code{group}
-#'         is an indicator variable (if \code{group=TRUE}, zero values of NT
+#'         is an indicator variable (if \code{group == TRUE}, zero values of NT
 #'         were input and grouping was done to obtain \code{Rhat}). The variable
 #'         \code{posterior} is returned as a list made up of \code{supp} (the
 #'         support of the distribution) and \code{pmf} (the probability mass
 #'         were input and grouping was done to obtain \code{Rhat}). The variable
 #'         \code{posterior} is returned as a list made up of \code{supp} (the
 #'         support of the distribution) and \code{pmf} (the probability mass
index 9911f7838212c27ee2987bac4cded1964b26aea7..1d32c50b67dcefa7a295cbf2d9ac394856963eaf 100644 (file)
--- a/man/ID.Rd
+++ b/man/ID.Rd
@@ -9,41 +9,39 @@ ID(NT, mu)
 \arguments{
 \item{NT}{Vector of case counts.}
 
 \arguments{
 \item{NT}{Vector of case counts.}
 
-\item{mu}{Mean of the serial distribution. This needs to match case counts in time units. For example, if case counts
-are weekly and the serial distribution has a mean of seven days, then \code{mu} should be set to one If case
-counts are daily and the serial distribution has a mean of seven days, then \code{mu} should be set to seven.}
+\item{mu}{Mean of the serial distribution. This needs to match case counts
+in time units. For example, if case counts are weekly and the
+serial distribution has a mean of seven days, then \code{mu} should
+be set to one. If case counts are daily and the serial distribution
+has a mean of seven days, then \code{mu} should be set to seven.}
 }
 \value{
 \code{ID} returns a single value, the estimate of R0.
 }
 \description{
 }
 \value{
 \code{ID} returns a single value, the estimate of R0.
 }
 \description{
-This function implements a least squares estimation method of R0 due to Fisman et al. (PloS One, 2013).
-See details for implementation notes.
+This function implements a least squares estimation method of R0 due to
+Fisman et al. (PloS One, 2013). See details for implementation notes.
 }
 \details{
 }
 \details{
-The method is based on a straightforward incidence decay model. The estimate of R0 is the value which
-minimizes the sum of squares between observed case counts and cases counts 'expected' under the model.
+The method is based on a straightforward incidence decay model. The estimate
+of R0 is the value which minimizes the sum of squares between observed case
+counts and cases counts 'expected' under the model.
 
 
-This method is based on an approximation of the SIR model, which is most valid at the beginning of an epidemic.
-The method assumes that the mean of the serial distribution (sometimes called the serial interval) is known.
-The final estimate can be quite sensitive to this value, so sensitivity testing is strongly recommended.
-Users should be careful about units of time (e.g., are counts observed daily or weekly?) when implementing.
+This method is based on an approximation of the SIR model, which is most
+valid at the beginning of an epidemic. The method assumes that the mean of
+the serial distribution (sometimes called the serial interval) is known. The
+final estimate can be quite sensitive to this value, so sensitivity testing
+is strongly recommended. Users should be careful about units of time (e.g.,
+are counts observed daily or weekly?) when implementing.
 }
 \examples{
 }
 \examples{
-## ===================================================== ##
-## Illustrate on weekly data                             ##
-## ===================================================== ##
-
+# Weekly data:
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
-## obtain Rhat when serial distribution has mean of five days
-ID(NT=NT, mu=5/7)
-## obtain Rhat when serial distribution has mean of three days
-ID(NT=NT, mu=3/7)
 
 
-## ========================================================= ##
-## Compute Rhat using only the first five weeks of data      ##
-## ========================================================= ##
+# Obtain R0 when the serial distribution has a mean of five days.
+ID(NT, mu = 5 / 7)
 
 
-ID(NT=NT[1:5], mu=5/7) # serial distribution has mean of five days
+# Obtain R0 when the serial distribution has a mean of three days.
+ID(NT, mu = 3 / 7)
 
 }
 
 }
index 2dc8240d20cb847a98dfb401555eee8f3e328956..f4c7d143181af3364c6eab6809d127f04e7f3835 100644 (file)
@@ -9,42 +9,40 @@ IDEA(NT, mu)
 \arguments{
 \item{NT}{Vector of case counts.}
 
 \arguments{
 \item{NT}{Vector of case counts.}
 
-\item{mu}{Mean of the serial distribution. This needs to match case counts in time units. For example, if case counts
-are weekly and the serial distribution has a mean of seven days, then \code{mu} should be set to one. If case
-counts are daily and the serial distribution has a mean of seven days, then \code{mu} should be set to seven.}
+\item{mu}{Mean of the serial distribution. This needs to match case counts in
+time units. For example, if case counts are weekly and the serial
+distribution has a mean of seven days, then \code{mu} should be set
+to one. If case counts are daily and the serial distribution has a
+mean of seven days, then \code{mu} should be set to seven.}
 }
 \value{
 \code{IDEA} returns a single value, the estimate of R0.
 }
 \description{
 }
 \value{
 \code{IDEA} returns a single value, the estimate of R0.
 }
 \description{
-This function implements a least squares estimation method of R0 due to Fisman et al. (PloS One, 2013).
-See details for implementation notes.
+This function implements a least squares estimation method of R0 due to
+Fisman et al. (PloS One, 2013). See details for implementation notes.
 }
 \details{
 }
 \details{
-This method is closely related to that implemented in \code{ID}. The method is based on an incidence decay model.
-The estimate of R0 is the value which minimizes the sum of squares between observed case counts and cases counts
+This method is closely related to that implemented in \code{ID}. The method
+is based on an incidence decay model. The estimate of R0 is the value which
+minimizes the sum of squares between observed case counts and cases counts
 expected under the model.
 
 expected under the model.
 
-This method is based on an approximation of the SIR model, which is most valid at the beginning of an epidemic.
-The method assumes that the mean of the serial distribution (sometimes called the serial interval) is known.
-The final estimate can be quite sensitive to this value, so sensitivity testing is strongly recommended.
-Users should be careful about units of time (e.g., are counts observed daily or weekly?) when implementing.
+This method is based on an approximation of the SIR model, which is most
+valid at the beginning of an epidemic. The method assumes that the mean of
+the serial distribution (sometimes called the serial interval) is known. The
+final estimate can be quite sensitive to this value, so sensitivity testing
+is strongly recommended. Users should be careful about units of time (e.g.,
+are counts observed daily or weekly?) when implementing.
 }
 \examples{
 }
 \examples{
-## ===================================================== ##
-## Illustrate on weekly data                             ##
-## ===================================================== ##
-
+# Weekly data.
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
-## obtain Rhat when serial distribution has mean of five days
-IDEA(NT=NT, mu=5/7)
-## obtain Rhat when serial distribution has mean of three days
-IDEA(NT=NT, mu=3/7)
 
 
-## ========================================================= ##
-## Compute Rhat using only the first five weeks of data      ##
-## ========================================================= ##
+# Obtain R0 when the serial distribution has a mean of five days.
+IDEA(NT, mu = 5 / 7)
 
 
-IDEA(NT=NT[1:5], mu=5/7) # serial distribution has mean of five days
+# Obtain R0 when the serial distribution has a mean of three days.
+IDEA(NT, mu = 3 / 7)
 
 }
 
 }
index 13471ca11bb83848e1b1bb170957dedc0351535c..479593bab331d1c375d4413a3f5b262a760d91d8 100644 (file)
--- a/man/WP.Rd
+++ b/man/WP.Rd
@@ -14,81 +14,90 @@ WP(
 \arguments{
 \item{NT}{Vector of case counts.}
 
 \arguments{
 \item{NT}{Vector of case counts.}
 
-\item{mu}{Mean of the serial distribution (needs to match case counts in time units; for example, if case
-counts are weekly and the serial distribution has a mean of seven days, then \code{mu} should be
-set to one). The default value of \code{mu} is set to \code{NA}.}
+\item{mu}{Mean of the serial distribution (needs to match case counts in time
+units; for example, if case counts are weekly and the serial
+distribution has a mean of seven days, then \code{mu} should be set
+to one). The default value of \code{mu} is set to \code{NA}.}
 
 
-\item{search}{List of default values for the grid search algorithm. The list includes three elements: the
-first is \code{B}, which is the length of the grid in one dimension; the second is
-\code{scale.max}, which is the largest possible value of the scale parameter; and the third
-is \code{shape.max}, which is the largest possible value of the shape parameter. Defaults to
-\code{B=100, scale.max=10, shape.max=10}. For both shape and scale, the smallest possible
-value is 1/\code{B}.}
+\item{search}{List of default values for the grid search algorithm. The list
+includes three elements: the first is \code{B}, which is the
+length of the grid in one dimension; the second is
+\code{scale.max}, which is the largest possible value of the
+scale parameter; and the third is \code{shape.max}, which is
+the largest possible value of the shape parameter. Defaults to
+\code{B = 100, scale.max = 10, shape.max = 10}. For both shape
+and scale, the smallest possible value is 1/\code{B}.}
 
 
-\item{tol}{Cutoff value for cumulative distribution function of the pre-discretization gamma serial
-distribution. Defaults to 0.999 (i.e. in the discretization, the maximum is chosen such that the
-original gamma distribution has cumulative probability of no more than 0.999 at this maximum).}
+\item{tol}{Cutoff value for cumulative distribution function of the
+pre-discretization gamma serial distribution. Defaults to 0.999
+(i.e. in the discretization, the maximum is chosen such that the
+original gamma distribution has cumulative probability of no more
+than 0.999 at this maximum).}
 }
 \value{
 }
 \value{
-\code{WP} returns a list containing the following components:  \code{Rhat} is the estimate of R0,
-        and \code{SD} is either the discretized serial distribution (if \code{mu} is not \code{NA}), or the
-        estimated discretized serial distribution (if \code{mu} is \code{NA}). The list also returns the
-        variable \code{check}, which is equal to the number of non-unique maximum likelihood estimators.
-        The serial distribution \code{SD} is returned as a list made up of \code{supp} (the support of
-        the distribution) and \code{pmf} (the probability mass function).
+\code{WP} returns a list containing the following components:
+        \code{Rhat} is the estimate of R0, and \code{SD} is either the
+        discretized serial distribution (if \code{mu} is not \code{NA}), or
+        the estimated discretized serial distribution (if \code{mu} is
+        \code{NA}). The list also returns the variable \code{check}, which is
+        equal to the number of non-unique maximum likelihood estimators. The
+        serial distribution \code{SD} is returned as a list made up of
+        \code{supp} (the support of the distribution) and \code{pmf} (the
+        probability mass function).
 }
 \description{
 }
 \description{
-This function implements an R0 estimation due to White and Pagano (Statistics in Medicine, 2008).
-The method is based on maximum likelihood estimation in a Poisson transmission model.
-See details for important implementation notes.
+This function implements an R0 estimation due to White and Pagano (Statistics
+in Medicine, 2008). The method is based on maximum likelihood estimation in a
+Poisson transmission model. See details for important implementation notes.
 }
 \details{
 }
 \details{
-This method is based on a Poisson transmission model, and hence may be most most valid at the beginning
-of an epidemic. In their model, the serial distribution is assumed to be discrete with a finite number
-of posible values. In this implementation, if \code{mu} is not {NA}, the serial distribution is taken to
-be a discretized version of a gamma distribution with mean \code{mu}, shape parameter one, and largest
-possible value based on parameter \code{tol}. When \code{mu} is \code{NA}, the function implements a
-grid search algorithm to find the maximum likelihood estimator over all possible gamma distributions
-with unknown mean and variance, restricting these to a prespecified grid (see \code{search} parameter).  
+This method is based on a Poisson transmission model, and hence may be most
+most valid at the beginning of an epidemic. In their model, the serial
+distribution is assumed to be discrete with a finite number of posible
+values. In this implementation, if \code{mu} is not {NA}, the serial
+distribution is taken to be a discretized version of a gamma distribution
+with mean \code{mu}, shape parameter one, and largest possible value based on
+parameter \code{tol}. When \code{mu} is \code{NA}, the function implements a
+grid search algorithm to find the maximum likelihood estimator over all
+possible gamma distributions with unknown mean and variance, restricting
+these to a prespecified grid (see \code{search} parameter).
 
 
-When the serial distribution is known (i.e., \code{mu} is not \code{NA}), sensitivity testing of \code{mu}
-is strongly recommended. If the serial distribution is unknown (i.e., \code{mu} is \code{NA}), the
-likelihood function can be flat near the maximum, resulting in numerical instability of the optimizer.
-When \code{mu} is \code{NA}, the implementation takes considerably longer to run. Users should be careful
-about units of time (e.g., are counts observed daily or weekly?) when implementing.  
+When the serial distribution is known (i.e., \code{mu} is not \code{NA}),
+sensitivity testing of \code{mu} is strongly recommended. If the serial
+distribution is unknown (i.e., \code{mu} is \code{NA}), the likelihood
+function can be flat near the maximum, resulting in numerical instability of
+the optimizer. When \code{mu} is \code{NA}, the implementation takes
+considerably longer to run. Users should be careful about units of time
+(e.g., are counts observed daily or weekly?) when implementing.
 
 
-The model developed in White and Pagano (2008) is discrete, and hence the serial distribution is finite 
-discrete. In our implementation, the input value \code{mu} is that of a continuous distribution. The
-algorithm discretizes this input when \code{mu} is not \code{NA}, and hence the mean of the serial
-distribution returned in the list \code{SD} will differ from \code{mu} somewhat. That is to say, if the
-user notices that the input \code{mu} and output mean of \code{SD} are different, this is to be expected,
+The model developed in White and Pagano (2008) is discrete, and hence the
+serial distribution is finite discrete. In our implementation, the input
+value \code{mu} is that of a continuous distribution. The algorithm
+discretizes this input when \code{mu} is not \code{NA}, and hence the mean of
+the serial distribution returned in the list \code{SD} will differ from
+\code{mu} somewhat. That is to say, if the user notices that the input
+\code{mu} and output mean of \code{SD} are different, this is to be expected,
 and is caused by the discretization.
 }
 \examples{
 and is caused by the discretization.
 }
 \examples{
-## ===================================================== ##
-## Illustrate on weekly data                             ##
-## ===================================================== ##
-
+# Weekly data.
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
-## obtain Rhat when serial distribution has mean of five days
-res1 <- WP(NT=NT, mu=5/7)
+
+# Obtain R0 when the serial distribution has a mean of five days.
+res1 <- WP(NT, mu = 5 / 7)
 res1$Rhat
 res1$Rhat
-## obtain Rhat when serial distribution has mean of three days
-res2   <- WP(NT=NT, mu=3/7)
+
+# Obtain R0 when the serial distribution has a mean of three days.
+res2 <- WP(NT, mu = 3 / 7)
 res2$Rhat
 res2$Rhat
-## obtain Rhat when serial distribution is unknown
-## NOTE:  this implementation will take longer to run
-res3   <- WP(NT=NT)
+
+# Obtain R0 when the serial distribution is unknown.
+# NOTE: This implementation will take longer to run.
+res3 <- WP(NT)
 res3$Rhat
 res3$Rhat
-## find mean of estimated serial distribution
+
+# Find the mean of the estimated serial distribution.
 serial <- res3$SD
 sum(serial$supp * serial$pmf)
 
 serial <- res3$SD
 sum(serial$supp * serial$pmf)
 
-## ========================================================= ##
-## Compute Rhat using only the first five weeks of data      ##
-## ========================================================= ##
-
-res4 <- WP(NT=NT[1:5], mu=5/7) # serial distribution has mean of five days
-res4$Rhat
-
 }
 }
diff --git a/man/WP_known.Rd b/man/WP_known.Rd
deleted file mode 100644 (file)
index aa6ab84..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/WP_known.R
-\name{WP_known}
-\alias{WP_known}
-\title{WP method background function WP_known}
-\usage{
-WP_known(NT, p)
-}
-\arguments{
-\item{NT}{Vector of case counts.}
-
-\item{p}{Discretized version of the serial distribution.}
-}
-\value{
-The function returns the maximum likelihood estimator of R0.
-}
-\description{
-This is a background/internal function called by \code{WP}. It computes the maximum
-likelihood estimator of R0 assuming that the serial distribution is known and finite discrete.
-}
-\keyword{internal}
diff --git a/man/WP_unknown.Rd b/man/WP_unknown.Rd
deleted file mode 100644 (file)
index 02a3280..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/WP_unknown.R
-\name{WP_unknown}
-\alias{WP_unknown}
-\title{WP method background function WP_unknown}
-\usage{
-WP_unknown(NT, B = 100, shape.max = 10, scale.max = 10, tol = 0.999)
-}
-\arguments{
-\item{NT}{Vector of case counts.}
-
-\item{B}{Length of grid for shape and scale (grid search parameter).}
-
-\item{shape.max}{Maximum shape value (grid \code{search} parameter).}
-
-\item{scale.max}{Maximum scale value (grid \code{search} parameter).}
-
-\item{tol}{cutoff value for cumulative distribution function of the serial distribution (defaults to 0.999).}
-}
-\value{
-The function returns \code{Rhat}, the maximum likelihood estimator of R0, as well as the maximum
-        likelihood estimator of the discretized serial distribution given by \code{p} (the probability mass
-        function) and \code{range.max} (the distribution has support on the integers one to \code{range.max}).
-        The function also returns \code{resLL} (all values of the log-likelihood) at \code{shape} (grid for
-        shape parameter) and at \code{scale} (grid for scale parameter), as well as \code{resR0} (the full
-        vector of maximum likelihood estimators), \code{JJ} (the locations for the likelihood for these), and
-        \code{J0} (the location for the maximum likelihood estimator \code{Rhat}). If \code{JJ} and \code{J0}
-        are not the same, this means that the maximum likelihood estimator is not unique.
-}
-\description{
-This is a background/internal function called by \code{WP}. It computes the maximum likelihood estimator
-of R0 assuming that the serial distribution is unknown but comes from a discretized gamma distribution.
-The function then implements a simple grid search algorithm to obtain the maximum likelihood estimator
-of R0 as well as the gamma parameters.
-}
-\keyword{internal}
diff --git a/man/computeLL.Rd b/man/computeLL.Rd
deleted file mode 100644 (file)
index 7e9926a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/computeLL.R
-\name{computeLL}
-\alias{computeLL}
-\title{WP method background function computeLL}
-\usage{
-computeLL(p, NT, R0)
-}
-\arguments{
-\item{p}{Discretized version of the serial distribution.}
-
-\item{NT}{Vector of case counts.}
-
-\item{R0}{Basic reproductive ratio.}
-}
-\value{
-This function returns the log-likelihood at the input variables and parameters.
-}
-\description{
-This is a background/internal function called by \code{WP}.  It computes the log-likelihood.
-}
-\keyword{internal}
index 184f4764f110b0ef8b85a87f726cf9bd508d9e1a..08642941c58542bc917d02843d3d251e8a599121 100644 (file)
@@ -9,82 +9,83 @@ seqB(NT, mu, kappa = 20)
 \arguments{
 \item{NT}{Vector of case counts.}
 
 \arguments{
 \item{NT}{Vector of case counts.}
 
-\item{mu}{Mean of the serial distribution. This needs to match case counts in time units. For example, if case counts
-are weekly and the serial distribution has a mean of seven days, then \code{mu} should be set to one. If case
-counts are daily and the serial distribution has a mean of seven days, then \code{mu} should be set to seven.}
+\item{mu}{Mean of the serial distribution. This needs to match case counts in
+time units. For example, if case counts are weekly and the serial
+distribution has a mean of seven days, then \code{mu} should be set
+to one. If case counts are daily and the serial distribution has a
+mean of seven days, then \code{mu} should be set to seven.}
 
 
-\item{kappa}{Largest possible value of uniform prior (defaults to 20). This describes the prior belief on ranges of R0,
-and should be set to a higher value if R0 is believed to be larger.}
+\item{kappa}{Largest possible value of uniform prior (defaults to 20). This
+describes the prior belief on ranges of R0, and should be set to
+a higher value if R0 is believed to be larger.}
 }
 \value{
 }
 \value{
-\code{secB} returns a list containing the following components: \code{Rhat} is the estimate of R0 (the posterior mean),
-        \code{posterior} is the posterior distribution of R0 from which alternate estimates can be obtained (see examples),
-        and \code{group} is an indicator variable (if \code{group=TRUE}, zero values of NT were input and grouping was done 
-        to obtain \code{Rhat}). The variable \code{posterior} is returned as a list made up of \code{supp} (the support of
-        the distribution) and \code{pmf} (the probability mass function).
+\code{seqB} returns a list containing the following components:
+        \code{Rhat} is the estimate of R0 (the posterior mean),
+        \code{posterior} is the posterior distribution of R0 from which
+        alternate estimates can be obtained (see examples), and \code{group}
+        is an indicator variable (if \code{group == TRUE}, zero values of NT
+        were input and grouping was done to obtain \code{Rhat}). The variable
+        \code{posterior} is returned as a list made up of \code{supp} (the
+        support of the distribution) and \code{pmf} (the probability mass
+        function).
 }
 \description{
 }
 \description{
-This function implements a sequential Bayesian estimation method of R0 due to Bettencourt and Riberio (PloS One, 2008).
-See details for important implementation notes.
+This function implements a sequential Bayesian estimation method of R0 due to
+Bettencourt and Riberio (PloS One, 2008). See details for important
+implementation notes.
 }
 \details{
 }
 \details{
-The method sets a uniform prior distribution on R0 with possible values between zero and \code{kappa}, discretized to a fine grid.
-The distribution of R0 is then updated sequentially, with one update for each new case count observation.
-The final estimate of R0 is \code{Rhat}, the mean of the (last) posterior distribution.
-The prior distribution is the initial belief of the distribution of R0; which in this implementation is the uninformative uniform
-distribution with values between zero and \code{kappa}. Users can change the value of /code{kappa} only (i.e., the prior distribution
-cannot be changed from the uniform).  As more case counts are observed, the influence of the prior distribution should lessen on
-the final estimate \code{Rhat}.
+The method sets a uniform prior distribution on R0 with possible values
+between zero and \code{kappa}, discretized to a fine grid. The distribution
+of R0 is then updated sequentially, with one update for each new case count
+observation. The final estimate of R0 is \code{Rhat}, the mean of the (last)
+posterior distribution. The prior distribution is the initial belief of the
+distribution of R0, which is the uninformative uniform distribution with
+values between zero and \code{kappa}. Users can change the value of
+\code{kappa} only (i.e., the prior distribution cannot be changed from the
+uniform). As more case counts are observed, the influence of the prior
+distribution should lessen on the final estimate \code{Rhat}.
 
 
-This method is based on an approximation of the SIR model, which is most valid at the beginning of an epidemic. The method assumes
-that the mean of the serial distribution (sometimes called the serial interval) is known. The final estimate can be quite sensitive
-to this value, so sensitivity testing is strongly recommended. Users should be careful about units of time (e.g., are counts observed
-daily or weekly?) when implementing.  
+This method is based on an approximation of the SIR model, which is most
+valid at the beginning of an epidemic. The method assumes that the mean of
+the serial distribution (sometimes called the serial interval) is known. The
+final estimate can be quite sensitive to this value, so sensitivity testing
+is strongly recommended. Users should be careful about units of time (e.g.,
+are counts observed daily or weekly?) when implementing.
 
 
-Our code has been modified to provide an estimate even if case counts equal to zero are present in some time intervals. This is done
-by grouping the counts over such periods of time. Without grouping, and in the presence of zero counts, no estimate can be provided.
+Our code has been modified to provide an estimate even if case counts equal
+to zero are present in some time intervals. This is done by grouping the
+counts over such periods of time. Without grouping, and in the presence of
+zero counts, no estimate can be provided.
 }
 \examples{
 }
 \examples{
-## ===================================================== ##
-## Illustrate on weekly data                             ##
-## ===================================================== ##
-
+# Weekly data.
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
 NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
-## obtain Rhat when serial distribution has mean of five days
-res1 <- seqB(NT=NT, mu=5/7)
+
+## Obtain R0 when the serial distribution has a mean of five days.
+res1 <- seqB(NT, mu = 5 / 7)
 res1$Rhat
 res1$Rhat
-## obtain Rhat when serial distribution has mean of three days
-res2   <- seqB(NT=NT, mu=3/7)
+
+## Obtain R0 when the serial distribution has a mean of three days.
+res2 <- seqB(NT, mu = 3 / 7)
 res2$Rhat
 
 res2$Rhat
 
-## ============================================================= ##
-## Compute posterior mode instead of posterior mean and plot     ##
-## ============================================================= ##
+# Compute posterior mode instead of posterior mean and plot.
 
 
-Rpost <-       res1$posterior
+Rpost <- res1$posterior
 loc <- which(Rpost$pmf == max(Rpost$pmf))
 loc <- which(Rpost$pmf == max(Rpost$pmf))
-Rpost$supp[loc] # posterior mode
-res1$Rhat # compare with posterior mean
-
-par(mfrow=c(2, 1), mar=c(2, 2, 1, 1))
-plot(Rpost$supp, Rpost$pmf, col="black", type="l", xlab="", ylab="")
-abline(h=1/(20/0.01+1), col="red")
-abline(v=res1$Rhat, col="blue")
-abline(v=Rpost$supp[loc], col="purple")
-legend("topright", legend=c("prior", "posterior", "posterior mean (Rhat)", "posterior mode"),
-       col=c("red", "black", "blue", "purple"), lty=1)
-plot(Rpost$supp, Rpost$pmf, col="black", type="l", xlim=c(0.5, 1.5), xlab="", ylab="")
-abline(h=1/(20/0.01+1), col="red")
-abline(v=res1$Rhat, col="blue")
-abline(v=Rpost$supp[loc], col="purple")
-legend("topright", legend=c("prior", "posterior", "posterior mean (Rhat)", "posterior mode"),
-       col=c("red", "black", "blue", "purple"), lty=1)
+Rpost$supp[loc] # Posterior mode.
+res1$Rhat # Compare with the posterior mean.
 
 
-## ========================================================= ##
-## Compute Rhat using only the first five weeks of data      ##
-## ========================================================= ##
+par(mfrow = c(2, 1), mar = c(2, 2, 1, 1))
 
 
-res3 <- seqB(NT=NT[1:5], mu=5/7)       # serial distribution has mean of five days
-res3$Rhat
+plot(Rpost$supp, Rpost$pmf, col = "black", type = "l", xlab = "", ylab = "")
+abline(h = 1 / (20 / 0.01 + 1), col = "red")
+abline(v = res1$Rhat, col = "blue")
+abline(v = Rpost$supp[loc], col = "purple")
+legend("topright",
+  legend = c("Prior", "Posterior", "Posterior mean", "Posterior mode"),
+  col = c("red", "black", "blue", "purple"), lty = 1)
 
 }
 
 }