Use these selection helpers inside any function that allows Tidyverse selections, like dplyr::select()
or tidyr::pivot_longer()
. They help to select the columns of antibiotics that are of a specific antibiotic class, without the need to define the columns or antibiotic abbreviations.
ab_class(ab_class) aminoglycosides() carbapenems() cephalosporins() cephalosporins_1st() cephalosporins_2nd() cephalosporins_3rd() cephalosporins_4th() cephalosporins_5th() fluoroquinolones() glycopeptides() macrolides() penicillins() tetracyclines()
ab_class | an antimicrobial class, like |
---|
All columns will be searched for known antibiotic names, abbreviations, brand names and codes (ATC, EARS-Net, WHO, etc.). This means that a selector like e.g. aminoglycosides()
will pick up column names like 'gen', 'genta', 'J01GB03', 'tobra', 'Tobracin', etc.
These functions only work if the tidyselect
package is installed, that comes with the dplyr
package. An error will be thrown if tidyselect
package is not installed, or if the functions are used outside a function that allows Tidyverse selections like select()
or pivot_longer()
.
filter_ab_class()
for the filter()
equivalent.
if (require("dplyr")) { # this will select columns 'IPM' (imipenem) and 'MEM' (meropenem): example_isolates %>% select(carbapenems()) # this will select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB': example_isolates %>% select(mo, aminoglycosides()) # this will select columns 'mo' and all antimycobacterial drugs ('RIF'): example_isolates %>% select(mo, ab_class("mycobact")) # get bug/drug combinations for only macrolides in Gram-positives: example_isolates %>% filter(mo_gramstain(mo) %like% "pos") %>% select(mo, macrolides()) %>% bug_drug_combinations() %>% format() data.frame(irrelevant = "value", J01CA01 = "S") %>% # ATC code of ampicillin select(penicillins()) # so the 'J01CA01' column is selected }