resistance_predict.Rd
Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns se_min
and se_max
. See Examples for a real live example.
resistance_predict(tbl, col_ab, col_date, year_min = NULL, year_max = NULL, year_every = 1, minimum = 30, model = "binomial", I_as_R = TRUE, preserve_measurements = TRUE, info = TRUE) rsi_predict(tbl, col_ab, col_date, year_min = NULL, year_max = NULL, year_every = 1, minimum = 30, model = "binomial", I_as_R = TRUE, preserve_measurements = TRUE, info = TRUE)
tbl | a |
---|---|
col_ab | column name of |
col_date | column name of the date, will be used to calculate years if this column doesn't consist of years already |
year_min | lowest year to use in the prediction model, dafaults to the lowest year in |
year_max | highest year to use in the prediction model, defaults to 10 years after today |
year_every | unit of sequence between lowest year found in the data and |
minimum | minimal amount of available isolates per year to include. Years containing less observations will be estimated by the model. |
model | the statistical model of choice. Valid values are |
I_as_R | a logical to indicate whether values |
preserve_measurements | a logical to indicate whether predictions of years that are actually available in the data should be overwritten by the original data. The standard errors of those years will be |
info | a logical to indicate whether textual analysis should be printed with the name and |
data.frame
with columns:
year
value
, the same as estimated
when preserve_measurements = FALSE
, and a combination of observed
and estimated
otherwise
se_min
, the lower bound of the standard error with a minimum of 0
(so the standard error will never go below 0%)
se_max
the upper bound of the standard error with a maximum of 1
(so the standard error will never go above 100%)
observations
, the total number of available observations in that year, i.e. S + I + R
observed
, the original observed resistant percentages
estimated
, the estimated resistant percentages, calculated by the model
On our website https://msberends.gitlab.io/AMR you can find a omprehensive tutorial about how to conduct AMR analysis and find the complete documentation of all functions, which reads a lot easier than in R.
# NOT RUN { # use it with base R: resistance_predict(tbl = tbl[which(first_isolate == TRUE & genus == "Haemophilus"),], col_ab = "amcl", col_date = "date") # or use dplyr so you can actually read it: library(dplyr) tbl %>% filter(first_isolate == TRUE, genus == "Haemophilus") %>% resistance_predict(amcl, date) # }# NOT RUN { # real live example: library(dplyr) septic_patients %>% # get bacteria properties like genus and species left_join_microorganisms("mo") %>% # calculate first isolates mutate(first_isolate = first_isolate(.)) %>% # filter on first E. coli isolates filter(genus == "Escherichia", species == "coli", first_isolate == TRUE) %>% # predict resistance of cefotaxime for next years resistance_predict(col_ab = "cfot", col_date = "date", year_max = 2025, preserve_measurements = TRUE, minimum = 0) # create nice plots with ggplot if (!require(ggplot2)) { data <- septic_patients %>% filter(mo == as.mo("E. coli")) %>% resistance_predict(col_ab = "amox", col_date = "date", info = FALSE, minimum = 15) ggplot(data, aes(x = year)) + geom_col(aes(y = value), fill = "grey75") + geom_errorbar(aes(ymin = se_min, ymax = se_max), colour = "grey50") + scale_y_continuous(limits = c(0, 1), breaks = seq(0, 1, 0.1), labels = paste0(seq(0, 100, 10), "%")) + labs(title = expression(paste("Forecast of amoxicillin resistance in ", italic("E. coli"))), y = "%IR", x = "Year") + theme_minimal(base_size = 13) } # }