| predict.FluMoDL {FluMoDL} | R Documentation |
Predict method for FluMoDL objects
Description
Obtains predictions (predicted daily or weekly deaths) and optionally estimates standard errors of those predictions
Usage
## S3 method for class 'FluMoDL'
predict(object, temp = NULL, proxyH1 = NULL,
proxyH3 = NULL, proxyB = NULL, proxyRSV = NULL, se.fit = FALSE,
byWeek = FALSE, ...)
Arguments
object |
A FluMoDL object |
temp |
A vector of daily mean temperatures. See 'Details'. |
proxyH1 |
A vector of daily influenza A(H1N1)pdm09 incidence proxies. See 'Details'. |
proxyH3 |
A vector of daily influenza A(H3N2) incidence proxies. See 'Details'. |
proxyB |
A vector of daily influenza B incidence proxies. See 'Details'. |
proxyRSV |
An vector of daily RSV incidence proxies (used only if the FluMoDL object includes an RSV term). See 'Details'. |
se.fit |
Logical switch indicating if standard errors are required.
Requires |
byWeek |
If |
... |
Further arguments passed to or from other methods |
Details
Arguments temp, proxyH1, proxyH3, proxyB and
(if hasRSV(object) is TRUE) proxyRSV take a numeric vector
as input, which is recycled to a length of nrow(object$data). Alternatively
they can take NULL, in which case the respective column of object$data
is used as input. Argument temp can also take the string "MMP", which
is interpreted as the "Minimum Mortality Point", i.e. the temperature at which
mortality is lowest (found in object$MMP).
In this way, the predict() method can be flexibly used to calculate the
predicted "baseline" mortality (by setting temp="MMP" and all incidence proxies
to zero), the model-predicted mortality for the actual input (by leaving all input
arguments to their default NULL), or predicted mortalities for any combination of
temperature and incidence proxy inputs.
Value
A vector of daily predicted deaths (corresponding to the rows in
object$data). If byWeek=TRUE, the predictions are automatically
aggregated by week (as per object$data$yearweek) and the vector contains
the respective week (in YYYYWW format) as names.
If se.fit=TRUE, a list
is returned with elements $fit and $se.fit containing the
(daily) predicted deaths and their associated log standard errors.
Note that the first 30 elements (or first 5 elements if byWeek=TRUE) will be
NA by default, as FluMoDL uses a maximum lag of 30 days.
Examples
data(greece) # Use example surveillance data from Greece
m <- with(greece, fitFluMoDL(deaths = daily$deaths,
temp = daily$temp, dates = daily$date,
proxyH1 = weekly$ILI * weekly$ppH1,
proxyH3 = weekly$ILI * weekly$ppH3,
proxyB = weekly$ILI * weekly$ppB,
yearweek = weekly$yearweek))
m
# Calculate FluMoDL baseline
baseline <- predict(m, temp="MMP", proxyH1=0, proxyH3=0, proxyB=0, byWeek=TRUE)
# Calculate fitted predictions
fitted <- predict(m, byWeek=TRUE)
# Plot everything
plot(with(m$data, tapply(deaths, yearweek, sum)), type="l",
xaxt="n", ylab="Weekly deaths", xlab="Time")
points(baseline, type="l", col="blue")
points(fitted, type="l", col="green")
legend("topleft", c("Actual", "Baseline", "Fitted"), lty="solid",
col=c("black", "blue", "green"), bty="n")