MDR.RmdWith the function mdro(), you can determine multi-drug resistant organisms (MDRO). It currently support these guidelines:
As an example, I will make a data set to determine multi-drug resistant TB:
# a helper function to get a random vector with values S, I and R
# with the probabilities 50%-10%-40%
sample_rsi <- function() {
  sample(c("S", "I", "R"),
         size = 5000,
         prob = c(0.5, 0.1, 0.4),
         replace = TRUE)
}
my_TB_data <- data.frame(rifampicin = sample_rsi(),
                         isoniazid = sample_rsi(),
                         gatifloxacin = sample_rsi(),
                         ethambutol = sample_rsi(),
                         pyrazinamide = sample_rsi(),
                         moxifloxacin = sample_rsi(),
                         kanamycin = sample_rsi())Because all column names are automatically verified for valid drug names or codes, this would have worked exactly the same:
my_TB_data <- data.frame(RIF = sample_rsi(),
                         INH = sample_rsi(),
                         GAT = sample_rsi(),
                         ETH = sample_rsi(),
                         PZA = sample_rsi(),
                         MFX = sample_rsi(),
                         KAN = sample_rsi())The data set looks like this now:
head(my_TB_data)
#   rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin
# 1          R         R            R          R            R            S
# 2          S         R            R          S            R            S
# 3          R         S            S          I            S            S
# 4          R         S            S          R            S            S
# 5          R         R            S          I            I            R
# 6          R         S            S          S            S            S
#   kanamycin
# 1         S
# 2         R
# 3         S
# 4         R
# 5         S
# 6         IWe can now add the interpretation of MDR-TB to our data set:
my_TB_data$mdr <- mdr_tb(my_TB_data)
# NOTE: No column found as input for `col_mo`, assuming all records contain Mycobacterium tuberculosis.
# Determining multidrug-resistant organisms (MDRO), according to:
# Guideline: Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis
# Version:   WHO/HTM/TB/2014.11
# Author:    WHO (World Health Organization)
# Source:    https://www.who.int/tb/publications/pmdt_companionhandbook/en/
# Warning: Reliability might be improved if these antimicrobial results
# would be available too: `CAP` (capreomycin), `RIB` (rifabutin), `RFP`
# (rifapentine)And review the result with a frequency table:
freq(my_TB_data$mdr)
# 
# 
# **Frequency table of `mdr` from `my_TB_data` (5,000 x 8)**   
# 
# Class:   `factor` > `ordered` (`numeric`)  
# Length:  5,000 (of which NA: 0 = 0.00%)  
# Levels:  5: `Negative` < `Mono-resistance` < `Poly-resistance` < `Multidrug res...`  
# Unique:  5
# 
# 
# |   |Item                      | Count| Percent| Cum. Count| Cum. Percent|
# |:--|:-------------------------|-----:|-------:|----------:|------------:|
# |1  |Mono-resistance           | 3,297|   65.9%|      3,297|        65.9%|
# |2  |Negative                  |   627|   12.5%|      3,924|        78.5%|
# |3  |Multidrug resistance      |   612|   12.2%|      4,536|        90.7%|
# |4  |Poly-resistance           |   263|    5.3%|      4,799|        96.0%|
# |5  |Extensive drug resistance |   201|    4.0%|      5,000|       100.0%|