Use these functions to return a specific property of an antibiotic from the antibiotics data set. All input values will be evaluated internally with as.ab().

ab_name(x, language = get_AMR_locale(), tolower = FALSE, ...)

ab_cid(x, ...)

ab_synonyms(x, ...)

ab_tradenames(x, ...)

ab_group(x, language = get_AMR_locale(), ...)

ab_atc(x, only_first = FALSE, ...)

ab_atc_group1(x, language = get_AMR_locale(), ...)

ab_atc_group2(x, language = get_AMR_locale(), ...)

ab_loinc(x, ...)

ab_ddd(x, administration = "oral", ...)

ab_ddd_units(x, administration = "oral", ...)

ab_info(x, language = get_AMR_locale(), ...)

ab_url(x, open = FALSE, ...)

ab_property(x, property = "name", language = get_AMR_locale(), ...)

  property = "name",
  language = get_AMR_locale(),
  snake_case = NULL



any (vector of) text that can be coerced to a valid antibiotic code with as.ab()


language of the returned text, defaults to system language (see get_AMR_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.


a logical to indicate whether the first character of every output should be transformed to a lower case character. This will lead to e.g. "polymyxin B" and not "polymyxin b".


in case of set_ab_names() and data is a data.frame: variables to select (supports tidy selection such as column1:column4), otherwise other arguments passed on to as.ab()


a logical to indicate whether only the first ATC code must be returned, with giving preference to J0-codes (i.e., the antimicrobial drug group)


way of administration, either "oral" or "iv"


browse the URL using utils::browseURL()


one of the column names of one of the antibiotics data set: vector_or(colnames(antibiotics), sort = FALSE).


a data.frame of which the columns need to be renamed, or a character vector of column names


a logical to indicate whether the names should be in so-called snake case: in lower case and all spaces/slashes replaced with an underscore (_)


  • An integer in case of ab_cid()

  • A named list in case of ab_info() and multiple ab_atc()/ab_synonyms()/ab_tradenames()

  • A double in case of ab_ddd()

  • A data.frame in case of set_ab_names()

  • A character in all other cases


All output will be translated where possible.

The function ab_url() will return the direct URL to the official WHO website. A warning will be returned if the required ATC code is not available.

The function set_ab_names() is a special column renaming function for data.frames. It renames columns names that resemble antimicrobial drugs. It always makes sure that the new column names are unique. If property = "atc" is set, preference is given to ATC codes from the J-group.

Stable Lifecycle

The lifecycle of this function is stable. In a stable function, major changes are unlikely. This means that the unlying code will generally evolve by adding new arguments; removing arguments or changing the meaning of existing arguments will be avoided.

If the unlying code needs breaking changes, they will occur gradually. For example, an argument will be deprecated and first continue to work, but will emit a message informing you of the change. Next, typically after at least one newly released version on CRAN, the message will be transformed to an error.


World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology:


Reference Data Publicly Available

All reference data sets (about microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) in this AMR package are publicly and freely available. We continually export our data sets to formats for use in R, SPSS, SAS, Stata and Excel. We also supply flat files that are machine-readable and suitable for input in any software program, such as laboratory information systems. Please find all download links on our website, which is automatically updated with every code change.

Read more on Our Website!

On our website you can find a comprehensive tutorial about how to conduct AMR data analysis, the complete documentation of all functions and an example analysis using WHONET data.

See also


# all properties:
ab_name("AMX")       # "Amoxicillin"
ab_atc("AMX")        # "J01CA04" (ATC code from the WHO)
ab_cid("AMX")        # 33613 (Compound ID from PubChem)
ab_synonyms("AMX")   # a list with brand names of amoxicillin
ab_tradenames("AMX") # same
ab_group("AMX")      # "Beta-lactams/penicillins"
ab_atc_group1("AMX") # "Beta-lactam antibacterials, penicillins"
ab_atc_group2("AMX") # "Penicillins with extended spectrum"
ab_url("AMX")        # link to the official WHO page

# smart lowercase tranformation
ab_name(x = c("AMC", "PLB"))  # "Amoxicillin/clavulanic acid" "Polymyxin B"
ab_name(x = c("AMC", "PLB"),
        tolower = TRUE)       # "amoxicillin/clavulanic acid" "polymyxin B"

# defined daily doses (DDD)
ab_ddd("AMX", "oral")       #  1.5
ab_ddd_units("AMX", "oral") # "g"
ab_ddd("AMX", "iv")         #  3
ab_ddd_units("AMX", "iv")   # "g"

ab_info("AMX")       # all properties as a list

# all ab_* functions use as.ab() internally, so you can go from 'any' to 'any':
ab_atc("AMP")           # ATC code of AMP (ampicillin)
ab_group("J01CA01")     # Drug group of ampicillins ATC code
ab_loinc("ampicillin")  # LOINC codes of ampicillin
ab_name("21066-6")      # "Ampicillin" (using LOINC)
ab_name(6249)           # "Ampicillin" (using CID)
ab_name("J01CA01")      # "Ampicillin" (using ATC)

# spelling from different languages and dyslexia are no problem

# use set_ab_names() for renaming columns
colnames(set_ab_names(example_isolates, NIT:VAN))
# \donttest{
if (require("dplyr")) {
  example_isolates %>%
  # this does the same:
  example_isolates %>%
  # set_ab_names() works with any AB property:
  example_isolates %>%
    set_ab_names(property = "atc")
 example_isolates %>%
   set_ab_names(where(is.rsi)) %>%
 example_isolates %>%
   set_ab_names(NIT:VAN) %>%
# }