MDR.Rmd
With 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 S S I S S
# 2 I R S R S R
# 3 S S R R R R
# 4 S R R S S S
# 5 S R R S R R
# 6 R S S R R S
# kanamycin
# 1 R
# 2 R
# 3 I
# 4 S
# 5 S
# 6 S
We 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/
# NOTE: Auto-guessing columns suitable for analysis...
# NOTE: Reliability might be improved if these antimicrobial results would be available too: CAP (capreomycin), RIB (rifabutin), RFP (rifapentine)
We also created a package dedicated to data cleaning and checking, called the clean
package. It gets automatically installed with the AMR
package, so we only have to load it:
It contains the freq()
function, to create a frequency table:
Frequency table
Class: factor > ordered (numeric)
Length: 5,000 (of which NA: 0 = 0%)
Levels: 5: Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant <…
Unique: 5
Item | Count | Percent | Cum. Count | Cum. Percent | |
---|---|---|---|---|---|
1 | Mono-resistant | 3246 | 64.92% | 3246 | 64.92% |
2 | Negative | 681 | 13.62% | 3927 | 78.54% |
3 | Multi-drug-resistant | 593 | 11.86% | 4520 | 90.40% |
4 | Poly-resistant | 276 | 5.52% | 4796 | 95.92% |
5 | Extensive drug-resistant | 204 | 4.08% | 5000 | 100.00% |