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")