as.rsi.Rd
This transforms a vector to a new class rsi
, which is an ordered factor with levels S < I < R
. Invalid antimicrobial interpretations will be translated as NA
with a warning.
as.rsi(x) is.rsi(x) is.rsi.eligible(x, threshold = 0.05)
x | vector |
---|---|
threshold | maximum fraction of |
Ordered factor with new class rsi
NOTE: This function does not translate MIC values to RSI values. If more than 50% of the input resembles MIC values, it will warn about this.
You can use eucast_rules
to (1) apply inferred susceptibility and resistance based on results of other antibiotics and (2) apply intrinsic resistance based on taxonomic properties of a microorganism.
The function is.rsi.eligible
returns TRUE
when a columns contains only valid antimicrobial interpretations (S and/or I and/or R), and FALSE
otherwise.
On our website https://msberends.gitlab.io/AMR you can find a comprehensive tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.
# NOT RUN { rsi_data <- as.rsi(c(rep("S", 474), rep("I", 36), rep("R", 370))) rsi_data <- as.rsi(c(rep("S", 474), rep("I", 36), rep("R", 370), "A", "B", "C")) is.rsi(rsi_data) # this can also coerce combined MIC/RSI values: as.rsi("<= 0.002; S") # will return S plot(rsi_data) # for percentages barplot(rsi_data) # for frequencies freq(rsi_data) # frequency table with informative header # using dplyr's mutate library(dplyr) septic_patients %>% mutate_at(vars(peni:rifa), as.rsi) # fastest way to transform all columns with already valid AB results to class `rsi`: septic_patients %>% mutate_if(is.rsi.eligible, as.rsi) # default threshold of `is.rsi.eligible` is 5%. is.rsi.eligible(WHONET$`First name`) # fails, >80% is invalid is.rsi.eligible(WHONET$`First name`, threshold = 0.9) # succeeds # }