View source: R/dprimarycensored.R
| dprimarycensored | R Documentation |
This function computes the primary event censored probability mass function (PMF) for a given set of quantiles. It adjusts the PMF of the primary event distribution by accounting for the delay distribution and potential truncation at a maximum delay (D) and minimum delay (L). The function allows for custom primary event distributions and delay distributions.
dprimarycensored(
x,
pdist,
pwindow = 1,
swindow = 1,
L = -Inf,
D = Inf,
dprimary = stats::dunif,
dprimary_args = list(),
log = FALSE,
...
)
dpcens(
x,
pdist,
pwindow = 1,
swindow = 1,
L = -Inf,
D = Inf,
dprimary = stats::dunif,
dprimary_args = list(),
log = FALSE,
...
)
x |
Vector of quantiles |
pdist |
Distribution function (CDF). The package can identify base R
distributions for potential analytical solutions. For non-base R functions,
users can apply |
pwindow |
Primary event window |
swindow |
Secondary event window (default: 1) |
L |
Minimum delay (lower truncation point). Defaults to |
D |
Maximum delay (upper truncation point). If finite, the distribution is truncated at D. If set to Inf, no upper truncation is applied. Defaults to Inf. |
dprimary |
Function to generate the probability density function
(PDF) of primary event times. This function should take a value |
dprimary_args |
List of additional arguments to be passed to
dprimary. For example, when using |
log |
Logical; if TRUE, probabilities p are given as log(p) |
... |
Additional arguments to be passed to the distribution function |
The primary event censored PMF is computed by taking the difference of the
primary event censored cumulative distribution function (CDF) at two points,
d + \text{swindow} and d. The primary event censored PMF,
f_{\text{cens}}(d), is given by:
f_{\text{cens}}(d) = F_{\text{cens}}(d + \text{swindow}) - F_{\text{cens}}(d)
where F_{\text{cens}} is the primary event censored CDF.
The function first computes the CDFs for all unique points (including both
d and d + \text{swindow}) using pprimarycensored(). It then
creates a lookup table for these CDFs to efficiently calculate the PMF for
each input value. For delays less than L, the function returns 0.
The PMF is normalised to ensure it sums to 1 over the range [L, D\). This normalization uses:
f_{\text{cens,norm}}(d) = \frac{f_{\text{cens}}(d)}{
F_{\text{cens}}(D) - F_{\text{cens}}(L)}
where f_{\text{cens,norm}}(d) is the normalized PMF. For the
explanation and mathematical details of the CDF, refer to the documentation
of pprimarycensored().
Vector of primary event censored PMFs, normalized over [L, D] if truncation is applied
Primary event censored distribution functions
pprimarycensored(),
qprimarycensored(),
rprimarycensored()
# Example: Weibull distribution with uniform primary events
dprimarycensored(c(0.1, 0.5, 1), pweibull, shape = 1.5, scale = 2.0)
# Example: Weibull distribution with exponential growth primary events
dprimarycensored(
c(0.1, 0.5, 1), pweibull,
dprimary = dexpgrowth,
dprimary_args = list(r = 0.2), shape = 1.5, scale = 2.0
)
# Example: Left-truncated distribution (e.g., for generation intervals)
dprimarycensored(1:9, pweibull, L = 1, D = 10, shape = 1.5, scale = 2.0)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.