[{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"How to conduct AMR data analysis","text":"Conducting AMR data analysis unfortunately requires -depth knowledge different scientific fields, makes hard right. least, requires: Good questions (always start !) thorough understanding (clinical) epidemiology, understand clinical epidemiological relevance possible bias results thorough understanding (clinical) microbiology/infectious diseases, understand microorganisms causal infections implications pharmaceutical treatment, well understanding intrinsic acquired microbial resistance Experience data analysis microbiological tests results, understand determination limitations MIC values interpretations RSI values Availability biological taxonomy microorganisms probably normalisation factors pharmaceuticals, defined daily doses (DDD) Available (inter-)national guidelines, profound methods apply course, instantly provide knowledge experience. AMR package, aimed providing (1) tools simplify antimicrobial resistance data cleaning, transformation analysis, (2) methods easily incorporate international guidelines (3) scientifically reliable reference data, including requirements mentioned . AMR package enables standardised reproducible AMR data analysis, application evidence-based rules, determination first isolates, translation various codes microorganisms antimicrobial agents, determination (multi-drug) resistant microorganisms, calculation antimicrobial resistance, prevalence future trends.","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"preparation","dir":"Articles","previous_headings":"","what":"Preparation","title":"How to conduct AMR data analysis","text":"tutorial, create fake demonstration data work . can skip Cleaning data already data ready. start analysis, try make structure data generally look like :","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"needed-r-packages","dir":"Articles","previous_headings":"Preparation","what":"Needed R packages","title":"How to conduct AMR data analysis","text":"many uses R, need additional packages AMR data analysis. package works closely together tidyverse packages dplyr ggplot2 RStudio. tidyverse tremendously improves way conduct data science - allows natural way writing syntaxes creating beautiful plots R. also use cleaner package, can used cleaning data creating frequency tables.","code":"library(dplyr) library(ggplot2) library(AMR) library(cleaner) # (if not yet installed, install with:) # install.packages(c(\"dplyr\", \"ggplot2\", \"AMR\", \"cleaner\"))"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"creation-of-data","dir":"Articles","previous_headings":"","what":"Creation of data","title":"How to conduct AMR data analysis","text":"create fake example data use analysis. AMR data analysis, need least: patient ID, name code microorganism, date antimicrobial results (antibiogram). also include specimen type (e.g. filter blood urine), ward type (e.g. filter ICUs). additional columns (like hospital name, patients gender even [well-defined] clinical properties) can comparative analysis, tutorial demonstrate .","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"patients","dir":"Articles","previous_headings":"Creation of data","what":"Patients","title":"How to conduct AMR data analysis","text":"start patients, need unique list patients. LETTERS object available R - ’s vector 26 characters: Z. patients object just created now vector length 260, values (patient IDs) varying A1 Z10. Now also set gender patients, putting ID gender table: first 135 patient IDs now male, 125 female.","code":"patients <- unlist(lapply(LETTERS, paste0, 1:10)) patients_table <- data.frame( patient_id = patients, gender = c( rep(\"M\", 135), rep(\"F\", 125) ) )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"dates","dir":"Articles","previous_headings":"Creation of data","what":"Dates","title":"How to conduct AMR data analysis","text":"Let’s pretend data consists blood cultures isolates 1 January 2010 1 January 2018. dates object now contains days date range.","code":"dates <- seq(as.Date(\"2010-01-01\"), as.Date(\"2018-01-01\"), by = \"day\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"microorganisms","dir":"Articles","previous_headings":"Creation of data > Dates","what":"Microorganisms","title":"How to conduct AMR data analysis","text":"tutorial, uses four different microorganisms: Escherichia coli, Staphylococcus aureus, Streptococcus pneumoniae, Klebsiella pneumoniae:","code":"bacteria <- c( \"Escherichia coli\", \"Staphylococcus aureus\", \"Streptococcus pneumoniae\", \"Klebsiella pneumoniae\" )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"put-everything-together","dir":"Articles","previous_headings":"Creation of data","what":"Put everything together","title":"How to conduct AMR data analysis","text":"Using sample() function, can randomly select items objects defined earlier. let fake data reflect reality bit, also approximately define probabilities bacteria antibiotic results, using random_rsi() function. Using left_join() function dplyr package, can ‘map’ gender patient ID using patients_table object created earlier: resulting data set contains 20,000 blood culture isolates. head() function can preview first 6 rows data set: Now, let’s start cleaning analysis!","code":"sample_size <- 20000 data <- data.frame( date = sample(dates, size = sample_size, replace = TRUE), patient_id = sample(patients, size = sample_size, replace = TRUE), hospital = sample(c( \"Hospital A\", \"Hospital B\", \"Hospital C\", \"Hospital D\" ), size = sample_size, replace = TRUE, prob = c(0.30, 0.35, 0.15, 0.20) ), bacteria = sample(bacteria, size = sample_size, replace = TRUE, prob = c(0.50, 0.25, 0.15, 0.10) ), AMX = random_rsi(sample_size, prob_RSI = c(0.35, 0.60, 0.05)), AMC = random_rsi(sample_size, prob_RSI = c(0.15, 0.75, 0.10)), CIP = random_rsi(sample_size, prob_RSI = c(0.20, 0.80, 0.00)), GEN = random_rsi(sample_size, prob_RSI = c(0.08, 0.92, 0.00)) ) data <- data %>% left_join(patients_table) head(data)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"cleaning-the-data","dir":"Articles","previous_headings":"","what":"Cleaning the data","title":"How to conduct AMR data analysis","text":"also created package dedicated data cleaning checking, called cleaner package. freq() function can used create frequency tables. example, gender variable: Frequency table Class: character Length: 20,000 Available: 20,000 (100.0%, NA: 0 = 0.0%) Unique: 2 Shortest: 1 Longest: 1 , can draw least two conclusions immediately. data scientists perspective, data looks clean: values M F. researchers perspective: slightly men. Nothing didn’t already know. data already quite clean, still need transform variables. bacteria column now consists text, want add variables based microbial IDs later . , transform column valid IDs. mutate() function dplyr package makes really easy: also want transform antibiotics, real life data don’t know really clean. .rsi() function ensures reliability reproducibility kind variables. .rsi.eligible() can check columns probably columns R/SI test results. Using mutate() across(), can apply transformation formal class: Finally, apply EUCAST rules antimicrobial results. Europe, medical microbiological laboratories already apply rules. package features latest insights intrinsic resistance exceptional phenotypes. Moreover, eucast_rules() function can also apply additional rules, like forcing ampicillin = R amoxicillin/clavulanic acid = R. amoxicillin (column AMX) amoxicillin/clavulanic acid (column AMC) data generated randomly, rows undoubtedly contain AMX = S AMC = R, technically impossible. eucast_rules() fixes :","code":"data %>% freq(gender) data <- data %>% mutate(bacteria = as.mo(bacteria)) is.rsi.eligible(data) # [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE colnames(data)[is.rsi.eligible(data)] # [1] \"AMX\" \"AMC\" \"CIP\" \"GEN\" data <- data %>% mutate(across(where(is.rsi.eligible), as.rsi)) data <- eucast_rules(data, col_mo = \"bacteria\", rules = \"all\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"adding-new-variables","dir":"Articles","previous_headings":"","what":"Adding new variables","title":"How to conduct AMR data analysis","text":"Now microbial ID, can add taxonomic properties:","code":"data <- data %>% mutate( gramstain = mo_gramstain(bacteria), genus = mo_genus(bacteria), species = mo_species(bacteria) )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"first-isolates","dir":"Articles","previous_headings":"Adding new variables","what":"First isolates","title":"How to conduct AMR data analysis","text":"also need know isolates can actually use analysis. conduct analysis antimicrobial resistance, must include first isolate every patient per episode (Hindler et al., Clin Infect Dis. 2007). , easily get overestimate underestimate resistance antibiotic. Imagine patient admitted MRSA found 5 different blood cultures following weeks (yes, countries like Netherlands blood drawing policies). resistance percentage oxacillin isolates overestimated, included MRSA . clearly selection bias. Clinical Laboratory Standards Institute (CLSI) appoints follows: (…) preparing cumulative antibiogram guide clinical decisions empirical antimicrobial therapy initial infections, first isolate given species per patient, per analysis period (eg, one year) included, irrespective body site, antimicrobial susceptibility profile, phenotypical characteristics (eg, biotype). first isolate easily identified, cumulative antimicrobial susceptibility test data prepared using first isolate generally comparable cumulative antimicrobial susceptibility test data calculated methods, providing duplicate isolates excluded. M39-A4 Analysis Presentation Cumulative Antimicrobial Susceptibility Test Data, 4th Edition. CLSI, 2014. Chapter 6.4 AMR package includes methodology first_isolate() function able apply four different methods defined Hindler et al. 2007: phenotype-based, episode-based, patient-based, isolate-based. right method depends goals analysis, default phenotype-based method case method properly correct duplicate isolates. method also takes account antimicrobial susceptibility test results using all_microbials(). Read methods first_isolate() page. outcome function can easily added data: 53.8% suitable resistance analysis! can now filter filter() function, also dplyr package: future use, two syntaxes can shortened: end 10,765 isolates analysis. Now data looks like: Time analysis!","code":"data <- data %>% mutate(first = first_isolate(info = TRUE)) # Determining first isolates using an episode length of 365 days # ℹ Using column 'bacteria' as input for `col_mo`. # ℹ Using column 'date' as input for `col_date`. # ℹ Using column 'patient_id' as input for `col_patient_id`. # Basing inclusion on all antimicrobial results, using a points threshold of # 2 # Including isolates from ICU. # => Found 10,765 'phenotype-based' first isolates (53.8% of total where a # microbial ID was available) data_1st <- data %>% filter(first == TRUE) data_1st <- data %>% filter_first_isolate() # Including isolates from ICU. head(data_1st)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"analysing-the-data","dir":"Articles","previous_headings":"","what":"Analysing the data","title":"How to conduct AMR data analysis","text":"might want start getting idea data distributed. ’s important start, also decides continue analysis. Although package contains convenient function make frequency tables, exploratory data analysis (EDA) primary scope package. Use package like DataExplorer , read free online book Exploratory Data Analysis R Roger D. Peng.","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"dispersion-of-species","dir":"Articles","previous_headings":"Analysing the data","what":"Dispersion of species","title":"How to conduct AMR data analysis","text":"just get idea species distributed, create frequency table freq() function. created genus species column earlier based microbial ID. paste(), can concatenate together. freq() function can used like base R language intended: can used like dplyr way, easier readable: Frequency table Class: character Length: 10,765 Available: 10,765 (100.0%, NA: 0 = 0.0%) Unique: 4 Shortest: 16 Longest: 24","code":"freq(paste(data_1st$genus, data_1st$species)) data_1st %>% freq(genus, species)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"overview-of-different-bugdrug-combinations","dir":"Articles","previous_headings":"Analysing the data","what":"Overview of different bug/drug combinations","title":"How to conduct AMR data analysis","text":"Using tidyverse selections, can also select filter columns based antibiotic class : want get quick glance number isolates different bug/drug combinations, can use bug_drug_combinations() function: give crude numbers data. calculate antimicrobial resistance sensible way, also correcting results, use resistance() susceptibility() functions.","code":"data_1st %>% filter(any(aminoglycosides() == \"R\")) # ℹ For `aminoglycosides()` using column 'GEN' (gentamicin) data_1st %>% bug_drug_combinations() %>% head() # show first 6 rows # ℹ Using column 'bacteria' as input for `col_mo`. data_1st %>% select(bacteria, aminoglycosides()) %>% bug_drug_combinations() # ℹ For `aminoglycosides()` using column 'GEN' (gentamicin) # ℹ Using column 'bacteria' as input for `col_mo`."},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"resistance-percentages","dir":"Articles","previous_headings":"Analysing the data","what":"Resistance percentages","title":"How to conduct AMR data analysis","text":"functions resistance() susceptibility() can used calculate antimicrobial resistance susceptibility. specific analyses, functions proportion_S(), proportion_SI(), proportion_I(), proportion_IR() proportion_R() can used determine proportion specific antimicrobial outcome. functions contain minimum argument, denoting minimum required number test results returning value. functions otherwise return NA. default minimum = 30, following CLSI M39-A4 guideline applying microbial epidemiology. per EUCAST guideline 2019, calculate resistance proportion R (proportion_R(), equal resistance()) susceptibility proportion S (proportion_SI(), equal susceptibility()). functions can used : can used conjunction group_by() summarise(), dplyr package: course convenient know number isolates responsible percentages. purpose n_rsi() can used, works exactly like n_distinct() dplyr package. counts isolates available every group (.e. values S, R): functions can also used get proportion multiple antibiotics, calculate empiric susceptibility combination therapies easily: curious resistance within certain antibiotic classes, use antibiotic class selector penicillins(), automatically include columns AMX AMC data: make transition next part, let’s see differences previously calculated combination therapies plotted:","code":"data_1st %>% resistance(AMX) # [1] 0.5452856 data_1st %>% group_by(hospital) %>% summarise(amoxicillin = resistance(AMX)) data_1st %>% group_by(hospital) %>% summarise( amoxicillin = resistance(AMX), available = n_rsi(AMX) ) data_1st %>% group_by(genus) %>% summarise( amoxiclav = susceptibility(AMC), gentamicin = susceptibility(GEN), amoxiclav_genta = susceptibility(AMC, GEN) ) data_1st %>% # group by hospital group_by(hospital) %>% # / -> select all penicillins in the data for calculation # | / -> use resistance() for all peni's per hospital # | | / -> print as percentages summarise(across(penicillins(), resistance, as_percent = TRUE)) %>% # format the antibiotic column names, using so-called snake case, # so 'Amoxicillin/clavulanic acid' becomes 'amoxicillin_clavulanic_acid' rename_with(set_ab_names, penicillins()) data_1st %>% group_by(genus) %>% summarise( \"1. Amoxi/clav\" = susceptibility(AMC), \"2. Gentamicin\" = susceptibility(GEN), \"3. Amoxi/clav + genta\" = susceptibility(AMC, GEN) ) %>% # pivot_longer() from the tidyr package \"lengthens\" data: tidyr::pivot_longer(-genus, names_to = \"antibiotic\") %>% ggplot(aes( x = genus, y = value, fill = antibiotic )) + geom_col(position = \"dodge2\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"plots","dir":"Articles","previous_headings":"Analysing the data","what":"Plots","title":"How to conduct AMR data analysis","text":"show results plots, R users nowadays use ggplot2 package. package lets create plots layers. can read website. quick example look like syntaxes: AMR package contains functions extend ggplot2 package, example geom_rsi(). automatically transforms data count_df() proportion_df() show results stacked bars. simplest shortest example: Omit translate_ab = FALSE antibiotic codes (AMX, AMC, CIP, GEN) translated official names (amoxicillin, amoxicillin/clavulanic acid, ciprofloxacin, gentamicin). group e.g. genus column add additional functions package, can create : simplify , also created ggplot_rsi() function, combines almost functions:","code":"ggplot( data = a_data_set, mapping = aes( x = year, y = value ) ) + geom_col() + labs( title = \"A title\", subtitle = \"A subtitle\", x = \"My X axis\", y = \"My Y axis\" ) # or as short as: ggplot(a_data_set) + geom_bar(aes(year)) ggplot(data_1st) + geom_rsi(translate_ab = FALSE) # group the data on `genus` ggplot(data_1st %>% group_by(genus)) + # create bars with genus on x axis # it looks for variables with class `rsi`, # of which we have 4 (earlier created with `as.rsi`) geom_rsi(x = \"genus\") + # split plots on antibiotic facet_rsi(facet = \"antibiotic\") + # set colours to the R/SI interpretations (colour-blind friendly) scale_rsi_colours() + # show percentages on y axis scale_y_percent(breaks = 0:4 * 25) + # turn 90 degrees, to make it bars instead of columns coord_flip() + # add labels labs( title = \"Resistance per genus and antibiotic\", subtitle = \"(this is fake data)\" ) + # and print genus in italic to follow our convention # (is now y axis because we turned the plot) theme(axis.text.y = element_text(face = \"italic\")) data_1st %>% group_by(genus) %>% ggplot_rsi( x = \"genus\", facet = \"antibiotic\", breaks = 0:4 * 25, datalabels = FALSE ) + coord_flip()"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"plotting-mic-and-disk-diffusion-values","dir":"Articles","previous_headings":"Analysing the data > Plots","what":"Plotting MIC and disk diffusion values","title":"How to conduct AMR data analysis","text":"AMR package also extends plot() ggplot2::autoplot() functions plotting minimum inhibitory concentrations (MIC, created .mic()) disk diffusion diameters (created .disk()). random_mic() random_disk() functions, can generate sampled values new data types (S3 classes) : also specific, generating MICs likely found E. coli ciprofloxacin: plot() autoplot() function, can define microorganism antimicrobial agent way. add interpretation values according chosen guidelines (defaults latest EUCAST guideline). Default colours colour-blind friendly, maintaining convention e.g. ‘susceptible’ green ‘resistant’ red: disk diffusion values, much difference plotting: using ggplot2 package, now choosing latest implemented CLSI guideline (notice EUCAST-specific term “Susceptible, incr. exp.” changed “Intermediate”):","code":"mic_values <- random_mic(size = 100) mic_values # Class # [1] 32 <=0.001 0.025 <=0.001 4 0.125 0.01 0.002 32 # [10] 16 64 4 <=0.001 0.01 16 0.01 64 64 # [19] 256 0.0625 0.002 0.005 0.125 0.025 32 128 0.5 # [28] 16 0.5 32 0.005 32 0.01 2 0.125 128 # [37] 64 8 0.002 0.01 2 <=0.001 0.005 64 0.0625 # [46] <=0.001 8 0.5 64 32 0.5 0.005 0.01 <=0.001 # [55] 16 0.5 8 0.0625 0.125 128 16 0.5 0.002 # [64] 16 8 128 128 4 256 0.5 8 4 # [73] 16 0.025 2 1 16 0.005 0.01 16 1 # [82] 0.25 0.01 0.002 0.0625 0.005 128 64 128 8 # [91] 0.002 1 8 8 0.25 0.125 16 2 0.5 # [100] 256 # base R: plot(mic_values) # ggplot2: autoplot(mic_values) mic_values <- random_mic(size = 100, mo = \"E. coli\", ab = \"cipro\") # base R: plot(mic_values, mo = \"E. coli\", ab = \"cipro\") # ggplot2: autoplot(mic_values, mo = \"E. coli\", ab = \"cipro\") disk_values <- random_disk(size = 100, mo = \"E. coli\", ab = \"cipro\") disk_values # Class # [1] 29 31 21 24 20 24 29 22 21 20 19 25 17 30 30 28 25 27 23 20 18 22 31 25 24 # [26] 29 25 21 29 20 22 23 27 30 23 22 30 22 18 20 23 27 25 23 21 21 24 21 29 26 # [51] 21 26 26 24 30 24 30 25 23 30 20 29 22 17 20 18 21 22 27 29 30 30 30 21 30 # [76] 26 19 28 26 22 25 19 21 23 29 17 23 23 24 26 28 17 17 30 23 29 31 19 19 31 # base R: plot(disk_values, mo = \"E. coli\", ab = \"cipro\") autoplot( disk_values, mo = \"E. coli\", ab = \"cipro\", guideline = \"CLSI\" )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"independence-test","dir":"Articles","previous_headings":"Analysing the data","what":"Independence test","title":"How to conduct AMR data analysis","text":"next example uses example_isolates data set. data set included package contains 2,000 microbial isolates full antibiograms. reflects reality can used practise AMR data analysis. compare resistance amoxicillin/clavulanic acid (column FOS) ICU clinical wards. input fisher.test() can retrieved transformation like : can apply test now : can seen, p value practically zero (0.0000002263247), means amoxicillin/clavulanic acid resistance found isolates patients ICUs clinical wards really different.","code":"# use package 'tidyr' to pivot data: library(tidyr) check_FOS <- example_isolates %>% filter(ward %in% c(\"ICU\", \"Clinical\")) %>% # filter on only these wards select(ward, AMC) %>% # select the wards and amoxi/clav group_by(ward) %>% # group on the wards count_df(combine_SI = TRUE) %>% # count all isolates per group (ward) pivot_wider( names_from = ward, # transform output so \"ICU\" and \"Clinical\" are columns values_from = value ) %>% select(ICU, Clinical) %>% # and only select these columns as.matrix() # transform to a good old matrix for fisher.test() check_FOS # ICU Clinical # [1,] 396 942 # [2,] 184 240 # do Fisher's Exact Test fisher.test(check_FOS) # # Fisher's Exact Test for Count Data # # data: check_FOS # p-value = 2.263e-07 # alternative hypothesis: true odds ratio is not equal to 1 # 95 percent confidence interval: # 0.435261 0.691614 # sample estimates: # odds ratio # 0.5485079"},{"path":"https://msberends.github.io/AMR/articles/EUCAST.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"How to apply EUCAST rules","text":"EUCAST rules? European Committee Antimicrobial Susceptibility Testing (EUCAST) states website: EUCAST expert rules tabulated collection expert knowledge intrinsic resistances, exceptional resistance phenotypes interpretive rules may applied antimicrobial susceptibility testing order reduce errors make appropriate recommendations reporting particular resistances. Europe, lot medical microbiological laboratories already apply rules (Brown et al., 2015). package features latest insights intrinsic resistance unusual phenotypes (v3.3, 2021). Moreover, eucast_rules() function use purpose can also apply additional rules, like forcing ampicillin = R isolates amoxicillin/clavulanic acid = R.","code":""},{"path":"https://msberends.github.io/AMR/articles/EUCAST.html","id":"examples","dir":"Articles","previous_headings":"","what":"Examples","title":"How to apply EUCAST rules","text":"rules can used discard impossible bug-drug combinations data. example, Klebsiella produces beta-lactamase prevents ampicillin (amoxicillin) working . words, practically every strain Klebsiella resistant ampicillin. Sometimes, laboratory data can still contain strains ampicillin susceptible ampicillin. antibiogram available identification available, antibiogram re-interpreted based identification (namely, Klebsiella). EUCAST expert rules solve , can applied using eucast_rules(): convenient function mo_is_intrinsic_resistant() uses guideline, allows check one specific microorganisms antibiotics: EUCAST rules can used correction, can also used filling known resistance susceptibility based results antimicrobials drugs. process called interpretive reading, basically form imputation, part eucast_rules() function well:","code":"oops <- data.frame( mo = c( \"Klebsiella\", \"Escherichia\" ), ampicillin = \"S\" ) oops # mo ampicillin # 1 Klebsiella S # 2 Escherichia S eucast_rules(oops, info = FALSE) # mo ampicillin # 1 Klebsiella R # 2 Escherichia S mo_is_intrinsic_resistant( c(\"Klebsiella\", \"Escherichia\"), \"ampicillin\" ) # [1] TRUE FALSE mo_is_intrinsic_resistant( \"Klebsiella\", c(\"ampicillin\", \"kanamycin\") ) # [1] TRUE FALSE data <- data.frame( mo = c( \"Staphylococcus aureus\", \"Enterococcus faecalis\", \"Escherichia coli\", \"Klebsiella pneumoniae\", \"Pseudomonas aeruginosa\" ), VAN = \"-\", # Vancomycin AMX = \"-\", # Amoxicillin COL = \"-\", # Colistin CAZ = \"-\", # Ceftazidime CXM = \"-\", # Cefuroxime PEN = \"S\", # Benzylenicillin FOX = \"S\", # Cefoxitin stringsAsFactors = FALSE ) data eucast_rules(data)"},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"type-of-input","dir":"Articles","previous_headings":"","what":"Type of input","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function takes data set input, regular data.frame. tries automatically determine right columns info isolates, name species columns results antimicrobial agents. See help page info set right settings data command ?mdro. WHONET data (data), settings automatically set correctly.","code":""},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"guidelines","dir":"Articles","previous_headings":"","what":"Guidelines","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function support multiple guidelines. can select guideline guideline parameter. Currently supported guidelines (case-insensitive): guideline = \"CMI2012\" (default) Magiorakos AP, Srinivasan et al. “Multidrug-resistant, extensively drug-resistant pandrug-resistant bacteria: international expert proposal interim standard definitions acquired resistance.” Clinical Microbiology Infection (2012) (link) guideline = \"EUCAST3.2\" (simply guideline = \"EUCAST\") European international guideline - EUCAST Expert Rules Version 3.2 “Intrinsic Resistance Unusual Phenotypes” (link) guideline = \"EUCAST3.1\" European international guideline - EUCAST Expert Rules Version 3.1 “Intrinsic Resistance Exceptional Phenotypes Tables” (link) guideline = \"TB\" international guideline multi-drug resistant tuberculosis - World Health Organization “Companion handbook guidelines programmatic management drug-resistant tuberculosis” (link) guideline = \"MRGN\" German national guideline - Mueller et al. (2015) Antimicrobial Resistance Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6 guideline = \"BRMO\" Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu “WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) (ZKH)” (link) Please suggest (country-specific) guidelines letting us know: https://github.com/msberends/AMR/issues/new.","code":""},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"custom-guidelines","dir":"Articles","previous_headings":"Guidelines","what":"Custom Guidelines","title":"How to determine multi-drug resistance (MDR)","text":"can also use custom guideline. Custom guidelines can set custom_mdro_guideline() function. great importance custom rules determine MDROs hospital, e.g., rules dependent ward, state contact isolation variables data. familiar case_when() dplyr package, recognise input method set rules. Rules must set using R considers ‘formula notation’: row/isolate matches first rule, value first ~ (case ‘Elderly Type ’) set MDRO value. Otherwise, second rule tried . maximum number rules unlimited. can print rules set console overview. Colours help reading console supports colours. outcome function can used guideline argument mdro() function: rules set (custom object case) exported shared file location using saveRDS() collaborate multiple users. custom rules set imported using readRDS().","code":"custom <- custom_mdro_guideline( CIP == \"R\" & age > 60 ~ \"Elderly Type A\", ERY == \"R\" & age > 60 ~ \"Elderly Type B\" ) custom # A set of custom MDRO rules: # 1. If CIP is \"R\" and age is higher than 60 then: Elderly Type A # 2. If ERY is \"R\" and age is higher than 60 then: Elderly Type B # 3. Otherwise: Negative # # Unmatched rows will return NA. # Results will be of class , with ordered levels: Negative < Elderly Type A < Elderly Type B x <- mdro(example_isolates, guideline = custom) table(x) # x # Negative Elderly Type A Elderly Type B # 1070 198 732"},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"examples","dir":"Articles","previous_headings":"","what":"Examples","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function always returns ordered factor predefined guidelines. example, output default guideline Magiorakos et al. returns factor levels ‘Negative’, ‘MDR’, ‘XDR’ ‘PDR’ order. next example uses example_isolates data set. data set included package contains full antibiograms 2,000 microbial isolates. reflects reality can used practise AMR data analysis. test MDR/XDR/PDR guideline data set, get: (16 isolates test results) Frequency table Class: factor > ordered (numeric) Length: 2,000 Levels: 4: Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant … Available: 1,729 (86.45%, NA: 271 = 13.55%) Unique: 2 another example, create data set determine multi-drug resistant TB: column names automatically verified valid drug names codes, worked exactly way: data set now looks like : can now add interpretation MDR-TB data set. can use: shortcut mdr_tb(): Create frequency table results: Frequency table Class: factor > ordered (numeric) Length: 5,000 Levels: 5: Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant <… Available: 5,000 (100.0%, NA: 0 = 0.0%) Unique: 5","code":"library(dplyr) # to support pipes: %>% library(cleaner) # to create frequency tables example_isolates %>% mdro() %>% freq() # show frequency table of the result # Warning: in `mdro()`: NA introduced for isolates where the available percentage of # antimicrobial classes was below 50% (set with `pct_required_classes`) # random_rsi() is a helper function to generate # a random vector with values S, I and R my_TB_data <- data.frame( rifampicin = random_rsi(5000), isoniazid = random_rsi(5000), gatifloxacin = random_rsi(5000), ethambutol = random_rsi(5000), pyrazinamide = random_rsi(5000), moxifloxacin = random_rsi(5000), kanamycin = random_rsi(5000) ) my_TB_data <- data.frame( RIF = random_rsi(5000), INH = random_rsi(5000), GAT = random_rsi(5000), ETH = random_rsi(5000), PZA = random_rsi(5000), MFX = random_rsi(5000), KAN = random_rsi(5000) ) head(my_TB_data) # rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin # 1 S I I R R S # 2 R I R I S R # 3 R S R S I S # 4 S I I S R I # 5 S S I I I R # 6 R I R R I I # kanamycin # 1 R # 2 S # 3 I # 4 S # 5 R # 6 I mdro(my_TB_data, guideline = \"TB\") my_TB_data$mdr <- mdr_tb(my_TB_data) # ℹ No column found as input for `col_mo`, assuming all rows contain # Mycobacterium tuberculosis. freq(my_TB_data$mdr)"},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"transforming","dir":"Articles","previous_headings":"","what":"Transforming","title":"How to conduct principal component analysis (PCA) for AMR","text":"PCA, need transform AMR data first. example_isolates data set package looks like: Now transform data set resistance percentages per taxonomic order genus:","code":"library(AMR) library(dplyr) glimpse(example_isolates) # Rows: 2,000 # Columns: 46 # $ date 2002-01-02, 2002-01-03, 2002-01-07, 2002-01-07, 2002-01-13, 2… # $ patient \"A77334\", \"A77334\", \"067927\", \"067927\", \"067927\", \"067927\", \"4… # $ age 65, 65, 45, 45, 45, 45, 78, 78, 45, 79, 67, 67, 71, 71, 75, 50… # $ gender \"F\", \"F\", \"F\", \"F\", \"F\", \"F\", \"M\", \"M\", \"F\", \"F\", \"M\", \"M\", \"M… # $ ward \"Clinical\", \"Clinical\", \"ICU\", \"ICU\", \"ICU\", \"ICU\", \"Clinical\"… # $ mo \"B_ESCHR_COLI\", \"B_ESCHR_COLI\", \"B_STPHY_EPDR\", \"B_STPHY_EPDR\",… # $ PEN R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, S,… # $ OXA NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ FLC NA, NA, R, R, R, R, S, S, R, S, S, S, NA, NA, NA, NA, NA, R, R… # $ AMX NA, NA, NA, NA, NA, NA, R, R, NA, NA, NA, NA, NA, NA, R, NA, N… # $ AMC I, I, NA, NA, NA, NA, S, S, NA, NA, S, S, I, I, R, I, I, NA, N… # $ AMP NA, NA, NA, NA, NA, NA, R, R, NA, NA, NA, NA, NA, NA, R, NA, N… # $ TZP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CZO NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, NA,… # $ FEP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CXM I, I, R, R, R, R, S, S, R, S, S, S, S, S, NA, S, S, R, R, S, S… # $ FOX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, NA,… # $ CTX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ CAZ NA, NA, R, R, R, R, R, R, R, R, R, R, NA, NA, NA, S, S, R, R, … # $ CRO NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ GEN NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ TOB NA, NA, NA, NA, NA, NA, S, S, NA, NA, NA, NA, S, S, NA, NA, NA… # $ AMK NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ KAN NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ TMP R, R, S, S, R, R, R, R, S, S, NA, NA, S, S, S, S, S, R, R, R, … # $ SXT R, R, S, S, NA, NA, NA, NA, S, S, NA, NA, S, S, S, S, S, NA, N… # $ NIT NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R,… # $ FOS NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ LNZ R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… # $ CIP NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, NA, NA, NA, NA, S, S… # $ MFX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ VAN R, R, S, S, S, S, S, S, S, S, NA, NA, R, R, R, R, R, S, S, S, … # $ TEC R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… # $ TCY R, R, S, S, S, S, S, S, S, I, S, S, NA, NA, I, R, R, S, I, R, … # $ TGC NA, NA, S, S, S, S, S, S, S, NA, S, S, NA, NA, NA, R, R, S, NA… # $ DOX NA, NA, S, S, S, S, S, S, S, NA, S, S, NA, NA, NA, R, R, S, NA… # $ ERY R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,… # $ CLI R, R, NA, NA, NA, R, NA, NA, NA, NA, NA, NA, R, R, R, R, R, NA… # $ AZM R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,… # $ IPM NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ MEM NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ MTR NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CHL NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ COL NA, NA, R, R, R, R, R, R, R, R, R, R, NA, NA, NA, R, R, R, R, … # $ MUP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ RIF R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… resistance_data <- example_isolates %>% group_by( order = mo_order(mo), # group on anything, like order genus = mo_genus(mo) ) %>% # and genus as we do here summarise_if(is.rsi, resistance) %>% # then get resistance of all drugs select( order, genus, AMC, CXM, CTX, CAZ, GEN, TOB, TMP, SXT ) # and select only relevant columns head(resistance_data) # # A tibble: 6 × 10 # # Groups: order [5] # order genus AMC CXM CTX CAZ GEN TOB TMP SXT # # 1 (unknown order) (unknown ge… NA NA NA NA NA NA NA NA # 2 Actinomycetales Schaalia NA NA NA NA NA NA NA NA # 3 Bacteroidales Bacteroides NA NA NA NA NA NA NA NA # 4 Campylobacterales Campylobact… NA NA NA NA NA NA NA NA # 5 Caryophanales Gemella NA NA NA NA NA NA NA NA # 6 Caryophanales Listeria NA NA NA NA NA NA NA NA"},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"perform-principal-component-analysis","dir":"Articles","previous_headings":"","what":"Perform principal component analysis","title":"How to conduct principal component analysis (PCA) for AMR","text":"new pca() function automatically filter rows contain numeric values selected variables, now need : result can reviewed good old summary() function: Good news. first two components explain total 93.3% variance (see PC1 PC2 values Proportion Variance. can create -called biplot base R biplot() function, see antimicrobial resistance per drug explain difference per microorganism.","code":"pca_result <- pca(resistance_data) # ℹ Columns selected for PCA: \"AMC\", \"CAZ\", \"CTX\", \"CXM\", \"GEN\", \"SXT\", \"TMP\" # and \"TOB\". Total observations available: 7. summary(pca_result) # Groups (n=4, named as 'order'): # [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\" # Importance of components: # PC1 PC2 PC3 PC4 PC5 PC6 PC7 # Standard deviation 2.1539 1.6807 0.6138 0.33879 0.20808 0.03140 5.121e-17 # Proportion of Variance 0.5799 0.3531 0.0471 0.01435 0.00541 0.00012 0.000e+00 # Cumulative Proportion 0.5799 0.9330 0.9801 0.99446 0.99988 1.00000 1.000e+00 # Groups (n=4, named as 'order'): # [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\""},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"plotting-the-results","dir":"Articles","previous_headings":"","what":"Plotting the results","title":"How to conduct principal component analysis (PCA) for AMR","text":"can’t see explanation points. Perhaps works better new ggplot_pca() function, automatically adds right labels even groups: can also print ellipse per group, edit appearance:","code":"biplot(pca_result) ggplot_pca(pca_result) ggplot_pca(pca_result, ellipse = TRUE) + ggplot2::labs(title = \"An AMR/PCA biplot!\")"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"spss-sas-stata","dir":"Articles","previous_headings":"","what":"SPSS / SAS / Stata","title":"How to import data from SPSS / SAS / Stata","text":"SPSS (Statistical Package Social Sciences) probably well-known software package statistical analysis. SPSS easier learn R, SPSS click menu run parts analysis. user-friendliness, taught universities particularly useful students new statistics. experience, guess pretty much (bio)medical students know time graduate. SAS Stata comparable statistical packages popular big industries.","code":""},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"compared-to-r","dir":"Articles","previous_headings":"","what":"Compared to R","title":"How to import data from SPSS / SAS / Stata","text":"said, SPSS easier learn R. SPSS, SAS Stata come major downsides comparing R: R highly modular. official R network (CRAN) features 16,000 packages time writing, AMR package one . packages peer-reviewed publication. Aside official channel, also developers choose submit CRAN, rather keep public repository, like GitHub. may even lot 14,000 packages . Bottom line , can really extend ask somebody . Take example AMR package. Among things, adds reliable reference data R help data cleaning analysis. SPSS, SAS Stata never know valid MIC value Gram stain E. coli . species Klebiella resistant amoxicillin Floxapen® trade name flucloxacillin. facts properties often needed clean existing data, inconvenient software package without reliable reference data. See demonstration. R extremely flexible. write syntax , can anything want. flexibility transforming, arranging, grouping summarising data, drawing plots, endless - SPSS, SAS Stata bound algorithms format styles. may bit flexible, can probably never create specific publication-ready plot without using (paid) software. sometimes write syntaxes SPSS run complete analysis ‘automate’ work, lot less time R. notice writing syntaxes R lot nifty clever SPSS. Still, working statistical package, knowledge (statistically) willing accomplish. R can easily automated. last years, R Markdown really made interesting development. R Markdown, can easily produce reports, whether format Word, PowerPoint, website, PDF document just raw data Excel. even allows use reference file containing layout style (e.g. fonts colours) organisation. use lot generate weekly monthly reports automatically. Just write code enjoy automatically updated reports interval like. even professional environment, create Shiny apps: live manipulation data using custom made website. webdesign knowledge needed (JavaScript, CSS, HTML) almost zero. R huge community. Many R users just ask questions websites like StackOverflow.com, largest online community programmers. time writing, 466,054 R-related questions already asked platform (covers questions answers programming language). experience, questions answered within couple minutes. R understands data type, including SPSS/SAS/Stata. ’s vice versa ’m afraid. can import data source R. example SPSS, SAS Stata (link), Minitab, Epi Info EpiData (link), Excel (link), flat files like CSV, TXT TSV (link), directly databases datawarehouses anywhere world (link). can even scrape websites download tables live internet (link) get results API call transform data one command (link). best part - can export R data formats well. can import SPSS file, analysis neatly R export resulting tables Excel files sharing. R completely free open-source. strings attached. created maintained volunteers believe (data) science open publicly available everybody. SPSS, SAS Stata quite expensive. IBM SPSS Staticstics comes subscriptions nowadays, varying USD 1,300 USD 8,500 per user per year. SAS Analytics Pro costs around USD 10,000 per computer. Stata also business model subscription fees, varying USD 600 USD 2,800 per computer per year, lower prices come limitation number variables can work . still offer benefits R. working midsized small company, can save tens thousands dollars using R instead e.g. SPSS - gaining even functions flexibility. R enthousiasts can much PR want (like ), nobody officially associated affiliated R. really free. R (nowadays) preferred analysis software academic papers. present, R among world powerful statistical languages, generally popular science (Bollmann et al., 2017). reasons, number references R analysis method academic papers rising continuously even surpassed SPSS academic use (Muenchen, 2014). believe thing SPSS , always great user interface easy learn use. Back developed , little competition, let alone R. R didn’t even professional user interface last decade (called RStudio, see ). people used R nineties 2010 almost completely incomparable R used now. language restyled completely volunteers dedicated professionals field data science. SPSS great nothing else compete. now 2022, don’t see reason SPSS better use R. demonstrate first point:","code":"# not all values are valid MIC values: as.mic(0.125) # Class # [1] 0.125 as.mic(\"testvalue\") # Class # [1] # the Gram stain is available for all bacteria: mo_gramstain(\"E. coli\") # [1] \"Gram-negative\" # Klebsiella is intrinsic resistant to amoxicillin, according to EUCAST: klebsiella_test <- data.frame( mo = \"klebsiella\", amox = \"S\", stringsAsFactors = FALSE ) klebsiella_test # (our original data) # mo amox # 1 klebsiella S eucast_rules(klebsiella_test, info = FALSE) # (the edited data by EUCAST rules) # mo amox # 1 klebsiella R # hundreds of trade names can be translated to a name, trade name or an ATC code: ab_name(\"floxapen\") # [1] \"Flucloxacillin\" ab_tradenames(\"floxapen\") # [1] \"floxacillin\" \"floxapen\" \"floxapen sodium salt\" # [4] \"fluclox\" \"flucloxacilina\" \"flucloxacillin\" # [7] \"flucloxacilline\" \"flucloxacillinum\" \"fluorochloroxacillin\" ab_atc(\"floxapen\") # [1] \"J01CF05\""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"rstudio","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata","what":"RStudio","title":"How to import data from SPSS / SAS / Stata","text":"work R, probably best option use RStudio. open-source free desktop environment allows run R code, also supports project management, version management, package management convenient import menus work data sources. can also install RStudio Server private corporate server, brings nothing less complete RStudio software website (home work). import data file, just click Import Dataset Environment tab: additional packages needed, RStudio ask installed beforehand. window opens, can define options (parameters) used import ’re ready go: want named variables imported factors resembles SPSS , use as_factor(). difference :","code":"SPSS_data # # A tibble: 4,203 x 4 # v001 sex status statusage # # 1 10002 1 1 76.6 # 2 10004 0 1 59.1 # 3 10005 1 1 54.5 # 4 10006 1 1 54.1 # 5 10007 1 1 57.7 # 6 10008 1 1 62.8 # 7 10010 0 1 63.7 # 8 10011 1 1 73.1 # 9 10017 1 1 56.7 # 10 10018 0 1 66.6 # # ... with 4,193 more rows as_factor(SPSS_data) # # A tibble: 4,203 x 4 # v001 sex status statusage # # 1 10002 Male alive 76.6 # 2 10004 Female alive 59.1 # 3 10005 Male alive 54.5 # 4 10006 Male alive 54.1 # 5 10007 Male alive 57.7 # 6 10008 Male alive 62.8 # 7 10010 Female alive 63.7 # 8 10011 Male alive 73.1 # 9 10017 Male alive 56.7 # 10 10018 Female alive 66.6 # # ... with 4,193 more rows"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"base-r","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata","what":"Base R","title":"How to import data from SPSS / SAS / Stata","text":"import data SPSS, SAS Stata, can use great haven package : can now import files follows:","code":"# download and install the latest version: install.packages(\"haven\") # load the package you just installed: library(haven)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"spss","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"SPSS","title":"How to import data from SPSS / SAS / Stata","text":"read files SPSS R: forget as_factor(), mentioned . export R objects SPSS file format:","code":"# read any SPSS file based on file extension (best way): read_spss(file = \"path/to/file\") # read .sav or .zsav file: read_sav(file = \"path/to/file\") # read .por file: read_por(file = \"path/to/file\") # save as .sav file: write_sav(data = yourdata, path = \"path/to/file\") # save as compressed .zsav file: write_sav(data = yourdata, path = \"path/to/file\", compress = TRUE)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"sas","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"SAS","title":"How to import data from SPSS / SAS / Stata","text":"read files SAS R: export R objects SAS file format:","code":"# read .sas7bdat + .sas7bcat files: read_sas(data_file = \"path/to/file\", catalog_file = NULL) # read SAS transport files (version 5 and version 8): read_xpt(file = \"path/to/file\") # save as regular SAS file: write_sas(data = yourdata, path = \"path/to/file\") # the SAS transport format is an open format # (required for submission of the data to the FDA) write_xpt(data = yourdata, path = \"path/to/file\", version = 8)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"stata","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"Stata","title":"How to import data from SPSS / SAS / Stata","text":"read files Stata R: export R objects Stata file format:","code":"# read .dta file: read_stata(file = \"/path/to/file\") # works exactly the same: read_dta(file = \"/path/to/file\") # save as .dta file, Stata version 14: # (supports Stata v8 until v15 at the time of writing) write_dta(data = yourdata, path = \"/path/to/file\", version = 14)"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"import-of-data","dir":"Articles","previous_headings":"","what":"Import of data","title":"How to work with WHONET data","text":"tutorial assumes already imported WHONET data e.g. readxl package. RStudio, can done using menu button ‘Import Dataset’ tab ‘Environment’. Choose option ‘Excel’ select exported file. Make sure date fields imported correctly. example syntax look like : package comes example data set WHONET. use analysis.","code":"library(readxl) data <- read_excel(path = \"path/to/your/file.xlsx\")"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"preparation","dir":"Articles","previous_headings":"","what":"Preparation","title":"How to work with WHONET data","text":"First, load relevant packages yet . use tidyverse analyses. . don’t know yet, suggest read website: https://www.tidyverse.org/. transform variables simplify automate analysis: Microorganisms transformed microorganism codes (called mo) using Catalogue Life reference data set, contains ~70,000 microorganisms taxonomic kingdoms Bacteria, Fungi Protozoa. tranformation .mo(). function also recognises almost WHONET abbreviations microorganisms. Antimicrobial results interpretations clean valid. words, contain values \"S\", \"\" \"R\". exactly .rsi() function . errors warnings, values transformed succesfully. also created package dedicated data cleaning checking, called cleaner package. freq() function can used create frequency tables. let’s check data, couple frequency tables: Frequency table Class: character Length: 500 Available: 500 (100.0%, NA: 0 = 0.0%) Unique: 37 Shortest: 11 Longest: 40 (omitted 27 entries, n = 56 [11.20%]) Frequency table Class: factor > ordered > rsi (numeric) Length: 500 Levels: 3: S < < R Available: 481 (96.2%, NA: 19 = 3.8%) Unique: 3 Drug: Amoxicillin/clavulanic acid (AMC, J01CR02) Drug group: Beta-lactams/penicillins %SI: 78.59%","code":"library(dplyr) # part of tidyverse library(ggplot2) # part of tidyverse library(AMR) # this package library(cleaner) # to create frequency tables # transform variables data <- WHONET %>% # get microbial ID based on given organism mutate(mo = as.mo(Organism)) %>% # transform everything from \"AMP_ND10\" to \"CIP_EE\" to the new `rsi` class mutate_at(vars(AMP_ND10:CIP_EE), as.rsi) # our newly created `mo` variable, put in the mo_name() function data %>% freq(mo_name(mo), nmax = 10) # our transformed antibiotic columns # amoxicillin/clavulanic acid (J01CR02) as an example data %>% freq(AMC_ND2)"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"a-first-glimpse-at-results","dir":"Articles","previous_headings":"","what":"A first glimpse at results","title":"How to work with WHONET data","text":"easy ggplot already give lot information, using included ggplot_rsi() function:","code":"data %>% group_by(Country) %>% select(Country, AMP_ND2, AMC_ED20, CAZ_ED10, CIP_ED5) %>% ggplot_rsi(translate_ab = \"ab\", facet = \"Country\", datalabels = FALSE)"},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"microorganisms-full-microbial-taxonomy","dir":"Articles","previous_headings":"","what":"microorganisms: Full Microbial Taxonomy","title":"Data sets for download / own use","text":"data set 48,787 rows 22 columns, containing following column names:mo, fullname, status, kingdom, phylum, class, order, family, genus, species, subspecies, rank, ref, source, lpsn, lpsn_parent, lpsn_renamed_to, gbif, gbif_parent, gbif_renamed_to, prevalence snomed. data set R available microorganisms, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (1.1 MB) Download tab-separated text file (0.4 kB) Download Microsoft Excel workbook (4.8 MB) Download Apache Feather file (5.1 MB) Download Apache Parquet file (2.5 MB) Download SAS data file (47.7 MB) Download IBM SPSS Statistics data file (15.8 MB) Download Stata DTA file (44.4 MB) NOTE: exported files Excel, SAS, SPSS Stata contain first 50 SNOMED codes per record, file size otherwise exceed 100 MB; file size limit GitHub. Advice? Use R instead.","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source","dir":"Articles","previous_headings":"microorganisms: Full Microbial Taxonomy","what":"Source","title":"Data sets for download / own use","text":"data set contains full microbial taxonomy five kingdoms List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF): Parte, AC et al. (2020). List Prokaryotic names Standing Nomenclature (LPSN) moves DSMZ. International Journal Systematic Evolutionary Microbiology, 70, 5607-5612; . Accessed https://lpsn.dsmz.de 12 September, 2022. GBIF Secretariat (November 26, 2021). GBIF Backbone Taxonomy. Checklist dataset . Accessed https://www.gbif.org 12 September, 2022. Public Health Information Network Vocabulary Access Distribution System (PHIN VADS). US Edition SNOMED CT 1 September 2020. Value Set Name ‘Microoganism’, OID 2.16.840.1.114222.4.11.1009 (v12). URL: https://phinvads.cdc.gov","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example-content","dir":"Articles","previous_headings":"microorganisms: Full Microbial Taxonomy","what":"Example content","title":"Data sets for download / own use","text":"Included (sub)species per taxonomic kingdom: Example rows filtering genus Escherichia:","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"antibiotics-antibiotic-agents","dir":"Articles","previous_headings":"","what":"antibiotics: Antibiotic Agents","title":"Data sets for download / own use","text":"data set 464 rows 14 columns, containing following column names:ab, cid, name, group, atc, atc_group1, atc_group2, abbreviations, synonyms, oral_ddd, oral_units, iv_ddd, iv_units loinc. data set R available antibiotics, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (36 kB) Download tab-separated text file (0.2 kB) Download Microsoft Excel workbook (66 kB) Download Apache Feather file (97 kB) Download Apache Parquet file (74 kB) Download SAS data file (1.8 MB) Download IBM SPSS Statistics data file (0.3 MB) Download Stata DTA file (0.3 MB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-1","dir":"Articles","previous_headings":"antibiotics: Antibiotic Agents","what":"Source","title":"Data sets for download / own use","text":"data set contains EARS-Net ATC codes gathered WHONET, compound IDs PubChem. also contains brand names (synonyms) found PubChem Defined Daily Doses (DDDs) oral parenteral administration. ATC/DDD index Collaborating Centre Drug Statistics Methodology (note: may used commercial purposes, freely available CC website personal use) PubChem US National Library Medicine WHONET software 2019","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"antivirals-antiviral-agents","dir":"Articles","previous_headings":"","what":"antivirals: Antiviral Agents","title":"Data sets for download / own use","text":"data set 102 rows 9 columns, containing following column names:atc, cid, name, atc_group, synonyms, oral_ddd, oral_units, iv_ddd iv_units. data set R available antivirals, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (4 kB) Download tab-separated text file (16 kB) Download Microsoft Excel workbook (14 kB) Download Apache Feather file (12 kB) Download Apache Parquet file (10 kB) Download SAS data file (80 kB) Download IBM SPSS Statistics data file (27 kB) Download Stata DTA file (67 kB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-2","dir":"Articles","previous_headings":"antivirals: Antiviral Agents","what":"Source","title":"Data sets for download / own use","text":"data set contains ATC codes gathered compound IDs PubChem. also contains brand names (synonyms) found PubChem Defined Daily Doses (DDDs) oral parenteral administration. ATC/DDD index Collaborating Centre Drug Statistics Methodology (note: may used commercial purposes, freely available CC website personal use) PubChem US National Library Medicine","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"rsi_translation-interpretation-from-mic-values-disk-diameters-to-rsi","dir":"Articles","previous_headings":"","what":"rsi_translation: Interpretation from MIC values / disk diameters to R/SI","title":"Data sets for download / own use","text":"data set 20,369 rows 11 columns, containing following column names:guideline, method, site, mo, rank_index, ab, ref_tbl, disk_dose, breakpoint_S, breakpoint_R uti. data set R available rsi_translation, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (49 kB) Download tab-separated text file (2 MB) Download Microsoft Excel workbook (0.9 MB) Download Apache Feather file (0.8 MB) Download Apache Parquet file (99 kB) Download SAS data file (4 MB) Download IBM SPSS Statistics data file (2.6 MB) Download Stata DTA file (3.8 MB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-3","dir":"Articles","previous_headings":"rsi_translation: Interpretation from MIC values / disk diameters to R/SI","what":"Source","title":"Data sets for download / own use","text":"data set contains interpretation rules MIC values disk diffusion diameters. Included guidelines CLSI (2011-2022) EUCAST (2011-2022).","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"intrinsic_resistant-intrinsic-bacterial-resistance","dir":"Articles","previous_headings":"","what":"intrinsic_resistant: Intrinsic Bacterial Resistance","title":"Data sets for download / own use","text":"data set 134,659 rows 2 columns, containing following column names:mo ab. data set R available intrinsic_resistant, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (78 kB) Download tab-separated text file (5.1 MB) Download Microsoft Excel workbook (1.3 MB) Download Apache Feather file (1.2 MB) Download Apache Parquet file (0.2 MB) Download SAS data file (9.8 MB) Download IBM SPSS Statistics data file (7.4 MB) Download Stata DTA file (9.6 MB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-4","dir":"Articles","previous_headings":"intrinsic_resistant: Intrinsic Bacterial Resistance","what":"Source","title":"Data sets for download / own use","text":"data set contains defined intrinsic resistance EUCAST bug-drug combinations, based ‘EUCAST Expert Rules’ ‘EUCAST Intrinsic Resistance Unusual Phenotypes’ v3.3 (2021).","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example-content-4","dir":"Articles","previous_headings":"intrinsic_resistant: Intrinsic Bacterial Resistance","what":"Example content","title":"Data sets for download / own use","text":"Example rows filtering Enterobacter cloacae:","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"dosage-dosage-guidelines-from-eucast","dir":"Articles","previous_headings":"","what":"dosage: Dosage Guidelines from EUCAST","title":"Data sets for download / own use","text":"data set 169 rows 9 columns, containing following column names:ab, name, type, dose, dose_times, administration, notes, original_txt eucast_version. data set R available dosage, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (3 kB) Download tab-separated text file (15 kB) Download Microsoft Excel workbook (14 kB) Download Apache Feather file (11 kB) Download Apache Parquet file (7 kB) Download SAS data file (52 kB) Download IBM SPSS Statistics data file (23 kB) Download Stata DTA file (44 kB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-5","dir":"Articles","previous_headings":"dosage: Dosage Guidelines from EUCAST","what":"Source","title":"Data sets for download / own use","text":"EUCAST breakpoints used package based dosages data set. Currently included dosages data set meant : ‘EUCAST Clinical Breakpoint Tables’ v11.0 (2021).","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example_isolates-example-data-for-practice","dir":"Articles","previous_headings":"","what":"example_isolates: Example Data for Practice","title":"Data sets for download / own use","text":"data set 2,000 rows 46 columns, containing following column names:date, patient, age, gender, ward, mo, PEN, OXA, FLC, AMX, AMC, AMP, TZP, CZO, FEP, CXM, FOX, CTX, CAZ, CRO, GEN, TOB, AMK, KAN, TMP, SXT, NIT, FOS, LNZ, CIP, MFX, VAN, TEC, TCY, TGC, DOX, ERY, CLI, AZM, IPM, MEM, MTR, CHL, COL, MUP RIF. data set R available example_isolates, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set .","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-6","dir":"Articles","previous_headings":"example_isolates: Example Data for Practice","what":"Source","title":"Data sets for download / own use","text":"data set contains randomised fictitious data, reflects reality can used practise AMR data analysis.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example_isolates_unclean-example-data-for-practice","dir":"Articles","previous_headings":"","what":"example_isolates_unclean: Example Data for Practice","title":"Data sets for download / own use","text":"data set 3,000 rows 8 columns, containing following column names:patient_id, hospital, date, bacteria, AMX, AMC, CIP GEN. data set R available example_isolates_unclean, load AMR package. last updated 14 October 2022 11:03:47 UTC. Find info structure data set .","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-7","dir":"Articles","previous_headings":"example_isolates_unclean: Example Data for Practice","what":"Source","title":"Data sets for download / own use","text":"data set contains randomised fictitious data, reflects reality can used practise AMR data analysis.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"needed-r-packages","dir":"Articles","previous_headings":"","what":"Needed R packages","title":"How to predict antimicrobial resistance","text":"many uses R, need additional packages AMR data analysis. package works closely together tidyverse packages dplyr ggplot2. tidyverse tremendously improves way conduct data science - allows natural way writing syntaxes creating beautiful plots R. AMR package depends packages even extends use functions.","code":"library(dplyr) library(ggplot2) library(AMR) # (if not yet installed, install with:) # install.packages(c(\"tidyverse\", \"AMR\"))"},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"prediction-analysis","dir":"Articles","previous_headings":"","what":"Prediction analysis","title":"How to predict antimicrobial resistance","text":"package contains function resistance_predict(), takes input functions AMR data analysis. Based date column, calculates cases per year uses regression model predict antimicrobial resistance. basically easy : function look date column col_date set. running commands, summary regression model printed unless using resistance_predict(..., info = FALSE). text printed summary - actual result (output) function data.frame containing year: number observations, actual observed resistance, estimated resistance standard error estimation: function plot available base R, can extended packages depend output based type input. extended function cope resistance predictions: fastest way plot result. automatically adds right axes, error bars, titles, number available observations type model. also support ggplot2 package custom function ggplot_rsi_predict() create appealing plots:","code":"# resistance prediction of piperacillin/tazobactam (TZP): resistance_predict(tbl = example_isolates, col_date = \"date\", col_ab = \"TZP\", model = \"binomial\") # or: example_isolates %>% resistance_predict( col_ab = \"TZP\", model = \"binomial\" ) # to bind it to object 'predict_TZP' for example: predict_TZP <- example_isolates %>% resistance_predict( col_ab = \"TZP\", model = \"binomial\" ) predict_TZP # # A tibble: 31 × 7 # year value se_min se_max observations observed estimated # * # 1 2002 0.2 NA NA 15 0.2 0.0562 # 2 2003 0.0625 NA NA 32 0.0625 0.0616 # 3 2004 0.0854 NA NA 82 0.0854 0.0676 # 4 2005 0.05 NA NA 60 0.05 0.0741 # 5 2006 0.0508 NA NA 59 0.0508 0.0812 # 6 2007 0.121 NA NA 66 0.121 0.0889 # 7 2008 0.0417 NA NA 72 0.0417 0.0972 # 8 2009 0.0164 NA NA 61 0.0164 0.106 # 9 2010 0.0566 NA NA 53 0.0566 0.116 # 10 2011 0.183 NA NA 93 0.183 0.127 # # … with 21 more rows plot(predict_TZP) ggplot_rsi_predict(predict_TZP) # choose for error bars instead of a ribbon ggplot_rsi_predict(predict_TZP, ribbon = FALSE)"},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"choosing-the-right-model","dir":"Articles","previous_headings":"Prediction analysis","what":"Choosing the right model","title":"How to predict antimicrobial resistance","text":"Resistance easily predicted; look vancomycin resistance Gram-positive bacteria, spread (.e. standard error) enormous: Vancomycin resistance 100% ten years, might remain low. can define model model parameter. model chosen generalised linear regression model using binomial distribution, assuming period zero resistance followed period increasing resistance leading slowly resistance. Valid values : vancomycin resistance Gram-positive bacteria, linear model might appropriate: model also available object, attribute:","code":"example_isolates %>% filter(mo_gramstain(mo, language = NULL) == \"Gram-positive\") %>% resistance_predict(col_ab = \"VAN\", year_min = 2010, info = FALSE, model = \"binomial\") %>% ggplot_rsi_predict() # ℹ Using column 'date' as input for `col_date`. example_isolates %>% filter(mo_gramstain(mo, language = NULL) == \"Gram-positive\") %>% resistance_predict(col_ab = \"VAN\", year_min = 2010, info = FALSE, model = \"linear\") %>% ggplot_rsi_predict() # ℹ Using column 'date' as input for `col_date`. model <- attributes(predict_TZP)$model summary(model)$family # # Family: binomial # Link function: logit summary(model)$coefficients # Estimate Std. Error z value Pr(>|z|) # (Intercept) -200.67944891 46.17315349 -4.346237 1.384932e-05 # year 0.09883005 0.02295317 4.305725 1.664395e-05"},{"path":"https://msberends.github.io/AMR/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Matthijs S. Berends. Author, maintainer. Christian F. Luz. Author, contributor. Dennis Souverein. Author, contributor. Erwin E. . Hassing. Author, contributor. Casper J. Albers. Thesis advisor. Peter Dutey-Magni. Contributor. Judith M. Fonville. Contributor. Alex W. Friedrich. Thesis advisor. Corinna Glasner. Thesis advisor. Eric H. L. C. M. Hazenberg. Contributor. Gwen Knight. Contributor. Annick Lenglet. Contributor. Bart C. Meijer. Contributor. Dmytro Mykhailenko. Contributor. Anton Mymrikov. Contributor. Sofia Ny. Contributor. Rogier P. Schade. Contributor. Bhanu N. M. Sinha. Thesis advisor. Anthony Underwood. Contributor.","code":""},{"path":"https://msberends.github.io/AMR/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C (2022). “AMR: R Package Working Antimicrobial Resistance Data.” Journal Statistical Software, 104(3), 1–31. doi:10.18637/jss.v104.i03.","code":"@Article{, title = {{AMR}: An {R} Package for Working with Antimicrobial Resistance Data}, author = {Matthijs S. Berends and Christian F. Luz and Alexander W. Friedrich and Bhanu N. M. Sinha and Casper J. Albers and Corinna Glasner}, journal = {Journal of Statistical Software}, year = {2022}, volume = {104}, number = {3}, pages = {1--31}, doi = {10.18637/jss.v104.i03}, }"},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"introduction","dir":"","previous_headings":"","what":"Introduction","title":"Antimicrobial Resistance Data Analysis","text":"AMR package free open-source R package zero dependencies simplify analysis prediction Antimicrobial Resistance (AMR) work microbial antimicrobial data properties, using evidence-based methods. aim provide standard clean reproducible AMR data analysis, can therefore empower epidemiological analyses continuously enable surveillance treatment evaluation setting. work published Journal Statistical Software (Volume 104(3); DOI 10.18637/jss.v104.i03) formed basis two PhD theses (DOI 10.33612/diss.177417131 DOI 10.33612/diss.192486375). installing package, R knows ~49,000 distinct microbial species ~570 antibiotic, antimycotic antiviral drugs name code (including ATC, WHONET/EARS-Net, PubChem, LOINC SNOMED CT), knows valid R/SI MIC values. supports data format, including WHONET/EARS-Net data. package works Windows, macOS Linux versions R since R-3.0 (April 2013). designed work setting, including limited resources. created routine data analysis academic research Faculty Medical Sciences University Groningen, collaboration non-profit organisations Certe Medical Diagnostics Advice Foundation University Medical Center Groningen, actively durably maintained two public healthcare organisations Netherlands.","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"used-in-175-countries-translated-to-16-languages","dir":"","previous_headings":"Introduction","what":"Used in 175 countries, translated to 16 languages","title":"Antimicrobial Resistance Data Analysis","text":"Since first public release early 2018, R package used almost countries world. Click map enlarge see country names. AMR package available English, Chinese, Danish, Dutch, French, German, Greek, Italian, Japanese, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian. Antimicrobial drug (group) names colloquial microorganism names provided languages.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"filtering-and-selecting-data","dir":"","previous_headings":"Practical examples","what":"Filtering and selecting data","title":"Antimicrobial Resistance Data Analysis","text":"defined row filter Gram-negative bacteria intrinsic resistance cefotaxime (mo_is_gram_negative() mo_is_intrinsic_resistant()) column selection two antibiotic groups (aminoglycosides() carbapenems()), reference data microorganisms antibiotics AMR package make sure get meant: base R equivalent : base R snippet work version R since April 2013 (R-3.0).","code":"# AMR works great with dplyr, but it's not required or neccesary library(AMR) library(dplyr) example_isolates %>% mutate(bacteria = mo_fullname()) %>% filter(mo_is_gram_negative(), mo_is_intrinsic_resistant(ab = \"cefotax\")) %>% select(bacteria, aminoglycosides(), carbapenems()) example_isolates$bacteria <- mo_fullname(example_isolates$mo) example_isolates[which(mo_is_gram_negative() & mo_is_intrinsic_resistant(ab = \"cefotax\")), c(\"bacteria\", aminoglycosides(), carbapenems())]"},{"path":"https://msberends.github.io/AMR/index.html","id":"calculating-resistance-per-group","dir":"","previous_headings":"Practical examples","what":"Calculating resistance per group","title":"Antimicrobial Resistance Data Analysis","text":"","code":"library(AMR) library(dplyr) out <- example_isolates %>% # group by ward: group_by(ward) %>% # calculate AMR using resistance(), over all aminoglycosides # and polymyxins: summarise(across(c(aminoglycosides(), polymyxins()), resistance)) out # transform the antibiotic columns to names: out %>% set_ab_names() # transform the antibiotic column to ATC codes: out %>% set_ab_names(property = \"atc\")"},{"path":"https://msberends.github.io/AMR/index.html","id":"what-else-can-you-do-with-this-package","dir":"","previous_headings":"","what":"What else can you do with this package?","title":"Antimicrobial Resistance Data Analysis","text":"package intended comprehensive toolbox integrated AMR data analysis. package can used : Reference taxonomy microorganisms, since package contains microbial (sub)species List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) (manual) Interpreting raw MIC disk diffusion values, based latest CLSI EUCAST guidelines (manual) Retrieving antimicrobial drug names, doses forms administration clinical health care records (manual) Determining first isolates used AMR data analysis (manual) Calculating antimicrobial resistance (tutorial) Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) (tutorial) Calculating (empirical) susceptibility mono therapy combination therapies (tutorial) Predicting future antimicrobial resistance using regression models (tutorial) Getting properties microorganism (like Gram stain, species, genus family) (manual) Getting properties antibiotic (like name, code EARS-Net/ATC/LOINC/PubChem, defined daily dose trade name) (manual) Plotting antimicrobial resistance (tutorial) Applying EUCAST expert rules (manual) Getting SNOMED codes microorganism, getting properties microorganism based SNOMED code (manual) Getting LOINC codes antibiotic, getting properties antibiotic based LOINC code (manual) Machine reading EUCAST CLSI guidelines 2011-2021 translate MIC values disk diffusion diameters R/SI (link) Principal component analysis AMR (tutorial)","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"latest-official-version","dir":"","previous_headings":"Get this package","what":"Latest official version","title":"Antimicrobial Resistance Data Analysis","text":"package available official R network (CRAN). Install package R CRAN using command: downloaded installed automatically. RStudio, click menu Tools > Install Packages… type “AMR” press Install. Note: functions website may available latest release. use functions data sets mentioned website, install latest development version.","code":"install.packages(\"AMR\")"},{"path":"https://msberends.github.io/AMR/index.html","id":"latest-development-version","dir":"","previous_headings":"Get this package","what":"Latest development version","title":"Antimicrobial Resistance Data Analysis","text":"Please read Developer Guideline . latest unpublished development version can installed GitHub two ways: Manually, using: Automatically, using rOpenSci R-universe platform, adding R-universe address list repositories (‘repos’): , can install update AMR package like official release (e.g., using install.packages(\"AMR\") RStudio via Tools > Check Package Updates…).","code":"install.packages(\"remotes\") # if you haven't already remotes::install_github(\"msberends/AMR\") options(repos = c(getOption(\"repos\"), msberends = \"https://msberends.r-universe.dev\"))"},{"path":"https://msberends.github.io/AMR/index.html","id":"get-started","dir":"","previous_headings":"","what":"Get started","title":"Antimicrobial Resistance Data Analysis","text":"find conduct AMR data analysis, please continue reading get started click link ‘’ menu.","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"partners","dir":"","previous_headings":"","what":"Partners","title":"Antimicrobial Resistance Data Analysis","text":"development package part , related , made possible :","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"copyright","dir":"","previous_headings":"","what":"Copyright","title":"Antimicrobial Resistance Data Analysis","text":"R package free, open-source software licensed GNU General Public License v2.0 (GPL-2). nutshell, means package: May used commercial purposes May used private purposes May used patent purposes May modified, although: Modifications must released license distributing package Changes made code must documented May distributed, although: Source code must made available package distributed copy license copyright notice must included package. Comes LIMITATION liability Comes warranty","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR-deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated Functions — AMR-deprecated","title":"Deprecated Functions — AMR-deprecated","text":"functions -called 'Deprecated'. removed future release. Using functions give warning name function replaced (one).","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":null,"dir":"Reference","previous_headings":"","what":"The AMR Package — AMR","title":"The AMR Package — AMR","text":"Welcome AMR package. AMR free, open-source independent R package simplify analysis prediction Antimicrobial Resistance (AMR) work microbial antimicrobial data properties, using evidence-based methods. aim provide standard clean reproducible antimicrobial resistance data analysis, can therefore empower epidemiological analyses continuously enable surveillance treatment evaluation setting. work published Journal Statistical Software (Volume 104(3); doi:10.18637/jss.v104.i03 ) formed basis two PhD theses (doi:10.33612/diss.177417131 doi:10.33612/diss.192486375 ). installing package, R knows ~49,000 distinct microbial species ~570 antibiotic, antimycotic antiviral drugs name code (including ATC, EARS-NET, LOINC SNOMED CT), knows valid R/SI MIC values. supports data format, including WHONET/EARS-Net data. package fully independent R package works Windows, macOS Linux versions R since R-3.0.0 (April 2013). designed work setting, including limited resources. created routine data analysis academic research Faculty Medical Sciences University Groningen, collaboration non-profit organisations Certe Medical Diagnostics Advice University Medical Center Groningen. R package actively maintained free software; can freely use distribute personal commercial (patent) purposes terms GNU General Public License version 2.0 (GPL-2), published Free Software Foundation. package can used : Reference taxonomy microorganisms, since package contains microbial (sub)species List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) Interpreting raw MIC disk diffusion values, based latest CLSI EUCAST guidelines Retrieving antimicrobial drug names, doses forms administration clinical health care records Determining first isolates used AMR data analysis Calculating antimicrobial resistance Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) Calculating (empirical) susceptibility mono therapy combination therapies Predicting future antimicrobial resistance using regression models Getting properties microorganism (Gram stain, species, genus family) Getting properties antibiotic (name, code EARS-Net/ATC/LOINC/PubChem, defined daily dose trade name) Plotting antimicrobial resistance Applying EUCAST expert rules Getting SNOMED codes microorganism, getting properties microorganism based SNOMED code Getting LOINC codes antibiotic, getting properties antibiotic based LOINC code Machine reading EUCAST CLSI guidelines 2011-2020 translate MIC values disk diffusion diameters R/SI Principal component analysis AMR","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"The AMR Package — AMR","text":"cite AMR publications use: Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C (2022). \"AMR: R Package Working Antimicrobial Resistance Data.\" Journal Statistical Software, 104(3), 1-31. doi:10.18637/jss.v104.i03 . BibTeX entry LaTeX users :","code":"@Article{, title = {{AMR}: An {R} Package for Working with Antimicrobial Resistance Data}, author = {Matthijs S. Berends and Christian F. Luz and Alexander W. Friedrich and Bhanu N. M. Sinha and Casper J. Albers and Corinna Glasner}, journal = {Journal of Statistical Software}, year = {2022}, volume = {104}, number = {3}, pages = {1--31}, doi = {10.18637/jss.v104.i03}, }"},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"The AMR Package — AMR","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"The AMR Package — AMR","text":"Maintainer: Matthijs S. Berends m.berends@certe.nl (ORCID) Authors: Christian F. Luz (ORCID) [contributor] Dennis Souverein (ORCID) [contributor] Erwin E. . Hassing [contributor] contributors: Casper J. Albers (ORCID) [thesis advisor] Peter Dutey-Magni (ORCID) [contributor] Judith M. Fonville [contributor] Alex W. Friedrich (ORCID) [thesis advisor] Corinna Glasner (ORCID) [thesis advisor] Eric H. L. C. M. Hazenberg [contributor] Gwen Knight (ORCID) [contributor] Annick Lenglet (ORCID) [contributor] Bart C. Meijer [contributor] Dmytro Mykhailenko [contributor] Anton Mymrikov [contributor] Sofia Ny (ORCID) [contributor] Rogier P. Schade [contributor] Bhanu N. M. Sinha (ORCID) [thesis advisor] Anthony Underwood (ORCID) [contributor]","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":null,"dir":"Reference","previous_headings":"","what":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"antimicrobial drugs official names, ATC codes, ATC groups defined daily dose (DDD) included package, using Collaborating Centre Drug Statistics Methodology.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":"whocc","dir":"Reference","previous_headings":"","what":"WHOCC","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"package contains ~550 antibiotic, antimycotic antiviral drugs Anatomical Therapeutic Chemical (ATC) codes, ATC groups Defined Daily Dose (DDD) World Health Organization Collaborating Centre Drug Statistics Methodology (WHOCC, https://www.whocc.) Pharmaceuticals Community Register European Commission (https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm). become gold standard international drug utilisation monitoring research. WHOCC located Oslo Norwegian Institute Public Health funded Norwegian government. European Commission executive European Union promotes general interest. NOTE: WHOCC copyright allow use commercial purposes, unlike info package. See https://www.whocc./copyright_disclaimer/.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"","code":"as.ab(\"meropenem\") #> Class #> [1] MEM ab_name(\"J01DH02\") #> [1] \"Meropenem\" ab_tradenames(\"flucloxacillin\") #> [1] \"floxacillin\" \"floxapen\" \"floxapen sodium salt\" #> [4] \"fluclox\" \"flucloxacilina\" \"flucloxacillin\" #> [7] \"flucloxacilline\" \"flucloxacillinum\" \"fluorochloroxacillin\""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with 500 Isolates - WHONET Example — WHONET","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"example data set exact structure export file WHONET. files can used package, example data set shows. antibiotic results example_isolates data set. patient names created using online surname generators place practice purposes.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"","code":"WHONET"},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"tibble 500 observations 53 variables: Identification number ID sample Specimen number ID specimen Organism Name microorganism. analysis, transform valid microbial class, using .mo(). Country Country origin Laboratory Name laboratory Last name Fictitious last name patient First name Fictitious initial patient Sex Fictitious gender patient Age Fictitious age patient Age category Age group, can also looked using age_groups() Date admissionDate hospital admission Specimen dateDate specimen received laboratory Specimen type Specimen type group Specimen type (Numeric) Translation \"Specimen type\" Reason Reason request Differential Diagnosis Isolate number ID isolate Organism type Type microorganism, can also looked using mo_type() Serotype Serotype microorganism Beta-lactamase Microorganism produces beta-lactamase? ESBL Microorganism produces extended spectrum beta-lactamase? Carbapenemase Microorganism produces carbapenemase? MRSA screening test Microorganism possible MRSA? Inducible clindamycin resistance Clindamycin can induced? Comment comments Date data entryDate data entered WHONET AMP_ND10:CIP_EE 28 different antibiotics. can lookup abbreviations antibiotics data set, use e.g. ab_name(\"AMP\") get official name immediately. analysis, transform valid antibiotic class, using .rsi().","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"","code":"WHONET #> # A tibble: 500 × 53 #> Identif…¹ Speci…² Organ…³ Country Labor…⁴ Last …⁵ First…⁶ Sex Age Age c…⁷ #> #> 1 fe41d7ba… 1748 SPN Belgium Nation… Abel B. F 68 55-74 #> 2 91f175ec… 1767 eco The Ne… Nation… Delacr… F. M 89 75+ #> 3 cc401505… 1343 eco The Ne… Nation… Steens… F. M 85 75+ #> 4 e864b692… 1894 MAP Denmark Nation… Beyers… L. M 62 55-74 #> 5 3d051fe3… 1739 PVU Belgium Nation… Hummel W. M 86 75+ #> 6 c80762a0… 1846 103 The Ne… Nation… Eikenb… J. F 53 25-54 #> 7 8022d372… 1628 103 Denmark Nation… Leclerc S. F 77 75+ #> 8 f3dc5f55… 1493 eco The Ne… Nation… Delacr… W. M 53 25-54 #> 9 15add38f… 1847 eco France Nation… Van La… S. F 63 55-74 #> 10 fd41248d… 1458 eco Germany Nation… Moulin O. F 75 75+ #> # … with 490 more rows, 43 more variables: `Date of admission` , #> # `Specimen date` , `Specimen type` , #> # `Specimen type (Numeric)` , Reason , `Isolate number` , #> # `Organism type` , Serotype , `Beta-lactamase` , ESBL , #> # Carbapenemase , `MRSA screening test` , #> # `Inducible clindamycin resistance` , Comment , #> # `Date of data entry` , AMP_ND10 , AMC_ED20 , …"},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"Use function e.g. clinical texts health care records. returns list antimicrobial drugs, doses forms administration found texts.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"","code":"ab_from_text( text, type = c(\"drug\", \"dose\", \"administration\"), collapse = NULL, translate_ab = FALSE, thorough_search = NULL, info = interactive(), ... )"},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"text text analyse type type property search , either \"drug\", \"dose\" \"administration\", see Examples collapse character pass paste(, collapse = ...) return one character per element text, see Examples translate_ab type = \"drug\": column name antibiotics data set translate antibiotic abbreviations , using ab_property(). Defaults FALSE. Using TRUE equal using \"name\". thorough_search logical indicate whether input must extensively searched misspelling faulty input values. Setting TRUE take considerably time using FALSE. default, turn TRUE input elements contain maximum three words. info logical indicate whether progress bar printed, defaults TRUE interactive mode ... arguments passed .ab()","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"list, character collapse NULL","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"function also internally used .ab(), although searches first drug name throw note drug names returned. Note: .ab() function may use long regular expression match brand names antimicrobial agents. may fail systems.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"argument-type","dir":"Reference","previous_headings":"","what":"Argument type","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"default, function search antimicrobial drug names. text elements searched official names, ATC codes brand names. uses .ab() internally, correct misspelling. type = \"dose\" (similar, like \"dosing\", \"doses\"), text elements searched numeric values higher 100 resemble years. output numeric. supports unit (g, mg, IE, etc.) multiple values one clinical text, see Examples. type = \"administration\" (abbreviations, like \"admin\", \"adm\"), text elements searched form drug administration. supports following forms (including common abbreviations): buccal, implant, inhalation, instillation, intravenous, nasal, oral, parenteral, rectal, sublingual, transdermal vaginal. Abbreviations oral ('po', 'per os') become \"oral\", values intravenous ('iv', 'intraven') become \"iv\". supports multiple values one clinical text, see Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"argument-collapse","dir":"Reference","previous_headings":"","what":"Argument collapse","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"Without using collapse, function return list. can convenient use e.g. inside mutate()):df %>% mutate(abx = ab_from_text(clinical_text)) returned AB codes can transformed official names, groups, etc. ab_* functions ab_name() ab_group(), using translate_ab argument. using collapse, function return character:df %>% mutate(abx = ab_from_text(clinical_text, collapse = \"|\"))","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"","code":"# mind the bad spelling of amoxicillin in this line, # straight from a true health care record: ab_from_text(\"28/03/2020 regular amoxicilliin 500mg po tds\") #> [[1]] #> Class #> [1] AMX #> ab_from_text(\"500 mg amoxi po and 400mg cipro iv\") #> [[1]] #> Class #> [1] AMX CIP #> ab_from_text(\"500 mg amoxi po and 400mg cipro iv\", type = \"dose\") #> [[1]] #> [1] 500 400 #> ab_from_text(\"500 mg amoxi po and 400mg cipro iv\", type = \"admin\") #> [[1]] #> [1] \"oral\" \"iv\" #> ab_from_text(\"500 mg amoxi po and 400mg cipro iv\", collapse = \", \") #> [1] \"AMX, CIP\" # \\donttest{ # if you want to know which antibiotic groups were administered, do e.g.: abx <- ab_from_text(\"500 mg amoxi po and 400mg cipro iv\") ab_group(abx[[1]]) #> [1] \"Beta-lactams/penicillins\" \"Quinolones\" if (require(\"dplyr\")) { tibble(clinical_text = c( \"given 400mg cipro and 500 mg amox\", \"started on doxy iv today\" )) %>% mutate( abx_codes = ab_from_text(clinical_text), abx_doses = ab_from_text(clinical_text, type = \"doses\"), abx_admin = ab_from_text(clinical_text, type = \"admin\"), abx_coll = ab_from_text(clinical_text, collapse = \"|\"), abx_coll_names = ab_from_text(clinical_text, collapse = \"|\", translate_ab = \"name\" ), abx_coll_doses = ab_from_text(clinical_text, type = \"doses\", collapse = \"|\" ), abx_coll_admin = ab_from_text(clinical_text, type = \"admin\", collapse = \"|\" ) ) } #> Loading required package: dplyr #> #> Attaching package: ‘dplyr’ #> The following objects are masked from ‘package:stats’: #> #> filter, lag #> The following objects are masked from ‘package:base’: #> #> intersect, setdiff, setequal, union #> # A tibble: 2 × 8 #> clinical_text abx_c…¹ abx_d…² abx_a…³ abx_c…⁴ abx_c…⁵ abx_c…⁶ abx_c…⁷ #> #> 1 given 400mg cipro and… CIP|AMX Ciprof… 400|500 NA #> 2 started on doxy iv to… DOX Doxycy… NA iv #> # … with abbreviated variable names ¹​abx_codes, ²​abx_doses, ³​abx_admin, #> # ⁴​abx_coll, ⁵​abx_coll_names, ⁶​abx_coll_doses, ⁷​abx_coll_admin # }"},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Properties of an Antibiotic — ab_property","title":"Get Properties of an Antibiotic — ab_property","text":"Use functions return specific property antibiotic antibiotics data set. input values evaluated internally .ab().","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Properties of an Antibiotic — ab_property","text":"","code":"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(), ...) set_ab_names( data, ..., property = \"name\", language = get_AMR_locale(), snake_case = NULL )"},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Properties of an Antibiotic — ab_property","text":"x (vector ) text can coerced valid antibiotic code .ab() language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. tolower logical indicate whether first character every output transformed lower case character. lead e.g. \"polymyxin B\" \"polymyxin b\". ... case set_ab_names() data data.frame: variables select (supports tidy selection column1:column4), otherwise arguments passed .ab() only_first logical indicate whether first ATC code must returned, giving preference J0-codes (.e., antimicrobial drug group) administration way administration, either \"oral\" \"iv\" open browse URL using utils::browseURL() property one column names one antibiotics data set: vector_or(colnames(antibiotics), sort = FALSE). data data.frame columns need renamed, character vector column names snake_case logical indicate whether names -called snake case: lower case spaces/slashes replaced underscore (_)","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Properties of an Antibiotic — ab_property","text":"integer case ab_cid() named list case ab_info() multiple ab_atc()/ab_synonyms()/ab_tradenames() double case ab_ddd() data.frame case set_ab_names() character cases","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Properties of an Antibiotic — ab_property","text":"output translated possible. function ab_url() return direct URL official website. warning returned required ATC code available. function set_ab_names() special column renaming function data.frames. renames columns names resemble antimicrobial drugs. always makes sure new column names unique. property = \"atc\" set, preference given ATC codes J-group.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Get Properties of an Antibiotic — ab_property","text":"World Health Organization () Collaborating Centre Drug Statistics Methodology: https://www.whocc./atc_ddd_index/ European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Get Properties of an Antibiotic — ab_property","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get Properties of an Antibiotic — ab_property","text":"","code":"# all properties: ab_name(\"AMX\") # \"Amoxicillin\" #> [1] \"Amoxicillin\" ab_atc(\"AMX\") # \"J01CA04\" (ATC code from the WHO) #> [1] \"J01CA04\" ab_cid(\"AMX\") # 33613 (Compound ID from PubChem) #> [1] 33613 ab_synonyms(\"AMX\") # a list with brand names of amoxicillin #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicilline\" \"amoxicillinum\" \"amoxiden\" #> [13] \"amoxil\" \"amoxivet\" \"amoxy\" #> [16] \"amoxycillin\" \"anemolin\" \"aspenil\" #> [19] \"biomox\" \"bristamox\" \"cemoxin\" #> [22] \"clamoxyl\" \"delacillin\" \"dispermox\" #> [25] \"efpenix\" \"flemoxin\" \"hiconcil\" #> [28] \"histocillin\" \"hydroxyampicillin\" \"ibiamox\" #> [31] \"imacillin\" \"lamoxy\" \"metafarma capsules\" #> [34] \"metifarma capsules\" \"moxacin\" \"moxatag\" #> [37] \"ospamox\" \"pamoxicillin\" \"piramox\" #> [40] \"robamox\" \"sawamox pm\" \"tolodina\" #> [43] \"unicillin\" \"utimox\" \"vetramox\" ab_tradenames(\"AMX\") # same #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicilline\" \"amoxicillinum\" \"amoxiden\" #> [13] \"amoxil\" \"amoxivet\" \"amoxy\" #> [16] \"amoxycillin\" \"anemolin\" \"aspenil\" #> [19] \"biomox\" \"bristamox\" \"cemoxin\" #> [22] \"clamoxyl\" \"delacillin\" \"dispermox\" #> [25] \"efpenix\" \"flemoxin\" \"hiconcil\" #> [28] \"histocillin\" \"hydroxyampicillin\" \"ibiamox\" #> [31] \"imacillin\" \"lamoxy\" \"metafarma capsules\" #> [34] \"metifarma capsules\" \"moxacin\" \"moxatag\" #> [37] \"ospamox\" \"pamoxicillin\" \"piramox\" #> [40] \"robamox\" \"sawamox pm\" \"tolodina\" #> [43] \"unicillin\" \"utimox\" \"vetramox\" ab_group(\"AMX\") # \"Beta-lactams/penicillins\" #> [1] \"Beta-lactams/penicillins\" ab_atc_group1(\"AMX\") # \"Beta-lactam antibacterials, penicillins\" #> [1] \"Beta-lactam antibacterials, penicillins\" ab_atc_group2(\"AMX\") # \"Penicillins with extended spectrum\" #> [1] \"Penicillins with extended spectrum\" ab_url(\"AMX\") # link to the official WHO page #> Amoxicillin #> \"https://www.whocc.no/atc_ddd_index/?code=J01CA04&showdescription=no\" # smart lowercase tranformation ab_name(x = c(\"AMC\", \"PLB\")) # \"Amoxicillin/clavulanic acid\" \"Polymyxin B\" #> [1] \"Amoxicillin/clavulanic acid\" \"Polymyxin B\" ab_name( x = c(\"AMC\", \"PLB\"), tolower = TRUE ) # \"amoxicillin/clavulanic acid\" \"polymyxin B\" #> [1] \"amoxicillin/clavulanic acid\" \"polymyxin B\" # defined daily doses (DDD) ab_ddd(\"AMX\", \"oral\") # 1.5 #> [1] 1.5 ab_ddd_units(\"AMX\", \"oral\") # \"g\" #> [1] \"g\" ab_ddd(\"AMX\", \"iv\") # 3 #> [1] 3 ab_ddd_units(\"AMX\", \"iv\") # \"g\" #> [1] \"g\" ab_info(\"AMX\") # all properties as a list #> $ab #> [1] \"AMX\" #> #> $cid #> [1] 33613 #> #> $name #> [1] \"Amoxicillin\" #> #> $group #> [1] \"Beta-lactams/penicillins\" #> #> $atc #> [1] \"J01CA04\" #> #> $atc_group1 #> [1] \"Beta-lactam antibacterials, penicillins\" #> #> $atc_group2 #> [1] \"Penicillins with extended spectrum\" #> #> $tradenames #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicilline\" \"amoxicillinum\" \"amoxiden\" #> [13] \"amoxil\" \"amoxivet\" \"amoxy\" #> [16] \"amoxycillin\" \"anemolin\" \"aspenil\" #> [19] \"biomox\" \"bristamox\" \"cemoxin\" #> [22] \"clamoxyl\" \"delacillin\" \"dispermox\" #> [25] \"efpenix\" \"flemoxin\" \"hiconcil\" #> [28] \"histocillin\" \"hydroxyampicillin\" \"ibiamox\" #> [31] \"imacillin\" \"lamoxy\" \"metafarma capsules\" #> [34] \"metifarma capsules\" \"moxacin\" \"moxatag\" #> [37] \"ospamox\" \"pamoxicillin\" \"piramox\" #> [40] \"robamox\" \"sawamox pm\" \"tolodina\" #> [43] \"unicillin\" \"utimox\" \"vetramox\" #> #> $loinc #> [1] \"16365-9\" \"25274-2\" \"3344-9\" \"80133-2\" #> #> $ddd #> $ddd$oral #> $ddd$oral$amount #> [1] 1.5 #> #> $ddd$oral$units #> [1] \"g\" #> #> #> $ddd$iv #> $ddd$iv$amount #> [1] 3 #> #> $ddd$iv$units #> [1] \"g\" #> #> #> # all ab_* functions use as.ab() internally, so you can go from 'any' to 'any': ab_atc(\"AMP\") # ATC code of AMP (ampicillin) #> [1] \"J01CA01\" \"S01AA19\" ab_group(\"J01CA01\") # Drug group of ampicillins ATC code #> [1] \"Beta-lactams/penicillins\" ab_loinc(\"ampicillin\") # LOINC codes of ampicillin #> [1] \"21066-6\" \"3355-5\" \"33562-0\" \"33919-2\" \"43883-8\" \"43884-6\" \"87604-5\" ab_name(\"21066-6\") # \"Ampicillin\" (using LOINC) #> [1] \"Ampicillin\" ab_name(6249) # \"Ampicillin\" (using CID) #> [1] \"Ampicillin\" ab_name(\"J01CA01\") # \"Ampicillin\" (using ATC) #> [1] \"Ampicillin\" # spelling from different languages and dyslexia are no problem ab_atc(\"ceftriaxon\") #> [1] \"J01DD04\" ab_atc(\"cephtriaxone\") #> [1] \"J01DD04\" ab_atc(\"cephthriaxone\") #> [1] \"J01DD04\" ab_atc(\"seephthriaaksone\") #> [1] \"J01DD04\" # use set_ab_names() for renaming columns colnames(example_isolates) #> [1] \"date\" \"patient\" \"age\" \"gender\" \"ward\" \"mo\" \"PEN\" #> [8] \"OXA\" \"FLC\" \"AMX\" \"AMC\" \"AMP\" \"TZP\" \"CZO\" #> [15] \"FEP\" \"CXM\" \"FOX\" \"CTX\" \"CAZ\" \"CRO\" \"GEN\" #> [22] \"TOB\" \"AMK\" \"KAN\" \"TMP\" \"SXT\" \"NIT\" \"FOS\" #> [29] \"LNZ\" \"CIP\" \"MFX\" \"VAN\" \"TEC\" \"TCY\" \"TGC\" #> [36] \"DOX\" \"ERY\" \"CLI\" \"AZM\" \"IPM\" \"MEM\" \"MTR\" #> [43] \"CHL\" \"COL\" \"MUP\" \"RIF\" colnames(set_ab_names(example_isolates)) #> [1] \"date\" \"patient\" #> [3] \"age\" \"gender\" #> [5] \"ward\" \"mo\" #> [7] \"benzylpenicillin\" \"oxacillin\" #> [9] \"flucloxacillin\" \"amoxicillin\" #> [11] \"amoxicillin_clavulanic_acid\" \"ampicillin\" #> [13] \"piperacillin_tazobactam\" \"cefazolin\" #> [15] \"cefepime\" \"cefuroxime\" #> [17] \"cefoxitin\" \"cefotaxime\" #> [19] \"ceftazidime\" \"ceftriaxone\" #> [21] \"gentamicin\" \"tobramycin\" #> [23] \"amikacin\" \"kanamycin\" #> [25] \"trimethoprim\" \"trimethoprim_sulfamethoxazole\" #> [27] \"nitrofurantoin\" \"fosfomycin\" #> [29] \"linezolid\" \"ciprofloxacin\" #> [31] \"moxifloxacin\" \"vancomycin\" #> [33] \"teicoplanin\" \"tetracycline\" #> [35] \"tigecycline\" \"doxycycline\" #> [37] \"erythromycin\" \"clindamycin\" #> [39] \"azithromycin\" \"imipenem\" #> [41] \"meropenem\" \"metronidazole\" #> [43] \"chloramphenicol\" \"colistin\" #> [45] \"mupirocin\" \"rifampicin\" colnames(set_ab_names(example_isolates, NIT:VAN)) #> [1] \"date\" \"patient\" \"age\" \"gender\" #> [5] \"ward\" \"mo\" \"PEN\" \"OXA\" #> [9] \"FLC\" \"AMX\" \"AMC\" \"AMP\" #> [13] \"TZP\" \"CZO\" \"FEP\" \"CXM\" #> [17] \"FOX\" \"CTX\" \"CAZ\" \"CRO\" #> [21] \"GEN\" \"TOB\" \"AMK\" \"KAN\" #> [25] \"TMP\" \"SXT\" \"nitrofurantoin\" \"fosfomycin\" #> [29] \"linezolid\" \"ciprofloxacin\" \"moxifloxacin\" \"vancomycin\" #> [33] \"TEC\" \"TCY\" \"TGC\" \"DOX\" #> [37] \"ERY\" \"CLI\" \"AZM\" \"IPM\" #> [41] \"MEM\" \"MTR\" \"CHL\" \"COL\" #> [45] \"MUP\" \"RIF\" # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% set_ab_names() %>% head() # this does the same: example_isolates %>% rename_with(set_ab_names) %>% head() # set_ab_names() works with any AB property: example_isolates %>% set_ab_names(property = \"atc\") %>% head() example_isolates %>% set_ab_names(where(is.rsi)) %>% colnames() example_isolates %>% set_ab_names(NIT:VAN) %>% colnames() } #> [1] \"date\" \"patient\" \"age\" \"gender\" #> [5] \"ward\" \"mo\" \"PEN\" \"OXA\" #> [9] \"FLC\" \"AMX\" \"AMC\" \"AMP\" #> [13] \"TZP\" \"CZO\" \"FEP\" \"CXM\" #> [17] \"FOX\" \"CTX\" \"CAZ\" \"CRO\" #> [21] \"GEN\" \"TOB\" \"AMK\" \"KAN\" #> [25] \"TMP\" \"SXT\" \"nitrofurantoin\" \"fosfomycin\" #> [29] \"linezolid\" \"ciprofloxacin\" \"moxifloxacin\" \"vancomycin\" #> [33] \"TEC\" \"TCY\" \"TGC\" \"DOX\" #> [37] \"ERY\" \"CLI\" \"AZM\" \"IPM\" #> [41] \"MEM\" \"MTR\" \"CHL\" \"COL\" #> [45] \"MUP\" \"RIF\" # }"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":null,"dir":"Reference","previous_headings":"","what":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"add_custom_antimicrobials() can add custom antimicrobial codes AMR package.","code":""},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"","code":"add_custom_antimicrobials(x) clear_custom_antimicrobials()"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"x data.frame resembling antibiotics data set, least containing columns \"ab\" \"name\"","code":""},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"Due R works, add_custom_antimicrobials() function run every R session - added antimicrobials stored sessions thus lost R exited. possible save antimicrobial additions .Rprofile file circumvent , although requires load AMR package every start-: Use clear_custom_antimicrobials() clear previously added antimicrobials.","code":"# Open .Rprofile file utils::file.edit(\"~/.Rprofile\") # Add custom antibiotic codes: library(AMR) add_custom_antimicrobials( data.frame(ab = \"TEST\", name = \"Test Antibiotic\", group = \"Test Group\") )"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"","code":"# returns NA and throws a warning (which is now suppressed): suppressWarnings( as.ab(\"test\") ) #> Class #> [1] # now add a custom entry - it will be considered by as.ab() and # all ab_*() functions add_custom_antimicrobials( data.frame(ab = \"TEST\", name = \"Test Antibiotic\", # you can add any property present in the # 'antibiotics' data set, such as 'group': group = \"Test Group\") ) #> ℹ Added one record to the internal `antibiotics` data set. # \"test\" is now a new antibiotic: as.ab(\"test\") #> Class #> [1] TEST ab_name(\"test\") #> [1] \"Test Antibiotic\" ab_group(\"test\") #> [1] \"Test Group\" ab_info(\"test\") #> $ab #> [1] \"TEST\" #> #> $cid #> [1] NA #> #> $name #> [1] \"Test Antibiotic\" #> #> $group #> [1] \"Test Group\" #> #> $atc #> NULL #> #> $atc_group1 #> [1] NA #> #> $atc_group2 #> [1] NA #> #> $tradenames #> NULL #> #> $loinc #> NULL #> #> $ddd #> $ddd$oral #> $ddd$oral$amount #> [1] NA #> #> $ddd$oral$units #> [1] NA #> #> #> $ddd$iv #> $ddd$iv$amount #> [1] NA #> #> $ddd$iv$units #> [1] NA #> #> #> # Add Co-fluampicil, which is one of the many J01CR50 codes, see # https://www.whocc.no/ddd/list_of_ddds_combined_products/ add_custom_antimicrobials( data.frame(ab = \"COFLU\", name = \"Co-fluampicil\", atc = \"J01CR50\", group = \"Beta-lactams/penicillines\") ) #> ℹ Added one record to the internal `antibiotics` data set. ab_atc(\"Co-fluampicil\") #> [1] \"J01CR50\" ab_name(\"J01CR50\") #> [1] \"Co-fluampicil\" # even antibiotic selectors work x <- data.frame(random_column = \"test\", coflu = as.rsi(\"S\"), ampicillin = as.rsi(\"R\")) x #> random_column coflu ampicillin #> 1 test S R x[, betalactams()] #> ℹ For `betalactams()` using columns 'coflu' (co-fluampicil) and #> 'ampicillin' #> coflu ampicillin #> 1 S R"},{"path":"https://msberends.github.io/AMR/reference/age.html","id":null,"dir":"Reference","previous_headings":"","what":"Age in Years of Individuals — age","title":"Age in Years of Individuals — age","text":"Calculates age years based reference date, system date default.","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Age in Years of Individuals — age","text":"","code":"age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE, ...)"},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Age in Years of Individuals — age","text":"x date(s), character (vectors) coerced .POSIXlt() reference reference date(s) (defaults today), character (vectors) coerced .POSIXlt() exact logical indicate whether age calculation exact, .e. decimals. divides number days year--date (YTD) x number days year reference (either 365 366). na.rm logical indicate whether missing values removed ... arguments passed .POSIXlt(), origin","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Age in Years of Individuals — age","text":"integer (decimals) exact = FALSE, double (decimals) otherwise","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Age in Years of Individuals — age","text":"Ages 0 returned NA warning. Ages 120 give warning. function vectorises x reference, meaning either can length 1 argument larger length.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Age in Years of Individuals — age","text":"","code":"# 10 random pre-Y2K birth dates df <- data.frame(birth_date = as.Date(\"2000-01-01\") - runif(10) * 25000) # add ages df$age <- age(df$birth_date) # add exact ages df$age_exact <- age(df$birth_date, exact = TRUE) # add age at millenium switch df$age_at_y2k <- age(df$birth_date, \"2000-01-01\") df #> birth_date age age_exact age_at_y2k #> 1 1963-02-15 59 59.66027 36 #> 2 1979-08-05 43 43.19178 20 #> 3 1962-10-01 60 60.03562 37 #> 4 1990-03-08 32 32.60274 9 #> 5 1982-01-26 40 40.71507 17 #> 6 1954-02-09 68 68.67671 45 #> 7 1964-08-19 58 58.15342 35 #> 8 1938-04-08 84 84.51781 61 #> 9 1985-07-19 37 37.23836 14 #> 10 1945-03-20 77 77.56986 54"},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":null,"dir":"Reference","previous_headings":"","what":"Split Ages into Age Groups — age_groups","title":"Split Ages into Age Groups — age_groups","text":"Split ages age groups defined split argument. allows easier demographic (antimicrobial resistance) analysis.","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Split Ages into Age Groups — age_groups","text":"","code":"age_groups(x, split_at = c(12, 25, 55, 75), na.rm = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Split Ages into Age Groups — age_groups","text":"x age, e.g. calculated age() split_at values split x , defaults age groups 0-11, 12-24, 25-54, 55-74 75+. See Details. na.rm logical indicate whether missing values removed","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Split Ages into Age Groups — age_groups","text":"Ordered factor","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Split Ages into Age Groups — age_groups","text":"split ages, input split_at argument can : numeric vector. value e.g. c(10, 20) split x 0-9, 10-19 20+. value 50 split x 0-49 50+. default split young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) elderly (75+). character: \"children\" \"kids\", equivalent : c(0, 1, 2, 4, 6, 13, 18). split 0, 1, 2-3, 4-5, 6-12, 13-17 18+. \"elderly\" \"seniors\", equivalent : c(65, 75, 85). split 0-64, 65-74, 75-84, 85+. \"fives\", equivalent : 1:20 * 5. split 0-4, 5-9, ..., 95-99, 100+. \"tens\", equivalent : 1:10 * 10. split 0-9, 10-19, ..., 90-99, 100+.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Split Ages into Age Groups — age_groups","text":"","code":"ages <- c(3, 8, 16, 54, 31, 76, 101, 43, 21) # split into 0-49 and 50+ age_groups(ages, 50) #> [1] 0-49 0-49 0-49 50+ 0-49 50+ 50+ 0-49 0-49 #> Levels: 0-49 < 50+ # split into 0-19, 20-49 and 50+ age_groups(ages, c(20, 50)) #> [1] 0-19 0-19 0-19 50+ 20-49 50+ 50+ 20-49 20-49 #> Levels: 0-19 < 20-49 < 50+ # split into groups of ten years age_groups(ages, 1:10 * 10) #> [1] 0-9 0-9 10-19 50-59 30-39 70-79 100+ 40-49 20-29 #> 11 Levels: 0-9 < 10-19 < 20-29 < 30-39 < 40-49 < 50-59 < 60-69 < ... < 100+ age_groups(ages, split_at = \"tens\") #> [1] 0-9 0-9 10-19 50-59 30-39 70-79 100+ 40-49 20-29 #> 11 Levels: 0-9 < 10-19 < 20-29 < 30-39 < 40-49 < 50-59 < 60-69 < ... < 100+ # split into groups of five years age_groups(ages, 1:20 * 5) #> [1] 0-4 5-9 15-19 50-54 30-34 75-79 100+ 40-44 20-24 #> 21 Levels: 0-4 < 5-9 < 10-14 < 15-19 < 20-24 < 25-29 < 30-34 < ... < 100+ age_groups(ages, split_at = \"fives\") #> [1] 0-4 5-9 15-19 50-54 30-34 75-79 100+ 40-44 20-24 #> 21 Levels: 0-4 < 5-9 < 10-14 < 15-19 < 20-24 < 25-29 < 30-34 < ... < 100+ # split specifically for children age_groups(ages, c(1, 2, 4, 6, 13, 18)) #> [1] 2-3 6-12 13-17 18+ 18+ 18+ 18+ 18+ 18+ #> Levels: 0 < 1 < 2-3 < 4-5 < 6-12 < 13-17 < 18+ age_groups(ages, \"children\") #> [1] 2-3 6-12 13-17 18+ 18+ 18+ 18+ 18+ 18+ #> Levels: 0 < 1 < 2-3 < 4-5 < 6-12 < 13-17 < 18+ # \\donttest{ # resistance of ciprofloxacin per age group if (require(\"dplyr\")) { example_isolates %>% filter_first_isolate() %>% filter(mo == as.mo(\"Escherichia coli\")) %>% group_by(age_group = age_groups(age)) %>% select(age_group, CIP) %>% ggplot_rsi( x = \"age_group\", minimum = 0, x.title = \"Age Group\", title = \"Ciprofloxacin resistance per age group\" ) } #> Including isolates from ICU. # }"},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":null,"dir":"Reference","previous_headings":"","what":"Antibiotic Selectors — antibiotic_class_selectors","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"functions allow filtering rows selecting columns based antibiotic test results specific antibiotic class group, without need define columns antibiotic abbreviations. short, column name resembles antimicrobial agent, picked functions matches pharmaceutical class: \"cefazolin\", \"CZO\" \"J01DB04\" picked cephalosporins().","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"","code":"ab_class(ab_class, only_rsi_columns = FALSE, only_treatable = TRUE, ...) ab_selector(filter, only_rsi_columns = FALSE, only_treatable = TRUE, ...) aminoglycosides(only_rsi_columns = FALSE, only_treatable = TRUE, ...) aminopenicillins(only_rsi_columns = FALSE, ...) antifungals(only_rsi_columns = FALSE, ...) antimycobacterials(only_rsi_columns = FALSE, ...) betalactams(only_rsi_columns = FALSE, only_treatable = TRUE, ...) carbapenems(only_rsi_columns = FALSE, only_treatable = TRUE, ...) cephalosporins(only_rsi_columns = FALSE, ...) cephalosporins_1st(only_rsi_columns = FALSE, ...) cephalosporins_2nd(only_rsi_columns = FALSE, ...) cephalosporins_3rd(only_rsi_columns = FALSE, ...) cephalosporins_4th(only_rsi_columns = FALSE, ...) cephalosporins_5th(only_rsi_columns = FALSE, ...) fluoroquinolones(only_rsi_columns = FALSE, ...) glycopeptides(only_rsi_columns = FALSE, ...) lincosamides(only_rsi_columns = FALSE, ...) lipoglycopeptides(only_rsi_columns = FALSE, ...) macrolides(only_rsi_columns = FALSE, ...) oxazolidinones(only_rsi_columns = FALSE, ...) penicillins(only_rsi_columns = FALSE, ...) polymyxins(only_rsi_columns = FALSE, only_treatable = TRUE, ...) streptogramins(only_rsi_columns = FALSE, ...) quinolones(only_rsi_columns = FALSE, ...) tetracyclines(only_rsi_columns = FALSE, ...) trimethoprims(only_rsi_columns = FALSE, ...) ureidopenicillins(only_rsi_columns = FALSE, ...) administrable_per_os(only_rsi_columns = FALSE, ...) administrable_iv(only_rsi_columns = FALSE, ...) not_intrinsic_resistant( only_rsi_columns = FALSE, col_mo = NULL, version_expertrules = 3.3, ... )"},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"ab_class antimicrobial class part , \"carba\" \"carbapenems\". columns group, atc_group1 atc_group2 antibiotics data set searched (case-insensitive) value. only_rsi_columns logical indicate whether columns class must selected (defaults FALSE), see .rsi() only_treatable logical indicate whether agents laboratory tests excluded (defaults TRUE), gentamicin-high (GEH) imipenem/EDTA (IPE) ... ignored, place allow future extensions filter expression evaluated antibiotics data set, name %like% \"trim\" col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). version_expertrules version number use EUCAST Expert Rules Intrinsic Resistance guideline. Can either \"3.3\", \"3.2\" \"3.1\".","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"(internally) character vector column names, additional class \"ab_selector\"","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"functions can used data set calls selecting columns filtering rows. heavily inspired Tidyverse selection helpers everything(), also work base R dplyr verbs. Nonetheless, convenient use dplyr functions select(), filter() summarise(), see Examples. columns data functions called searched known antibiotic names, abbreviations, brand names, codes (ATC, EARS-Net, , etc.) according antibiotics data set. means selector aminoglycosides() pick column names like 'gen', 'genta', 'J01GB03', 'tobra', 'Tobracin', etc. ab_class() function can used filter/select manually defined antibiotic class. searches results antibiotics data set within columns group, atc_group1 atc_group2. ab_selector() function can used internally filter antibiotics data set results, see Examples. allows filtering (part ) certain name, /group name even minimum DDDs oral treatment. function yields highest flexibility, also least user-friendly, since requires hard-coded filter set. administrable_per_os() administrable_iv() functions also rely antibiotics data set - antibiotic columns matched DDD (defined daily dose) resp. oral IV treatment available antibiotics data set. not_intrinsic_resistant() function can used select antibiotic columns pose intrinsic resistance microorganisms data set. example, data set contains microorganism codes names E. coli K. pneumoniae contains column \"vancomycin\", column removed (rather, unselected) using function. currently applies 'EUCAST Expert Rules' 'EUCAST Intrinsic Resistance Unusual Phenotypes' v3.3 (2021) determine intrinsic resistance, using eucast_rules() function internally. determination, function quite slow terms performance.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"full-list-of-supported-antibiotic-classes","dir":"Reference","previous_headings":"","what":"Full list of supported (antibiotic) classes","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"aminoglycosides() can select: amikacin (AMK), amikacin/fosfomycin (AKF), amphotericin B-high (AMH), apramycin (APR), arbekacin (ARB), astromicin (AST), bekanamycin (BEK), dibekacin (DKB), framycetin (FRM), gentamicin (GEN), gentamicin-high (GEH), habekacin (HAB), hygromycin (HYG), isepamicin (ISE), kanamycin (KAN), kanamycin-high (KAH), kanamycin/cephalexin (KAC), micronomicin (MCR), neomycin (NEO), netilmicin (NET), pentisomicin (PIM), plazomicin (PLZ), propikacin (PKA), ribostamycin (RST), sisomicin (SIS), streptoduocin (STR), streptomycin (STR1), streptomycin-high (STH), tobramycin (TOB) tobramycin-high (TOH) aminopenicillins() can select: amoxicillin (AMX) ampicillin (AMP) antifungals() can select: 5-fluorocytosine (FCT), amphotericin B (AMB), anidulafungin (ANI), butoconazole (), caspofungin (CAS), ciclopirox (CIX), clotrimazole (CTR), econazole (ECO), fluconazole (FLU), fosfluconazole (FFL), griseofulvin (GRI), hachimycin (HCH), ibrexafungerp (IBX), isavuconazole (ISV), isoconazole (ISO), itraconazole (ITR), ketoconazole (KET), manogepix (MGX), micafungin (MIF), miconazole (MCZ), nystatin (NYS), pimaricin (PMR), posaconazole (POS), rezafungin (RZF), ribociclib (RBC), sulconazole (SUC), terbinafine (TRB), terconazole (TRC) voriconazole (VOR) antimycobacterials() can select: 4-aminosalicylic acid (AMA), calcium aminosalicylate (CLA), capreomycin (CAP), clofazimine (CLF), delamanid (DLM), enviomycin (ENV), ethambutol (ETH), ethambutol/isoniazid (ETI), ethionamide (ETI1), isoniazid (INH), morinamide (MRN), p-aminosalicylic acid (PAS), pretomanid (PMD), prothionamide (PTH), pyrazinamide (PZA), rifabutin (RIB), rifampicin (RIF), rifampicin/isoniazid (RFI), rifampicin/pyrazinamide/ethambutol/isoniazid (RPEI), rifampicin/pyrazinamide/isoniazid (RPI), rifamycin (RFM), rifapentine (RFP), simvastatin/fenofibrate (SMF), sodium aminosalicylate (SDA), streptomycin/isoniazid (STI), terizidone (TRZ), thioacetazone/isoniazid (THI1), tiocarlide (TCR) viomycin (VIO) betalactams() can select: amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), avibactam (AVB), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), biapenem (BIA), carbenicillin (CRB), carindacillin (CRN), cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefaloridine (RID), cefamandole (MAN), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/clavulanic acid (CPC), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening (FOX1), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/enzyme inhibitor (CEI), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), cefuroxime (CXM), cefuroxime axetil (CXA), cephalexin (LEX), cephalothin (CEP), cephapirin (HAP), cephradine (CED), ciclacillin (CIC), clometocillin (CLM), cloxacillin (CLO), dicloxacillin (DIC), doripenem (DOR), epicillin (EPC), ertapenem (ETP), flucloxacillin (FLC), hetacillin (HET), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), latamoxef (LTM), lenampicillin (LEN), loracarbef (LOR), mecillinam (MEC), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), metampicillin (MTM), methicillin (MET), mezlocillin (MEZ), mezlocillin/sulbactam (MSU), nacubactam (NAC), nafcillin (NAF), oxacillin (OXA), panipenem (PAN), penamecillin (PNM), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), phenethicillin (PHE), phenoxymethylpenicillin (PHN), piperacillin (PIP), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), piridicillin (PRC), pivampicillin (PVM), pivmecillinam (PME), procaine benzylpenicillin (PRB), propicillin (PRP), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), sarmoxicillin (SRX), sulbactam (SUL), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), tazobactam (TAZ), tebipenem (TBP), temocillin (TEM), ticarcillin (TIC) ticarcillin/clavulanic acid (TCC) carbapenems() can select: biapenem (BIA), doripenem (DOR), ertapenem (ETP), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), panipenem (PAN), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA) tebipenem (TBP) cephalosporins() can select: cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefaloridine (RID), cefamandole (MAN), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/clavulanic acid (CPC), cefepime/tazobactam (FPT), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening (FOX1), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/enzyme inhibitor (CEI), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), cefuroxime (CXM), cefuroxime axetil (CXA), cephalexin (LEX), cephalothin (CEP), cephapirin (HAP), cephradine (CED), latamoxef (LTM) loracarbef (LOR) cephalosporins_1st() can select: cefacetrile (CAC), cefadroxil (CFR), cefaloridine (RID), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefroxadine (CRD), ceftezole (CTL), cephalexin (LEX), cephalothin (CEP), cephapirin (HAP) cephradine (CED) cephalosporins_2nd() can select: cefaclor (CEC), cefamandole (MAN), cefmetazole (CMZ), cefonicid (CID), ceforanide (CND), cefotetan (CTT), cefotiam (CTF), cefoxitin (FOX), cefoxitin screening (FOX1), cefprozil (CPR), cefuroxime (CXM), cefuroxime axetil (CXA) loracarbef (LOR) cephalosporins_3rd() can select: cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefetamet (CAT), cefetamet pivoxil (CPI), cefixime (CFM), cefmenoxime (CMX), cefodizime (DIZ), cefoperazone (CFP), cefoperazone/sulbactam (CSL), cefotaxime (CTX), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotiam hexetil (CHE), cefovecin (FOV), cefpimizole (CFZ), cefpiramide (CPM), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefsulodin (CFS), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftriaxone (CRO) latamoxef (LTM) cephalosporins_4th() can select: cefepime (FEP), cefepime/clavulanic acid (CPC), cefepime/tazobactam (FPT), cefetecol (CCL), cefoselis (CSE), cefozopran (ZOP), cefpirome (CPO) cefquinome (CEQ) cephalosporins_5th() can select: ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/enzyme inhibitor (CEI) ceftolozane/tazobactam (CZT) fluoroquinolones() can select: besifloxacin (BES), ciprofloxacin (CIP), clinafloxacin (CLX), danofloxacin (DAN), delafloxacin (DFX), difloxacin (DIF), enoxacin (ENX), enrofloxacin (ENR), finafloxacin (FIN), fleroxacin (FLE), garenoxacin (GRN), gatifloxacin (GAT), gemifloxacin (GEM), grepafloxacin (GRX), levofloxacin (LVX), levonadifloxacin (LND), lomefloxacin (LOM), marbofloxacin (MAR), metioxate (MXT), miloxacin (MIL), moxifloxacin (MFX), nadifloxacin (NAD), nifuroquine (NIF), norfloxacin (), ofloxacin (OFX), orbifloxacin (ORB), pazufloxacin (PAZ), pefloxacin (PEF), pradofloxacin (PRA), premafloxacin (PRX), prulifloxacin (PRU), rufloxacin (RFL), sarafloxacin (SAR), sitafloxacin (SIT), sparfloxacin (SPX), temafloxacin (TMX), tilbroquinol (TBQ), tioxacin (TXC), tosufloxacin (TFX) trovafloxacin (TVA) glycopeptides() can select: avoparcin (AVO), dalbavancin (DAL), norvancomycin (NVA), oritavancin (ORI), ramoplanin (RAM), teicoplanin (TEC), teicoplanin-macromethod (TCM), telavancin (TLV), vancomycin (VAN) vancomycin-macromethod (VAM) lincosamides() can select: acetylmidecamycin (ACM), acetylspiramycin (ASP), clindamycin (CLI), gamithromycin (GAM), kitasamycin (KIT), lincomycin (LIN), meleumycin (MEL), nafithromycin (ZWK), pirlimycin (PRL), primycin (PRM), solithromycin (SOL), tildipirosin (TIP), tilmicosin (TIL), tulathromycin (TUL), tylosin (TYL) tylvalosin (TYL1) lipoglycopeptides() can select: dalbavancin (DAL), oritavancin (ORI) telavancin (TLV) macrolides() can select: acetylmidecamycin (ACM), acetylspiramycin (ASP), azithromycin (AZM), clarithromycin (CLR), dirithromycin (DIR), erythromycin (ERY), flurithromycin (FLR1), gamithromycin (GAM), josamycin (JOS), kitasamycin (KIT), meleumycin (MEL), midecamycin (MID), miocamycin (MCM), nafithromycin (ZWK), oleandomycin (OLE), pirlimycin (PRL), primycin (PRM), rokitamycin (ROK), roxithromycin (RXT), solithromycin (SOL), spiramycin (SPI), telithromycin (TLT), tildipirosin (TIP), tilmicosin (TIL), troleandomycin (TRL), tulathromycin (TUL), tylosin (TYL) tylvalosin (TYL1) oxazolidinones() can select: cadazolid (CDZ), cycloserine (CYC), linezolid (LNZ), tedizolid (TZD) thiacetazone (THA) penicillins() can select: amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), avibactam (AVB), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), carbenicillin (CRB), carindacillin (CRN), cefepime/nacubactam (FNC), ciclacillin (CIC), clometocillin (CLM), cloxacillin (CLO), dicloxacillin (DIC), epicillin (EPC), flucloxacillin (FLC), hetacillin (HET), lenampicillin (LEN), mecillinam (MEC), metampicillin (MTM), methicillin (MET), mezlocillin (MEZ), mezlocillin/sulbactam (MSU), nacubactam (NAC), nafcillin (NAF), oxacillin (OXA), penamecillin (PNM), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), phenethicillin (PHE), phenoxymethylpenicillin (PHN), piperacillin (PIP), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), piridicillin (PRC), pivampicillin (PVM), pivmecillinam (PME), procaine benzylpenicillin (PRB), propicillin (PRP), sarmoxicillin (SRX), sulbactam (SUL), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), tazobactam (TAZ), temocillin (TEM), ticarcillin (TIC) ticarcillin/clavulanic acid (TCC) polymyxins() can select: colistin (COL), polymyxin B (PLB) polymyxin B/polysorbate 80 (POP) quinolones() can select: besifloxacin (BES), cinoxacin (CIN), ciprofloxacin (CIP), clinafloxacin (CLX), danofloxacin (DAN), delafloxacin (DFX), difloxacin (DIF), enoxacin (ENX), enrofloxacin (ENR), finafloxacin (FIN), fleroxacin (FLE), flumequine (FLM), garenoxacin (GRN), gatifloxacin (GAT), gemifloxacin (GEM), grepafloxacin (GRX), levofloxacin (LVX), levonadifloxacin (LND), lomefloxacin (LOM), marbofloxacin (MAR), metioxate (MXT), miloxacin (MIL), moxifloxacin (MFX), nadifloxacin (NAD), nalidixic acid (NAL), nifuroquine (NIF), nitroxoline (NTR), norfloxacin (), ofloxacin (OFX), orbifloxacin (ORB), oxolinic acid (OXO), pazufloxacin (PAZ), pefloxacin (PEF), pipemidic acid (PPA), piromidic acid (PIR), pradofloxacin (PRA), premafloxacin (PRX), prulifloxacin (PRU), rosoxacin (ROS), rufloxacin (RFL), sarafloxacin (SAR), sitafloxacin (SIT), sparfloxacin (SPX), temafloxacin (TMX), tilbroquinol (TBQ), tioxacin (TXC), tosufloxacin (TFX) trovafloxacin (TVA) streptogramins() can select: pristinamycin (PRI) quinupristin/dalfopristin (QDA) tetracyclines() can select: cetocycline (CTO), chlortetracycline (CTE), clomocycline (CLM1), demeclocycline (DEM), doxycycline (DOX), eravacycline (ERV), lymecycline (LYM), metacycline (MTC), minocycline (MNO), omadacycline (OMC), oxytetracycline (OXY), penimepicycline (PNM1), rolitetracycline (RLT), tetracycline (TCY) tigecycline (TGC) trimethoprims() can select: brodimoprim (BDP), sulfadiazine (SDI), sulfadiazine/tetroxoprim (SLT), sulfadiazine/trimethoprim (SLT1), sulfadimethoxine (SUD), sulfadimidine (SDM), sulfadimidine/trimethoprim (SLT2), sulfafurazole (SLF), sulfaisodimidine (SLF1), sulfalene (SLF2), sulfamazone (SZO), sulfamerazine (SLF3), sulfamerazine/trimethoprim (SLT3), sulfamethizole (SLF4), sulfamethoxazole (SMX), sulfamethoxypyridazine (SLF5), sulfametomidine (SLF6), sulfametoxydiazine (SLF7), sulfametrole/trimethoprim (SLT4), sulfamoxole (SLF8), sulfamoxole/trimethoprim (SLT5), sulfanilamide (SLF9), sulfaperin (SLF10), sulfaphenazole (SLF11), sulfapyridine (SLF12), sulfathiazole (SUT), sulfathiourea (SLF13), trimethoprim (TMP) trimethoprim/sulfamethoxazole (SXT) ureidopenicillins() can select: azlocillin (AZL), mezlocillin (MEZ), piperacillin (PIP) piperacillin/tazobactam (TZP)","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. example_isolates #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF # base R ------------------------------------------------------------------ # select columns 'IPM' (imipenem) and 'MEM' (meropenem) example_isolates[, carbapenems()] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 2,000 × 2 #> IPM MEM #> #> 1 NA NA #> 2 NA NA #> 3 NA NA #> 4 NA NA #> 5 NA NA #> 6 NA NA #> 7 NA NA #> 8 NA NA #> 9 NA NA #> 10 NA NA #> # … with 1,990 more rows # select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB' example_isolates[, c(\"mo\", aminoglycosides())] #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 2,000 × 5 #> mo GEN TOB AMK KAN #> #> 1 B_ESCHR_COLI NA NA NA NA #> 2 B_ESCHR_COLI NA NA NA NA #> 3 B_STPHY_EPDR NA NA NA NA #> 4 B_STPHY_EPDR NA NA NA NA #> 5 B_STPHY_EPDR NA NA NA NA #> 6 B_STPHY_EPDR NA NA NA NA #> 7 B_STPHY_AURS NA S NA NA #> 8 B_STPHY_AURS NA S NA NA #> 9 B_STPHY_EPDR NA NA NA NA #> 10 B_STPHY_EPDR NA NA NA NA #> # … with 1,990 more rows # select only antibiotic columns with DDDs for oral treatment example_isolates[, administrable_per_os()] #> ℹ For `administrable_per_os()` using columns 'OXA' (oxacillin), 'FLC' #> (flucloxacillin), 'AMX' (amoxicillin), 'AMC' (amoxicillin/clavulanic acid), #> 'AMP' (ampicillin), 'CXM' (cefuroxime), 'KAN' (kanamycin), 'TMP' #> (trimethoprim), 'NIT' (nitrofurantoin), 'FOS' (fosfomycin), 'LNZ' #> (linezolid), 'CIP' (ciprofloxacin), 'MFX' (moxifloxacin), 'VAN' #> (vancomycin), 'TCY' (tetracycline), 'DOX' (doxycycline), 'ERY' #> (erythromycin), 'CLI' (clindamycin), 'AZM' (azithromycin), 'MTR' #> (metronidazole), 'CHL' (chloramphenicol), 'COL' (colistin) and 'RIF' #> (rifampicin) #> # A tibble: 2,000 × 23 #> OXA FLC AMX AMC AMP CXM KAN TMP NIT FOS LNZ CIP MFX #> #> 1 NA NA NA I NA I NA R NA NA R NA NA #> 2 NA NA NA I NA I NA R NA NA R NA NA #> 3 NA R NA NA NA R NA S NA NA NA NA NA #> 4 NA R NA NA NA R NA S NA NA NA NA NA #> 5 NA R NA NA NA R NA R NA NA NA NA NA #> 6 NA R NA NA NA R NA R NA NA NA NA NA #> 7 NA S R S R S NA R NA NA NA NA NA #> 8 NA S R S R S NA R NA NA NA NA NA #> 9 NA R NA NA NA R NA S NA NA NA S NA #> 10 NA S NA NA NA S NA S NA NA NA S NA #> # … with 1,990 more rows, and 10 more variables: VAN , TCY , #> # DOX , ERY , CLI , AZM , MTR , CHL , #> # COL , RIF # filter using any() or all() example_isolates[any(carbapenems() == \"R\"), ] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 55 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 2 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 3 2004-11-03 D65308 80 F ICU B_STNTR_MLTP R NA NA R #> 4 2005-04-21 452212 82 F ICU B_ENTRC NA NA NA NA #> 5 2005-04-22 452212 82 F ICU B_ENTRC NA NA NA NA #> 6 2005-04-22 452212 82 F ICU B_ENTRC_FACM NA NA NA NA #> 7 2007-02-21 8BBC46 61 F Clinical B_ENTRC_FACM NA NA NA NA #> 8 2007-12-15 401043 72 M Clinical B_ENTRC_FACM NA NA NA NA #> 9 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> 10 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> # … with 45 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF subset(example_isolates, any(carbapenems() == \"R\")) #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 55 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 2 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 3 2004-11-03 D65308 80 F ICU B_STNTR_MLTP R NA NA R #> 4 2005-04-21 452212 82 F ICU B_ENTRC NA NA NA NA #> 5 2005-04-22 452212 82 F ICU B_ENTRC NA NA NA NA #> 6 2005-04-22 452212 82 F ICU B_ENTRC_FACM NA NA NA NA #> 7 2007-02-21 8BBC46 61 F Clinical B_ENTRC_FACM NA NA NA NA #> 8 2007-12-15 401043 72 M Clinical B_ENTRC_FACM NA NA NA NA #> 9 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> 10 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> # … with 45 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF # filter on any or all results in the carbapenem columns (i.e., IPM, MEM): example_isolates[any(carbapenems()), ] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ Filtering any of columns 'IPM' and 'MEM' to contain value \"R\", \"S\" or \"I\" #> # A tibble: 962 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 4 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 5 2002-02-05 067927 45 F ICU B_SERRT_MRCS R NA NA R #> 6 2002-02-05 067927 45 F ICU B_SERRT_MRCS R NA NA R #> 7 2002-02-05 067927 45 F ICU B_SERRT_MRCS R NA NA R #> 8 2002-02-27 066895 85 F Clinical B_KLBSL_PNMN R NA NA R #> 9 2002-02-27 066895 85 F Clinical B_KLBSL_PNMN R NA NA R #> 10 2002-03-08 4FC193 69 M Clinical B_ESCHR_COLI R NA NA R #> # … with 952 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF example_isolates[all(carbapenems()), ] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ Filtering all of columns 'IPM' and 'MEM' to contain value \"R\", \"S\" or \"I\" #> # A tibble: 756 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-04-14 F30196 73 M Outpat… B_STRPT_GRPB S NA S S #> 2 2003-04-08 114570 74 M ICU B_STRPT_PYGN S NA S S #> 3 2003-04-08 114570 74 M ICU B_STRPT_GRPA S NA S S #> 4 2003-04-08 114570 74 M ICU B_STRPT_GRPA S NA S S #> 5 2003-08-14 F71508 0 F Clinic… B_STRPT_GRPB S NA S S #> 6 2003-10-16 650870 63 F ICU B_ESCHR_COLI R NA NA R #> 7 2003-10-20 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> 8 2003-10-20 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> 9 2003-11-04 2FC253 87 F ICU B_ESCHR_COLI R NA NA NA #> 10 2003-11-04 2FC253 87 F ICU B_ESCHR_COLI R NA NA NA #> # … with 746 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF # filter with multiple antibiotic selectors using c() example_isolates[all(c(carbapenems(), aminoglycosides()) == \"R\"), ] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 26 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2004-11-03 D65308 80 F ICU B_STNTR_MLTP R NA NA R #> 2 2005-04-22 452212 82 F ICU B_ENTRC_FACM NA NA NA NA #> 3 2007-02-21 8BBC46 61 F Clinical B_ENTRC_FACM NA NA NA NA #> 4 2007-12-15 401043 72 M Clinical B_ENTRC_FACM NA NA NA NA #> 5 2008-12-06 501361 43 F Clinical B_STNTR_MLTP R NA NA R #> 6 2011-05-09 207325 82 F ICU B_ENTRC_FACM NA NA NA NA #> 7 2012-03-12 582258 80 M ICU B_STPHY_CONS R R R R #> 8 2012-05-19 C25552 89 F Outpati… B_STPHY_CONS R R R R #> 9 2012-07-17 F05015 83 M ICU B_STPHY_CONS R R R R #> 10 2012-07-20 404299 66 F Clinical B_STPHY_CONS R R R R #> # … with 16 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF # filter + select in one go: get penicillins in carbapenems-resistant strains example_isolates[any(carbapenems() == \"R\"), penicillins()] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin) and 'TZP' #> (piperacillin/tazobactam) #> # A tibble: 55 × 7 #> PEN OXA FLC AMX AMC AMP TZP #> #> 1 NA NA NA NA NA NA NA #> 2 NA NA NA NA NA NA NA #> 3 R NA NA R R R R #> 4 NA NA NA NA NA NA R #> 5 NA NA NA NA NA NA R #> 6 NA NA NA NA NA NA R #> 7 NA NA NA NA NA NA R #> 8 NA NA NA NA NA NA R #> 9 R NA NA NA S NA S #> 10 R NA NA NA S NA S #> # … with 45 more rows # You can combine selectors with '&' to be more specific. For example, # penicillins() would select benzylpenicillin ('peni G') and # administrable_per_os() would select erythromycin. Yet, when combined these # drugs are both omitted since benzylpenicillin is not administrable per os # and erythromycin is not a penicillin: example_isolates[, penicillins() & administrable_per_os()] #> ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin) and 'TZP' #> (piperacillin/tazobactam) #> ℹ For `administrable_per_os()` using columns 'OXA' (oxacillin), 'FLC' #> (flucloxacillin), 'AMX' (amoxicillin), 'AMC' (amoxicillin/clavulanic acid), #> 'AMP' (ampicillin), 'CXM' (cefuroxime), 'KAN' (kanamycin), 'TMP' #> (trimethoprim), 'NIT' (nitrofurantoin), 'FOS' (fosfomycin), 'LNZ' #> (linezolid), 'CIP' (ciprofloxacin), 'MFX' (moxifloxacin), 'VAN' #> (vancomycin), 'TCY' (tetracycline), 'DOX' (doxycycline), 'ERY' #> (erythromycin), 'CLI' (clindamycin), 'AZM' (azithromycin), 'MTR' #> (metronidazole), 'CHL' (chloramphenicol), 'COL' (colistin) and 'RIF' #> (rifampicin) #> # A tibble: 2,000 × 5 #> OXA FLC AMX AMC AMP #> #> 1 NA NA NA I NA #> 2 NA NA NA I NA #> 3 NA R NA NA NA #> 4 NA R NA NA NA #> 5 NA R NA NA NA #> 6 NA R NA NA NA #> 7 NA S R S R #> 8 NA S R S R #> 9 NA R NA NA NA #> 10 NA S NA NA NA #> # … with 1,990 more rows # ab_selector() applies a filter in the `antibiotics` data set and is thus very # flexible. For instance, to select antibiotic columns with an oral DDD of at # least 1 gram: example_isolates[, ab_selector(oral_ddd > 1 & oral_units == \"g\")] #> ℹ For `ab_selector(oral_ddd > 1 & oral_units == \"g\")` using columns 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'KAN' (kanamycin), 'FOS' #> (fosfomycin), 'LNZ' (linezolid), 'VAN' (vancomycin), 'ERY' (erythromycin), #> 'CLI' (clindamycin), 'MTR' (metronidazole) and 'CHL' (chloramphenicol) #> # A tibble: 2,000 × 13 #> OXA FLC AMX AMC AMP KAN FOS LNZ VAN ERY CLI MTR CHL #> #> 1 NA NA NA I NA NA NA R R R R NA NA #> 2 NA NA NA I NA NA NA R R R R NA NA #> 3 NA R NA NA NA NA NA NA S R NA NA NA #> 4 NA R NA NA NA NA NA NA S R NA NA NA #> 5 NA R NA NA NA NA NA NA S R NA NA NA #> 6 NA R NA NA NA NA NA NA S R R NA NA #> 7 NA S R S R NA NA NA S S NA NA NA #> 8 NA S R S R NA NA NA S S NA NA NA #> 9 NA R NA NA NA NA NA NA S R NA NA NA #> 10 NA S NA NA NA NA NA NA S S NA NA NA #> # … with 1,990 more rows # dplyr ------------------------------------------------------------------- # \\donttest{ if (require(\"dplyr\")) { # get AMR for all aminoglycosides e.g., per ward: example_isolates %>% group_by(ward) %>% summarise(across(aminoglycosides(), resistance)) } #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> Warning: Introducing NA: only 23 results available for KAN in group: ward = #> \"Outpatient\" (`minimum` = 30). #> # A tibble: 3 × 5 #> ward GEN TOB AMK KAN #> #> 1 Clinical 0.229 0.315 0.626 1 #> 2 ICU 0.290 0.400 0.662 1 #> 3 Outpatient 0.2 0.368 0.605 NA if (require(\"dplyr\")) { # You can combine selectors with '&' to be more specific: example_isolates %>% select(penicillins() & administrable_per_os()) } #> ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin) and 'TZP' #> (piperacillin/tazobactam) #> ℹ For `administrable_per_os()` using columns 'OXA' (oxacillin), 'FLC' #> (flucloxacillin), 'AMX' (amoxicillin), 'AMC' (amoxicillin/clavulanic acid), #> 'AMP' (ampicillin), 'CXM' (cefuroxime), 'KAN' (kanamycin), 'TMP' #> (trimethoprim), 'NIT' (nitrofurantoin), 'FOS' (fosfomycin), 'LNZ' #> (linezolid), 'CIP' (ciprofloxacin), 'MFX' (moxifloxacin), 'VAN' #> (vancomycin), 'TCY' (tetracycline), 'DOX' (doxycycline), 'ERY' #> (erythromycin), 'CLI' (clindamycin), 'AZM' (azithromycin), 'MTR' #> (metronidazole), 'CHL' (chloramphenicol), 'COL' (colistin) and 'RIF' #> (rifampicin) #> # A tibble: 2,000 × 5 #> OXA FLC AMX AMC AMP #> #> 1 NA NA NA I NA #> 2 NA NA NA I NA #> 3 NA R NA NA NA #> 4 NA R NA NA NA #> 5 NA R NA NA NA #> 6 NA R NA NA NA #> 7 NA S R S R #> 8 NA S R S R #> 9 NA R NA NA NA #> 10 NA S NA NA NA #> # … with 1,990 more rows if (require(\"dplyr\")) { # get AMR for only drugs that matter - no intrinsic resistance: example_isolates %>% filter(mo_genus() %in% c(\"Escherichia\", \"Klebsiella\")) %>% group_by(ward) %>% summarise(across(not_intrinsic_resistant(), resistance)) } #> ℹ Using column 'mo' as input for `mo_genus()` #> ℹ For `not_intrinsic_resistant()` removing columns 'PEN' #> (benzylpenicillin), 'LNZ' (linezolid), 'VAN' (vancomycin), 'TEC' #> (teicoplanin), 'ERY' (erythromycin), 'CLI' (clindamycin), 'AZM' #> (azithromycin) and 'RIF' (rifampicin) #> Warning: Introducing NA: no results available for OXA in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for AMX in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for AMC in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for AMP in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 24 results available for TZP in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 23 results available for CZO in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: only 10 results available for CZO in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 20 results available for FEP in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for CXM in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 22 results available for FOX in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for CTX in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for CAZ in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for CRO in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for GEN in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for TOB in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 15 results available for AMK in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: only 22 results available for TMP in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for SXT in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for NIT in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for FOS in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for FOS in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for CIP in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 15 results available for MFX in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: only 4 results available for MFX in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 5 results available for TCY in group: ward = #> \"Clinical\" (`minimum` = 30). #> Warning: Introducing NA: no results available for TCY in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for TCY in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: only 13 results available for TGC in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for TGC in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: only 24 results available for IPM in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for MEM in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MTR in group: ward = #> \"Clinical\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: ward = \"Outpatient\" #> (`minimum` = 30). #> Warning: Introducing NA: only 9 results available for COL in group: ward = #> \"Outpatient\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: ward = \"Clinical\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: ward = \"ICU\" #> (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: ward = \"Outpatient\" #> (`minimum` = 30). #> # A tibble: 3 × 33 #> ward OXA FLC AMX AMC AMP TZP CZO FEP CXM FOX #> #> 1 Clin… NA NA 0.606 0.121 0.606 0.0504 0.0656 0.0159 0.0622 0.0648 #> 2 ICU NA NA 0.535 0.172 0.535 0.119 NA 0.0722 0.0828 0.0992 #> 3 Outp… NA NA NA NA NA NA NA NA NA NA #> # … with 22 more variables: CTX , CAZ , CRO , GEN , #> # TOB , AMK , KAN , TMP , SXT , NIT , #> # FOS , CIP , MFX , TCY , TGC , DOX , #> # IPM , MEM , MTR , CHL , COL , MUP if (require(\"dplyr\")) { # get susceptibility for antibiotics whose name contains \"trim\": example_isolates %>% filter(first_isolate()) %>% group_by(ward) %>% summarise(across(ab_selector(name %like% \"trim\"), susceptibility)) } #> Including isolates from ICU. #> ℹ For `ab_selector(name %like% \"trim\")` using columns 'TMP' (trimethoprim) #> and 'SXT' (trimethoprim/sulfamethoxazole) #> # A tibble: 3 × 3 #> ward TMP SXT #> #> 1 Clinical 0.627 0.808 #> 2 ICU 0.549 0.778 #> 3 Outpatient 0.667 0.821 if (require(\"dplyr\")) { # this will select columns 'IPM' (imipenem) and 'MEM' (meropenem): example_isolates %>% select(carbapenems()) } #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 2,000 × 2 #> IPM MEM #> #> 1 NA NA #> 2 NA NA #> 3 NA NA #> 4 NA NA #> 5 NA NA #> 6 NA NA #> 7 NA NA #> 8 NA NA #> 9 NA NA #> 10 NA NA #> # … with 1,990 more rows if (require(\"dplyr\")) { # this will select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB': example_isolates %>% select(mo, aminoglycosides()) } #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 2,000 × 5 #> mo GEN TOB AMK KAN #> #> 1 B_ESCHR_COLI NA NA NA NA #> 2 B_ESCHR_COLI NA NA NA NA #> 3 B_STPHY_EPDR NA NA NA NA #> 4 B_STPHY_EPDR NA NA NA NA #> 5 B_STPHY_EPDR NA NA NA NA #> 6 B_STPHY_EPDR NA NA NA NA #> 7 B_STPHY_AURS NA S NA NA #> 8 B_STPHY_AURS NA S NA NA #> 9 B_STPHY_EPDR NA NA NA NA #> 10 B_STPHY_EPDR NA NA NA NA #> # … with 1,990 more rows if (require(\"dplyr\")) { # any() and all() work in dplyr's filter() too: example_isolates %>% filter( any(aminoglycosides() == \"R\"), all(cephalosporins_2nd() == \"R\") ) } #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> ℹ For `cephalosporins_2nd()` using columns 'CXM' (cefuroxime) and 'FOX' #> (cefoxitin) #> # A tibble: 112 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-02-21 4FC193 69 M Clinical B_ENTRC_FACM NA NA NA NA #> 2 2002-03-16 4FC193 69 M Clinical B_PSDMN_AERG R NA NA R #> 3 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA #> 4 2002-06-23 798871 82 M Clinical B_ENTRC_FCLS NA NA NA NA #> 5 2002-06-23 798871 82 M Clinical B_ENTRC_FCLS NA NA NA NA #> 6 2002-07-21 955940 82 F Clinical B_PSDMN_AERG R NA NA R #> 7 2002-07-21 955940 82 F Clinical B_PSDMN_AERG R NA NA R #> 8 2003-08-13 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA #> 9 2003-09-05 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA #> 10 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> # … with 102 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF if (require(\"dplyr\")) { # also works with c(): example_isolates %>% filter(any(c(carbapenems(), aminoglycosides()) == \"R\")) } #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 531 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-02-21 4FC193 69 M Clinical B_ENTRC_FACM NA NA NA NA #> 2 2002-03-16 4FC193 69 M Clinical B_PSDMN_AERG R NA NA R #> 3 2002-03-17 B30560 78 M Clinical B_STPHY_CONS R NA R R #> 4 2002-04-04 E61143 67 M Clinical B_STRPT_SNGN S NA NA S #> 5 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA #> 6 2002-04-14 F30196 73 M Outpati… B_STRPT_GRPB S NA S S #> 7 2002-05-07 D91570 83 M Clinical B_STPHY_CONS R NA R R #> 8 2002-05-07 D91570 83 M Clinical B_STPHY_CONS R NA R R #> 9 2002-05-14 077552 86 F Clinical B_STRPT_PNMN S NA NA S #> 10 2002-05-14 077552 86 F Clinical B_STRPT_PNMN S NA NA S #> # … with 521 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF if (require(\"dplyr\")) { # not setting any/all will automatically apply all(): example_isolates %>% filter(aminoglycosides() == \"R\") } #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> ℹ Assuming a filter on all 4 aminoglycosides. Wrap around `all()` or #> `any()` to prevent this note. #> # A tibble: 427 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-02-21 4FC193 69 M Clinical B_ENTRC_FACM NA NA NA NA #> 2 2002-03-17 B30560 78 M Clinical B_STPHY_CONS R NA R R #> 3 2002-04-04 E61143 67 M Clinical B_STRPT_SNGN S NA NA S #> 4 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA #> 5 2002-04-14 F30196 73 M Outpati… B_STRPT_GRPB S NA S S #> 6 2002-05-07 D91570 83 M Clinical B_STPHY_CONS R NA R R #> 7 2002-05-07 D91570 83 M Clinical B_STPHY_CONS R NA R R #> 8 2002-05-14 077552 86 F Clinical B_STRPT_PNMN S NA NA S #> 9 2002-05-14 077552 86 F Clinical B_STRPT_PNMN S NA NA S #> 10 2002-05-16 D25302 65 F ICU B_STRPT_ANGN S NA NA S #> # … with 417 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF if (require(\"dplyr\")) { # this will select columns 'mo' and all antimycobacterial drugs ('RIF'): example_isolates %>% select(mo, ab_class(\"mycobact\")) } #> ℹ For `ab_class(\"mycobact\")` using column 'RIF' (rifampicin) #> # A tibble: 2,000 × 2 #> mo RIF #> #> 1 B_ESCHR_COLI R #> 2 B_ESCHR_COLI R #> 3 B_STPHY_EPDR NA #> 4 B_STPHY_EPDR NA #> 5 B_STPHY_EPDR NA #> 6 B_STPHY_EPDR NA #> 7 B_STPHY_AURS NA #> 8 B_STPHY_AURS NA #> 9 B_STPHY_EPDR NA #> 10 B_STPHY_EPDR NA #> # … with 1,990 more rows if (require(\"dplyr\")) { # get bug/drug combinations for only glycopeptides in Gram-positives: example_isolates %>% filter(mo_is_gram_positive()) %>% select(mo, glycopeptides()) %>% bug_drug_combinations() %>% format() } #> ℹ Using column 'mo' as input for `mo_is_gram_positive()` #> ℹ For `glycopeptides()` using columns 'VAN' (vancomycin) and 'TEC' #> (teicoplanin) #> ℹ Using column 'mo' as input for `col_mo`. #> # A tibble: 2 × 8 #> Group Drug CoNS E. fa…¹ S. au…² S. ep…³ S. ho…⁴ S. pn…⁵ #> #> 1 \"Glycopeptides\" Teicoplanin (TE… \"\" \"\" \" 0.0%… \"64.1%… \" 6.8%… \"\" #> 2 \"\" Vancomycin (VAN… \" 0.… \" 0.0%… \" 0.0%… \" 0.0%… \" 0.0%… \" 0.0%… #> # … with abbreviated variable names ¹​`E. faecalis`, ²​`S. aureus`, #> # ³​`S. epidermidis`, ⁴​`S. hominis`, ⁵​`S. pneumoniae` if (require(\"dplyr\")) { data.frame( some_column = \"some_value\", J01CA01 = \"S\" ) %>% # ATC code of ampicillin select(penicillins()) # only the 'J01CA01' column will be selected } #> ℹ For `penicillins()` using column 'J01CA01' (ampicillin) #> J01CA01 #> 1 S if (require(\"dplyr\")) { # with recent versions of dplyr this is all equal: x <- example_isolates[carbapenems() == \"R\", ] y <- example_isolates %>% filter(carbapenems() == \"R\") z <- example_isolates %>% filter(if_all(carbapenems(), ~ .x == \"R\")) identical(x, y) && identical(y, z) } #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ Assuming a filter on all 2 carbapenems. Wrap around `all()` or `any()` to #> prevent this note. #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ Assuming a filter on all 2 carbapenems. Wrap around `all()` or `any()` to #> prevent this note. #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> [1] TRUE # }"},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Sets with 566 Antimicrobial Drugs — antibiotics","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"Two data sets containing antibiotics/antimycotics antivirals. Use .ab() one ab_* functions retrieve values antibiotics data set. Three identifiers included data set: antibiotic ID (ab, primarily used package) defined WHONET/EARS-Net, ATC code (atc) defined , Compound ID (cid) found PubChem. properties data set derived one codes. Note drugs multiple ATC codes.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"","code":"antibiotics antivirals"},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"object class tbl_df (inherits tbl, data.frame) 102 rows 9 columns.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"for-the-antibiotics-data-set-a-tibble-with-observations-and-variables-","dir":"Reference","previous_headings":"","what":"For the antibiotics data set: a tibble with 464 observations and 14 variables:","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"ab Antibiotic ID used package (AMC), using official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes available cid Compound ID found PubChem name Official name used WHONET/EARS-Net group short concise group name, based WHONET WHOCC definitions atc ATC codes (Anatomical Therapeutic Chemical) defined WHOCC, like J01CR02 atc_group1 Official pharmacological subgroup (3rd level ATC code) defined WHOCC, like \"Macrolides, lincosamides streptogramins\" atc_group2 Official chemical subgroup (4th level ATC code) defined WHOCC, like \"Macrolides\" abbr List abbreviations used many countries, also antibiotic susceptibility testing (AST) synonyms Synonyms (often trade names) drug, found PubChem based compound ID oral_ddd Defined Daily Dose (DDD), oral treatment, currently available 170 drugs oral_units Units oral_ddd iv_ddd Defined Daily Dose (DDD), parenteral (intravenous) treatment, currently available 145 drugs iv_units Units iv_ddd loinc LOINC codes (Logical Observation Identifiers Names Codes) associated name antimicrobial agent. Use ab_loinc() retrieve quickly, see ab_property().","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"for-the-antivirals-data-set-a-tibble-with-observations-and-variables-","dir":"Reference","previous_headings":"","what":"For the antivirals data set: a tibble with 102 observations and 9 variables:","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"atc ATC codes (Anatomical Therapeutic Chemical) defined WHOCC cid Compound ID found PubChem name Official name used WHONET/EARS-Net atc_group Official pharmacological subgroup (3rd level ATC code) defined WHOCC synonyms Synonyms (often trade names) drug, found PubChem based compound ID oral_ddd Defined Daily Dose (DDD), oral treatment oral_units Units oral_ddd iv_ddd Defined Daily Dose (DDD), parenteral treatment iv_units Units iv_ddd","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"World Health Organization () Collaborating Centre Drug Statistics Methodology (WHOCC): https://www.whocc./atc_ddd_index/ European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"Properties based ATC code available ATC available. properties : atc_group1, atc_group2, oral_ddd, oral_units, iv_ddd iv_units. Synonyms (.e. trade names) derived Compound ID (cid) consequently available CID available.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"direct-download","dir":"Reference","previous_headings":"","what":"Direct download","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"Like data sets package, data sets publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"whocc","dir":"Reference","previous_headings":"","what":"WHOCC","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"package contains ~550 antibiotic, antimycotic antiviral drugs Anatomical Therapeutic Chemical (ATC) codes, ATC groups Defined Daily Dose (DDD) World Health Organization Collaborating Centre Drug Statistics Methodology (WHOCC, https://www.whocc.) Pharmaceuticals Community Register European Commission (https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm). become gold standard international drug utilisation monitoring research. WHOCC located Oslo Norwegian Institute Public Health funded Norwegian government. European Commission executive European Union promotes general interest. NOTE: WHOCC copyright allow use commercial purposes, unlike info package. See https://www.whocc./copyright_disclaimer/.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/antibiotics.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Sets with 566 Antimicrobial Drugs — antibiotics","text":"","code":"antibiotics #> # A tibble: 464 × 14 #> ab cid name group atc atc_g…¹ atc_g…² abbre…³ synon…⁴ oral_…⁵ #> #> 1 AMA 4649 4-aminosal… Anti… Drugs … Aminos… 12 #> 2 FCT 3366 5-fluorocy… Anti… Antifu… Other … NA #> 3 ACM 6450012 Acetylmide… Macr… NA NA NA #> 4 ASP 49787020 Acetylspir… Macr… NA NA NA #> 5 ALS 8954 Aldesulfon… Othe… Drugs … Drugs … 0.33 #> 6 AMK 37768 Amikacin Amin… Aminog… Other … NA #> 7 AKF NA Amikacin/f… Amin… NA NA NA #> 8 AMX 33613 Amoxicillin Beta… Beta-l… Penici… 1.5 #> 9 AMC 23665637 Amoxicilli… Beta… Beta-l… Combin… 1.5 #> 10 AXS 465441 Amoxicilli… Beta… NA NA NA #> # … with 454 more rows, 4 more variables: oral_units , iv_ddd , #> # iv_units , loinc , and abbreviated variable names ¹​atc_group1, #> # ²​atc_group2, ³​abbreviations, ⁴​synonyms, ⁵​oral_ddd antivirals #> # A tibble: 102 × 9 #> atc cid name atc_g…¹ synon…² oral_…³ oral_…⁴ iv_ddd iv_un…⁵ #> #> 1 J05AF06 441300 Abacavir Nucleo… 0.6 g NA NA #> 2 J05AB01 135398513 Aciclovir Nucleo… 4 g 4 g #> 3 J05AF08 60871 Adefovir di… Nucleo… 10 mg NA NA #> 4 J05AE05 65016 Amprenavir Protea… 1.2 g NA NA #> 5 J05AP06 16076883 Asunaprevir Antivi… NA NA NA NA #> 6 J05AE08 148192 Atazanavir Protea… 0.3 g NA NA #> 7 J05AR15 86583336 Atazanavir … Antivi… NA NA NA NA #> 8 J05AR23 NA Atazanavir … Antivi… 0.3 g NA NA #> 9 J05AP03 10324367 Boceprevir Antivi… 2.4 g NA NA #> 10 J05AB15 446727 Brivudine Nucleo… 0.125 g NA NA #> # … with 92 more rows, and abbreviated variable names ¹​atc_group, ²​synonyms, #> # ³​oral_ddd, ⁴​oral_units, ⁵​iv_units"},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":null,"dir":"Reference","previous_headings":"","what":"Transform Input to an Antibiotic ID — as.ab","title":"Transform Input to an Antibiotic ID — as.ab","text":"Use function determine antibiotic code one antibiotics. data set antibiotics searched abbreviations, official names synonyms (brand names).","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transform Input to an Antibiotic ID — as.ab","text":"","code":"as.ab(x, flag_multiple_results = TRUE, info = interactive(), ...) is.ab(x)"},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transform Input to an Antibiotic ID — as.ab","text":"x character vector determine antibiotic ID flag_multiple_results logical indicate whether note printed console probably one antibiotic code name can retrieved single input value. info logical indicate whether progress bar printed, defaults TRUE interactive mode ... arguments passed internal functions","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transform Input to an Antibiotic ID — as.ab","text":"character vector additional class ab","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Transform Input to an Antibiotic ID — as.ab","text":"entries antibiotics data set three different identifiers: human readable EARS-Net code (column ab, used ECDC WHONET), ATC code (column atc, used ), CID code (column cid, Compound ID, used PubChem). data set contains 5,000 official brand names many different countries, found PubChem. drugs contain multiple ATC codes. properties searched user input. .ab() can correct different forms misspelling: Wrong spelling drug names (\"tobramicin\" \"gentamycin\"), corrects audible similarities f/ph, x/ks, c/z/s, t/th, etc. many vowels consonants Switching two characters (\"mreopenem\", often case clinical data, doctors typed fast) Digitalised paper records, leaving artefacts like 0/o/O (zero O's), B/8, n/r, etc. Use ab_* functions get properties based returned antibiotic ID, see Examples. Note: .ab() ab_* functions may use long regular expression match brand names antimicrobial agents. may fail systems. can add manual codes considered .ab() ab_* functions, see add_custom_antimicrobials().","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Transform Input to an Antibiotic ID — as.ab","text":"World Health Organization () Collaborating Centre Drug Statistics Methodology: https://www.whocc./atc_ddd_index/ European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"whocc","dir":"Reference","previous_headings":"","what":"WHOCC","title":"Transform Input to an Antibiotic ID — as.ab","text":"package contains ~550 antibiotic, antimycotic antiviral drugs Anatomical Therapeutic Chemical (ATC) codes, ATC groups Defined Daily Dose (DDD) World Health Organization Collaborating Centre Drug Statistics Methodology (WHOCC, https://www.whocc.) Pharmaceuticals Community Register European Commission (https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm). become gold standard international drug utilisation monitoring research. WHOCC located Oslo Norwegian Institute Public Health funded Norwegian government. European Commission executive European Union promotes general interest. NOTE: WHOCC copyright allow use commercial purposes, unlike info package. See https://www.whocc./copyright_disclaimer/.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Transform Input to an Antibiotic ID — as.ab","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/as.ab.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transform Input to an Antibiotic ID — as.ab","text":"","code":"# these examples all return \"ERY\", the ID of erythromycin: as.ab(\"J01FA01\") #> Class #> [1] ERY as.ab(\"J 01 FA 01\") #> Error: in like(): argument `x` must not be NULL as.ab(\"Erythromycin\") #> Class #> [1] ERY as.ab(\"eryt\") #> Class #> [1] ERY as.ab(\" eryt 123\") #> Error: in like(): argument `x` must not be NULL as.ab(\"ERYT\") #> Class #> [1] ERY as.ab(\"ERY\") #> Class #> [1] ERY as.ab(\"eritromicine\") # spelled wrong, yet works #> Class #> [1] ERY as.ab(\"Erythrocin\") # trade name #> Class #> [1] ERY as.ab(\"Romycin\") # trade name #> Class #> [1] ERY # spelling from different languages and dyslexia are no problem ab_atc(\"ceftriaxon\") #> [1] \"J01DD04\" ab_atc(\"cephtriaxone\") # small spelling error #> [1] \"J01DD04\" ab_atc(\"cephthriaxone\") # or a bit more severe #> [1] \"J01DD04\" ab_atc(\"seephthriaaksone\") # and even this works #> [1] \"J01DD04\" # use ab_* functions to get a specific properties (see ?ab_property); # they use as.ab() internally: ab_name(\"J01FA01\") # \"Erythromycin\" #> [1] \"Erythromycin\" ab_name(\"eryt\") # \"Erythromycin\" #> [1] \"Erythromycin\" # \\donttest{ if (require(\"dplyr\")) { # you can quickly rename columns using dplyr >= 1.0.0: example_isolates %>% rename_with(as.ab, where(is.rsi)) } #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF # }"},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":null,"dir":"Reference","previous_headings":"","what":"Transform Input to Disk Diffusion Diameters — as.disk","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"transforms vector new class disk, disk diffusion growth zone size (around antibiotic disk) millimetres 6 50.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"","code":"as.disk(x, na.rm = FALSE) NA_disk_ is.disk(x)"},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"object class disk (inherits integer) length 1.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"x vector na.rm logical indicating whether missing values removed","code":""},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"integer additional class disk","code":""},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"Interpret disk values RSI values .rsi(). supports guidelines EUCAST CLSI. NA_disk_ missing value new class.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/as.disk.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transform Input to Disk Diffusion Diameters — as.disk","text":"","code":"# transform existing disk zones to the `disk` class (using base R) df <- data.frame( microorganism = \"Escherichia coli\", AMP = 20, CIP = 14, GEN = 18, TOB = 16 ) df[, 2:5] <- lapply(df[, 2:5], as.disk) str(df) #> 'data.frame':\t1 obs. of 5 variables: #> $ microorganism: chr \"Escherichia coli\" #> $ AMP : 'disk' int 20 #> $ CIP : 'disk' int 14 #> $ GEN : 'disk' int 18 #> $ TOB : 'disk' int 16 # \\donttest{ # transforming is easier with dplyr: if (require(\"dplyr\")) { df %>% mutate(across(AMP:TOB, as.disk)) } #> microorganism AMP CIP GEN TOB #> 1 Escherichia coli 20 14 18 16 # } # interpret disk values, see ?as.rsi as.rsi( x = as.disk(18), mo = \"Strep pneu\", # `mo` will be coerced with as.mo() ab = \"ampicillin\", # and `ab` with as.ab() guideline = \"EUCAST\" ) #> => Interpreting disk diffusion zones of 'ampicillin' (AMP, ampicillin) #> according to EUCAST 2022... #> OK. #> Class #> [1] R # interpret whole data set, pretend to be all from urinary tract infections: as.rsi(df, uti = TRUE) #> ℹ Using column 'microorganism' as input for `col_mo`. #> => Interpreting disk diffusion zones of column 'AMP' (ampicillin) according #> to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of column 'CIP' (ciprofloxacin) #> according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of column 'GEN' (gentamicin) according #> to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of column 'TOB' (tobramycin) according #> to EUCAST 2022... #> OK. #> microorganism AMP CIP GEN TOB #> 1 Escherichia coli S R S S"},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":null,"dir":"Reference","previous_headings":"","what":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"transforms vectors new class mic, treats input decimal numbers, maintaining operators (\">=\") allowing valid MIC values known field (medical) microbiology.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"","code":"as.mic(x, na.rm = FALSE) NA_mic_ is.mic(x) # S3 method for mic droplevels(x, as.mic = FALSE, ...)"},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"x character numeric vector na.rm logical indicating whether missing values removed .mic logical indicate whether class kept, defaults FALSE ... arguments passed methods","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"Ordered factor additional class mic, mathematical operations acts decimal numbers. Bare mind outcome mathematical operation MICs return numeric value.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"interpret MIC values RSI values, use .rsi() MIC values. supports guidelines EUCAST (2011-2022) CLSI (2011-2022). class MIC values quite special data type: formally ordered factor valid MIC values factor levels (make sure valid MIC values retained), mathematical operation acts decimal numbers: makes possible maintain operators often come MIC values, \">=\" \"<=\", even filtering using numeric values data analysis, e.g.: following generic functions implemented MIC class: !, !=, %%, %/%, &, *, +, -, /, <, <=, ==, >, >=, ^, |, abs(), acos(), acosh(), (), (), asin(), asinh(), atan(), atanh(), ceiling(), cos(), cosh(), cospi(), cummax(), cummin(), cumprod(), cumsum(), digamma(), exp(), expm1(), floor(), gamma(), lgamma(), log(), log1p(), log2(), log10(), max(), mean(), min(), prod(), range(), round(), sign(), signif(), sin(), sinh(), sinpi(), sqrt(), sum(), tan(), tanh(), tanpi(), trigamma() trunc(). functions stats package also implemented: median(), quantile(), mad(), IQR(), fivenum(). Also, boxplot.stats() supported. Since sd() var() non-generic functions, extended. Use mad() alternative, use e.g. sd(.numeric(x)) x vector MIC values. Using .double() .numeric() MIC values remove operators return numeric vector. use .integer() MIC values R convention factors, return index factor levels (often useless regular users). Use droplevels() drop unused levels. default, return plain factor. Use droplevels(..., .mic = TRUE) maintain class. NA_mic_ missing value new class, analogous e.g. base R's NA_character_.","code":"x <- random_mic(10) x #> Class #> [1] 16 1 8 8 64 >=128 0.0625 32 32 16 is.factor(x) #> [1] TRUE x[1] * 2 #> [1] 32 median(x) #> [1] 26 x[x > 4] #> Class #> [1] 16 8 8 64 >=128 32 32 16 df <- data.frame(x, hospital = \"A\") subset(df, x > 4) # or with dplyr: df %>% filter(x > 4) #> x hospital #> 1 16 A #> 5 64 A #> 6 >=128 A #> 8 32 A #> 9 32 A #> 10 16 A"},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/as.mic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic","text":"","code":"mic_data <- as.mic(c(\">=32\", \"1.0\", \"1\", \"1.00\", 8, \"<=0.128\", \"8\", \"16\", \"16\")) mic_data #> Class #> [1] >=32 1 1 1 8 <=0.128 8 16 16 is.mic(mic_data) #> [1] TRUE # this can also coerce combined MIC/RSI values: as.mic(\"<=0.002; S\") #> Class #> [1] <=0.002 # mathematical processing treats MICs as numeric values fivenum(mic_data) #> [1] 0.128 1.000 8.000 16.000 32.000 quantile(mic_data) #> 0% 25% 50% 75% 100% #> 0.128 1.000 8.000 16.000 32.000 all(mic_data < 512) #> [1] TRUE # interpret MIC values as.rsi( x = as.mic(2), mo = as.mo(\"Streptococcus pneumoniae\"), ab = \"AMX\", guideline = \"EUCAST\" ) #> => Interpreting MIC values of 'AMX' (amoxicillin) according to EUCAST #> 2022... #> OK. #> Class #> [1] R as.rsi( x = as.mic(c(0.01, 2, 4, 8)), mo = as.mo(\"Streptococcus pneumoniae\"), ab = \"AMX\", guideline = \"EUCAST\" ) #> => Interpreting MIC values of 'AMX' (amoxicillin) according to EUCAST #> 2022... #> OK. #> Class #> [1] S R R R # plot MIC values, see ?plot plot(mic_data) plot(mic_data, mo = \"E. coli\", ab = \"cipro\") if (require(\"ggplot2\")) { autoplot(mic_data, mo = \"E. coli\", ab = \"cipro\") } #> Loading required package: ggplot2 if (require(\"ggplot2\")) { autoplot(mic_data, mo = \"E. coli\", ab = \"cipro\", language = \"nl\") # Dutch } if (require(\"ggplot2\")) { autoplot(mic_data, mo = \"E. coli\", ab = \"cipro\", language = \"uk\") # Ukrainian }"},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":null,"dir":"Reference","previous_headings":"","what":"Transform Input to a Microorganism Code — as.mo","title":"Transform Input to a Microorganism Code — as.mo","text":"Use function determine valid microorganism code (mo). Determination done using intelligent rules complete taxonomic kingdoms Animalia, Archaea, Bacteria Protozoa, microbial species kingdom Fungi (see Source). input can almost anything: full name (like \"Staphylococcus aureus\"), abbreviated name (\"S. aureus\"), abbreviation known field (\"MRSA\"), just genus. See Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transform Input to a Microorganism Code — as.mo","text":"","code":"as.mo( x, Becker = FALSE, Lancefield = FALSE, minimum_matching_score = NULL, keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), reference_df = get_mo_source(), ignore_pattern = getOption(\"AMR_ignore_pattern\", NULL), remove_from_input = mo_cleaning_regex(), language = get_AMR_locale(), info = interactive(), ... ) is.mo(x) mo_uncertainties() mo_renamed() mo_failures() mo_reset_session() mo_cleaning_regex()"},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transform Input to a Microorganism Code — as.mo","text":"x character vector data.frame one two columns Becker logical indicate whether staphylococci categorised coagulase-negative staphylococci (\"CoNS\") coagulase-positive staphylococci (\"CoPS\") instead species, according Karsten Becker et al. (see Source). excludes Staphylococcus aureus default, use Becker = \"\" also categorise S. aureus \"CoPS\". Lancefield logical indicate whether beta-haemolytic Streptococcus categorised Lancefield groups instead species, according Rebecca C. Lancefield (see Source). streptococci categorised first group, e.g. Streptococcus dysgalactiae group C, although officially also categorised groups G L. excludes enterococci default (group D), use Lancefield = \"\" also categorise enterococci group D. minimum_matching_score numeric value set lower limit MO matching score. left blank, determined automatically based character length x, taxonomic kingdom human pathogenicity. keep_synonyms logical indicate old, previously valid taxonomic names must preserved corrected currently accepted names. default FALSE, return note old taxonomic names processed. default can set options(AMR_keep_synonyms = TRUE) options(AMR_keep_synonyms = FALSE). reference_df data.frame used extra reference translating x valid mo. See set_mo_source() get_mo_source() automate usage codes (e.g. used analysis organisation). ignore_pattern regular expression (case-insensitive) matches x must return NA. can convenient exclude known non-relevant input can also set option AMR_ignore_pattern, e.g. options(AMR_ignore_pattern = \"(reported|contaminated flora)\"). remove_from_input regular expression (case-insensitive) clean input x. Everything matched x removed. default, outcome mo_cleaning_regex(), removes texts brackets texts \"species\" \"serovar\". language language translate text like \"growth\", defaults system language (see get_AMR_locale()) info logical indicate progress bar printed 25 items coerced, defaults TRUE interactive mode ... arguments passed functions","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transform Input to a Microorganism Code — as.mo","text":"character vector additional class mo","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Transform Input to a Microorganism Code — as.mo","text":"microorganism (MO) code package (class: mo) human readable typically looks like examples: Values coerced considered 'unknown' returned MO code UNKNOWN warning. Use mo_* functions get properties based returned code, see Examples. .mo() function uses novel matching score algorithm (see Matching Score Microorganisms ) match input available microbial taxonomy package. lead effect e.g. \"E. coli\" (microorganism highly prevalent humans) return microbial ID Escherichia coli Entamoeba coli (microorganism less prevalent humans), although latter alphabetically come first. algorithm uses data List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) (see microorganisms).","code":"Code Full name --------------- -------------------------------------- B_KLBSL Klebsiella B_KLBSL_PNMN Klebsiella pneumoniae B_KLBSL_PNMN_RHNS Klebsiella pneumoniae rhinoscleromatis | | | | | | | | | | | \\---> subspecies, a 3-5 letter acronym | | \\----> species, a 3-6 letter acronym | \\----> genus, a 4-8 letter acronym \\----> taxonomic kingdom: A (Archaea), AN (Animalia), B (Bacteria), F (Fungi), PL (Plantae), P (Protozoa)"},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"coping-with-uncertain-results","dir":"Reference","previous_headings":"","what":"Coping with Uncertain Results","title":"Transform Input to a Microorganism Code — as.mo","text":"Results non-exact taxonomic input based matching score. lowest allowed score can set minimum_matching_score argument. default determined based character length input, taxonomic kingdom human pathogenicity taxonomic outcome. values matched uncertainty, message shown suggest user evaluate results mo_uncertainties(), returns data.frame specifications. increase quality matching, remove_from_input argument can used clean input (.e., x). must regular expression matches parts input removed input matched available microbial taxonomy. matched Perl-compatible case-insensitive. default value remove_from_input outcome helper function mo_cleaning_regex(). three helper functions can run using .mo() function: Use mo_uncertainties() get data.frame prints pretty format taxonomic names guessed. output contains matching score matches (see Matching Score Microorganisms ). Use mo_failures() get character vector values coerced valid value. Use mo_renamed() get data.frame values coerced based old, previously accepted taxonomic names.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"microbial-prevalence-of-pathogens-in-humans","dir":"Reference","previous_headings":"","what":"Microbial Prevalence of Pathogens in Humans","title":"Transform Input to a Microorganism Code — as.mo","text":"coercion rules consider prevalence microorganisms humans grouped three groups, available prevalence columns microorganisms data set. grouping human pathogenic prevalence explained section Matching Score Microorganisms .","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Transform Input to a Microorganism Code — as.mo","text":"Berends MS et al. (2022). AMR: R Package Working Antimicrobial Resistance Data. Journal Statistical Software, 104(3), 1-31; doi:10.18637/jss.v104.i03 Becker K et al. (2014). Coagulase-Negative Staphylococci. Clin Microbiol Rev. 27(4): 870-926; doi:10.1128/CMR.00109-13 Becker K et al. (2019). Implications identifying recently defined members S. aureus complex, S. argenteus S. schweitzeri: position paper members ESCMID Study Group staphylococci Staphylococcal Diseases (ESGS). Clin Microbiol Infect; doi:10.1016/j.cmi.2019.02.028 Becker K et al. (2020). Emergence coagulase-negative staphylococci Expert Rev Anti Infect Ther. 18(4):349-366; doi:10.1080/14787210.2020.1730813 Lancefield RC (1933). serological differentiation human groups hemolytic streptococci. J Exp Med. 57(4): 571-95; doi:10.1084/jem.57.4.571 Berends MS et al. (2022). Trends Occurrence Phenotypic Resistance Coagulase-Negative Staphylococci (CoNS) Found Human Blood Northern Netherlands 2013 2019 Microorganisms 10(9), 1801; doi:10.3390/microorganisms10091801 Parte, AC et al. (2020). List Prokaryotic names Standing Nomenclature (LPSN) moves DSMZ. International Journal Systematic Evolutionary Microbiology, 70, 5607-5612; doi:10.1099/ijsem.0.004332 . Accessed https://lpsn.dsmz.de 12 September, 2022. GBIF Secretariat (November 26, 2021). GBIF Backbone Taxonomy. Checklist dataset doi:10.15468/39omei . Accessed https://www.gbif.org 12 September, 2022. Public Health Information Network Vocabulary Access Distribution System (PHIN VADS). US Edition SNOMED CT 1 September 2020. Value Set Name 'Microoganism', OID 2.16.840.1.114222.4.11.1009 (v12). URL: https://phinvads.cdc.gov","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"matching-score-for-microorganisms","dir":"Reference","previous_headings":"","what":"Matching Score for Microorganisms","title":"Transform Input to a Microorganism Code — as.mo","text":"ambiguous user input .mo() mo_* functions, returned results chosen based matching score using mo_matching_score(). matching score \\(m\\), calculated : : x user input; n taxonomic name (genus, species, subspecies); ln length n; lev Levenshtein distance function (counting insertion 1, deletion substitution 2) needed change x n; pn human pathogenic prevalence group n, described ; kn taxonomic kingdom n, set Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, others = 5. grouping human pathogenic prevalence (\\(p\\)) based experience several microbiological laboratories Netherlands conjunction international reports pathogen prevalence: Group 1 (prevalent microorganisms) consists microorganisms taxonomic class Gammaproteobacteria taxonomic genus Enterococcus, Staphylococcus Streptococcus. group consequently contains common Gram-negative bacteria, Pseudomonas Legionella species within order Enterobacterales. Group 2 consists microorganisms taxonomic phylum Proteobacteria, Firmicutes, Actinobacteria Sarcomastigophora, taxonomic genus Absidia, Acanthamoeba, Acholeplasma, Acremonium, Actinotignum, Aedes, Alistipes, Alloprevotella, Alternaria, Amoeba, Anaerosalibacter, Ancylostoma, Angiostrongylus, Anisakis, Anopheles, Apophysomyces, Arachnia, Aspergillus, Aureobasidium, Bacteroides, Basidiobolus, Beauveria, Bergeyella, Blastocystis, Blastomyces, Borrelia, Brachyspira, Branhamella, Butyricimonas, Candida, Capillaria, Capnocytophaga, Catabacter, Cetobacterium, Chaetomium, Chlamydia, Chlamydophila, Chryseobacterium, Chrysonilia, Cladophialophora, Cladosporium, Conidiobolus, Contracaecum, Cordylobia, Cryptococcus, Curvularia, Deinococcus, Demodex, Dermatobia, Dientamoeba, Diphyllobothrium, Dirofilaria, Dysgonomonas, Echinostoma, Elizabethkingia, Empedobacter, Entamoeba, Enterobius, Exophiala, Exserohilum, Fasciola, Flavobacterium, Fonsecaea, Fusarium, Fusobacterium, Giardia, Haloarcula, Halobacterium, Halococcus, Hendersonula, Heterophyes, Histomonas, Histoplasma, Hymenolepis, Hypomyces, Hysterothylacium, Leishmania, Lelliottia, Leptosphaeria, Leptotrichia, Lucilia, Lumbricus, Malassezia, Malbranchea, Metagonimus, Meyerozyma, Microsporidium, Microsporum, Mortierella, Mucor, Mycocentrospora, Mycoplasma, Myroides, Necator, Nectria, Ochroconis, Odoribacter, Oesophagostomum, Oidiodendron, Opisthorchis, Ornithobacterium, Parabacteroides, Pediculus, Pedobacter, Phlebotomus, Phocaeicola, Phocanema, Phoma, Pichia, Piedraia, Pithomyces, Pityrosporum, Pneumocystis, Porphyromonas, Prevotella, Pseudallescheria, Pseudoterranova, Pulex, Rhizomucor, Rhizopus, Rhodotorula, Riemerella, Saccharomyces, Sarcoptes, Scolecobasidium, Scopulariopsis, Scytalidium, Sphingobacterium, Spirometra, Spiroplasma, Sporobolomyces, Stachybotrys, Streptobacillus, Strongyloides, Syngamus, Taenia, Tannerella, Tenacibaculum, Terrimonas, Toxocara, Treponema, Trichinella, Trichobilharzia, Trichoderma, Trichomonas, Trichophyton, Trichosporon, Trichostrongylus, Trichuris, Tritirachium, Trombicula, Trypanosoma, Tunga, Ureaplasma, Victivallis, Wautersiella, Weeksella Wuchereria. Group 3 consists microorganisms. characters \\(x\\) \\(n\\) ignored -Z, -z, 0-9, spaces parentheses. matches sorted descending matching score user input values, top match returned. lead effect e.g., \"E. coli\" return microbial ID Escherichia coli (\\(m = 0.688\\), highly prevalent microorganism found humans) Entamoeba coli (\\(m = 0.119\\), less prevalent microorganism humans), although latter alphabetically come first.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Transform Input to a Microorganism Code — as.mo","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/as.mo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transform Input to a Microorganism Code — as.mo","text":"","code":"# \\donttest{ # These examples all return \"B_STPHY_AURS\", the ID of S. aureus: as.mo(c( \"sau\", # WHONET code \"stau\", \"STAU\", \"staaur\", \"S. aureus\", \"S aureus\", \"Sthafilokkockus aureus\", # handles incorrect spelling \"Staphylococcus aureus (MRSA)\", \"MRSA\", # Methicillin Resistant S. aureus \"VISA\", # Vancomycin Intermediate S. aureus \"VRSA\", # Vancomycin Resistant S. aureus 115329001 # SNOMED CT code )) #> Class #> [1] B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS #> [6] B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS #> [11] B_STPHY_AURS B_STPHY_AURS # Dyslexia is no problem - these all work: as.mo(c( \"Ureaplasma urealyticum\", \"Ureaplasma urealyticus\", \"Ureaplasmium urealytica\", \"Ureaplazma urealitycium\" )) #> Class #> [1] B_URPLS_URLY B_URPLS_URLY B_URPLS_URLY B_URPLS_URLY as.mo(\"Streptococcus group A\") #> Class #> [1] B_STRPT_GRPA as.mo(\"S. epidermidis\") # will remain species: B_STPHY_EPDR #> Class #> [1] B_STPHY_EPDR as.mo(\"S. epidermidis\", Becker = TRUE) # will not remain species: B_STPHY_CONS #> Class #> [1] B_STPHY_CONS as.mo(\"S. pyogenes\") # will remain species: B_STRPT_PYGN #> Class #> [1] B_STRPT_PYGN as.mo(\"S. pyogenes\", Lancefield = TRUE) # will not remain species: B_STRPT_GRPA #> Class #> [1] B_STRPT_GRPA # All mo_* functions use as.mo() internally too (see ?mo_property): mo_genus(\"E. coli\") #> [1] \"Escherichia\" mo_gramstain(\"ESCO\") #> [1] \"Gram-negative\" mo_is_intrinsic_resistant(\"ESCCOL\", ab = \"vanco\") #> ℹ Determining intrinsic resistance based on 'EUCAST Expert Rules' and #> 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3 (2021). This note #> will be shown once per session. #> [1] TRUE # }"},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":null,"dir":"Reference","previous_headings":"","what":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"Interpret minimum inhibitory concentration (MIC) values disk diffusion diameters according EUCAST CLSI, clean existing R/SI values. transforms input new class rsi, ordered factor levels S < < R.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"","code":"as.rsi(x, ...) NA_rsi_ is.rsi(x) is.rsi.eligible(x, threshold = 0.05) # S3 method for mic as.rsi( x, mo = NULL, ab = deparse(substitute(x)), guideline = \"EUCAST\", uti = FALSE, conserve_capped_values = FALSE, add_intrinsic_resistance = FALSE, reference_data = AMR::rsi_translation, ... ) # S3 method for disk as.rsi( x, mo = NULL, ab = deparse(substitute(x)), guideline = \"EUCAST\", uti = FALSE, add_intrinsic_resistance = FALSE, reference_data = AMR::rsi_translation, ... ) # S3 method for data.frame as.rsi( x, ..., col_mo = NULL, guideline = \"EUCAST\", uti = NULL, conserve_capped_values = FALSE, add_intrinsic_resistance = FALSE, reference_data = AMR::rsi_translation ) rsi_interpretation_history(clean = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"object class rsi (inherits ordered, factor) length 1.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"x vector values (class mic: MIC values mg/L, class disk: disk diffusion radius millimetres) ... using data.frame: names columns apply .rsi() (supports tidy selection column1:column4). Otherwise: arguments passed methods. threshold maximum fraction invalid antimicrobial interpretations x, see Examples mo (vector ) text can coerced valid microorganism codes .mo(), can left empty determine automatically ab (vector ) text can coerced valid antimicrobial code .ab() guideline defaults EUCAST 2022 (latest implemented EUCAST guideline rsi_translation data set), supports EUCAST (2011-2022) CLSI (2011-2022), see Details uti (Urinary Tract Infection) vector logicals (TRUE FALSE) specify whether UTI specific interpretation guideline chosen. using .rsi() data.frame, can also column containing logicals left blank, data set searched column 'specimen', rows within column containing 'urin' ('urine', 'urina') regarded isolates UTI. See Examples. conserve_capped_values logical indicate MIC values starting \">\" (\">=\") must always return \"R\" , MIC values starting \"<\" (\"<=\") must always return \"S\" add_intrinsic_resistance (useful using EUCAST guideline) logical indicate whether intrinsic antibiotic resistance must also considered applicable bug-drug combinations, meaning e.g. ampicillin always return \"R\" Klebsiella species. Determination based intrinsic_resistant data set, based 'EUCAST Expert Rules' 'EUCAST Intrinsic Resistance Unusual Phenotypes' v3.3 (2021). reference_data data.frame used interpretation, defaults rsi_translation data set. Changing argument allows using interpretation guidelines. argument must contain data set equal structure rsi_translation data set (column names column types). Please note guideline argument ignored reference_data manually set. col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). clean logical indicate whether previously stored results forgotten returning 'logbook' results","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"Ordered factor new class ","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"NA_rsi_ missing value new class, analogous e.g. base R's NA_character_.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"how-it-works","dir":"Reference","previous_headings":"","what":"How it Works","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":".rsi() function works four ways: cleaning raw / untransformed data. data cleaned contain values S, R try best determine intelligence. example, mixed values R/SI interpretations MIC values \"<0.25; S\" coerced \"S\". Combined interpretations multiple test methods (seen laboratory records) \"S; S\" coerced \"S\", value like \"S; \" return NA warning input unclear. interpreting minimum inhibitory concentration (MIC) values according EUCAST CLSI. must clean MIC values first using .mic(), also gives columns new data class mic. Also, sure column microorganism names codes. found automatically, can set manually using mo argument. Using dplyr, R/SI interpretation can done easily either: Operators like \"<=\" stripped interpretation. using conserve_capped_values = TRUE, MIC value e.g. \">2\" always return \"R\", even breakpoint according chosen guideline \">=4\". prevent capped values raw laboratory data treated conservatively. default behaviour (conserve_capped_values = FALSE) considers \">2\" lower \">=4\" might case return \"S\" \"\". interpreting disk diffusion diameters according EUCAST CLSI. must clean disk zones first using .disk(), also gives columns new data class disk. Also, sure column microorganism names codes. found automatically, can set manually using mo argument. Using dplyr, R/SI interpretation can done easily either: interpreting complete data set, automatic determination MIC values, disk diffusion diameters, microorganism names codes, antimicrobial test results. done simply running .rsi(your_data). points 2, 3 4: Use rsi_interpretation_history() retrieve data.frame (tibble tibble package installed) results last .rsi() call.","code":"your_data %>% mutate_if(is.mic, as.rsi) # until dplyr 1.0.0 your_data %>% mutate(across(where(is.mic), as.rsi)) # since dplyr 1.0.0 your_data %>% mutate_if(is.disk, as.rsi) # until dplyr 1.0.0 your_data %>% mutate(across(where(is.disk), as.rsi)) # since dplyr 1.0.0"},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"supported-guidelines","dir":"Reference","previous_headings":"","what":"Supported Guidelines","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"interpreting MIC values well disk diffusion diameters, currently implemented guidelines EUCAST (2011-2022) CLSI (2011-2022). Thus, guideline argument must set e.g., \"EUCAST 2022\" \"CLSI 2022\". simply using \"EUCAST\" (default) \"CLSI\" input, latest included version guideline automatically selected. can set data set using reference_data argument. guideline argument ignored.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"after-interpretation","dir":"Reference","previous_headings":"","what":"After Interpretation","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"using .rsi(), can use eucast_rules() defined EUCAST (1) apply inferred susceptibility resistance based results antimicrobials (2) apply intrinsic resistance based taxonomic properties microorganism.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"machine-readable-interpretation-guidelines","dir":"Reference","previous_headings":"","what":"Machine-Readable Interpretation Guidelines","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"repository package contains machine-readable version guidelines. CSV file consisting 20,369 rows 11 columns. file machine-readable, since contains one row every unique combination test method (MIC disk diffusion), antimicrobial agent microorganism. allows easy implementation rules laboratory information systems (LIS). Note contains interpretation guidelines humans - interpretation guidelines CLSI animals removed.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"other","dir":"Reference","previous_headings":"","what":"Other","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"function .rsi() detects input contains class . input data.frame, iterates columns returns logical vector. function .rsi.eligible() returns TRUE columns contains 5% invalid antimicrobial interpretations (S //R), FALSE otherwise. threshold 5% can set threshold argument. input data.frame, iterates columns returns logical vector.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"interpretation-of-r-and-s-i","dir":"Reference","previous_headings":"","what":"Interpretation of R and S/I","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"2019, European Committee Antimicrobial Susceptibility Testing (EUCAST) decided change definitions susceptibility testing categories R S/shown (https://www.eucast.org/newsiandr/). R = Resistant microorganism categorised Resistant high likelihood therapeutic failure even increased exposure. Exposure function mode administration, dose, dosing interval, infusion time, well distribution excretion antimicrobial agent influence infecting organism site infection. S = Susceptible microorganism categorised Susceptible, standard dosing regimen, high likelihood therapeutic success using standard dosing regimen agent. = Susceptible, Increased exposure microorganism categorised Susceptible, Increased exposure high likelihood therapeutic success exposure agent increased adjusting dosing regimen concentration site infection. AMR package honours (new) insight. Use susceptibility() (equal proportion_SI()) determine antimicrobial susceptibility count_susceptible() (equal count_SI()) count susceptible isolates.","code":""},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/as.rsi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi","text":"","code":"example_isolates #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF summary(example_isolates) # see all R/SI results at a glance #> date patient age gender #> Min. :2002-01-02 Length:2000 Min. : 0.00 Length:2000 #> 1st Qu.:2005-07-31 Class :character 1st Qu.:63.00 Class :character #> Median :2009-07-31 Mode :character Median :74.00 Mode :character #> Mean :2009-11-20 Mean :70.69 #> 3rd Qu.:2014-05-30 3rd Qu.:82.00 #> Max. :2017-12-28 Max. :97.00 #> ward mo PEN #> Length:2000 Class :mo Class:rsi #> Class :character :0 %R :73.7% (n=1201) #> Mode :character Unique:90 %SI :26.3% (n=428) #> #1 :B_ESCHR_COLI - %S :25.6% (n=417) #> #2 :B_STPHY_CONS - %I : 0.7% (n=11) #> #3 :B_STPHY_AURS #> OXA FLC AMX #> Class:rsi Class:rsi Class:rsi #> %R :31.2% (n=114) %R :29.5% (n=278) %R :59.6% (n=804) #> %SI :68.8% (n=251) %SI :70.5% (n=665) %SI :40.4% (n=546) #> - %S :68.8% (n=251) - %S :70.5% (n=665) - %S :40.2% (n=543) #> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.2% (n=3) #> #> AMC AMP TZP #> Class:rsi Class:rsi Class:rsi #> %R :23.7% (n=446) %R :59.6% (n=804) %R :12.6% (n=126) #> %SI :76.3% (n=1433) %SI :40.4% (n=546) %SI :87.4% (n=875) #> - %S :71.4% (n=1342) - %S :40.2% (n=543) - %S :86.1% (n=862) #> - %I : 4.8% (n=91) - %I : 0.2% (n=3) - %I : 1.3% (n=13) #> #> CZO FEP CXM #> Class:rsi Class:rsi Class:rsi #> %R :44.6% (n=199) %R :14.2% (n=103) %R :26.3% (n=470) #> %SI :55.4% (n=247) %SI :85.8% (n=621) %SI :73.7% (n=1319) #> - %S :54.9% (n=245) - %S :85.6% (n=620) - %S :72.5% (n=1297) #> - %I : 0.4% (n=2) - %I : 0.1% (n=1) - %I : 1.2% (n=22) #> #> FOX CTX CAZ #> Class:rsi Class:rsi Class:rsi #> %R :27.4% (n=224) %R :15.5% (n=146) %R :66.5% (n=1204) #> %SI :72.6% (n=594) %SI :84.5% (n=797) %SI :33.5% (n=607) #> - %S :71.6% (n=586) - %S :84.4% (n=796) - %S :33.5% (n=607) #> - %I : 1.0% (n=8) - %I : 0.1% (n=1) - %I : 0.0% (n=0) #> #> CRO GEN TOB #> Class:rsi Class:rsi Class:rsi #> %R :15.5% (n=146) %R :24.6% (n=456) %R :34.4% (n=465) #> %SI :84.5% (n=797) %SI :75.4% (n=1399) %SI :65.6% (n=886) #> - %S :84.4% (n=796) - %S :74.0% (n=1372) - %S :65.1% (n=879) #> - %I : 0.1% (n=1) - %I : 1.5% (n=27) - %I : 0.5% (n=7) #> #> AMK KAN TMP #> Class:rsi Class:rsi Class:rsi #> %R :63.7% (n=441) %R :100.0% (n=471) %R :38.1% (n=571) #> %SI :36.3% (n=251) %SI : 0.0% (n=0) %SI :61.9% (n=928) #> - %S :36.3% (n=251) - %S : 0.0% (n=0) - %S :61.2% (n=918) #> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.7% (n=10) #> #> SXT NIT FOS #> Class:rsi Class:rsi Class:rsi #> %R :20.5% (n=361) %R :17.1% (n=127) %R :42.2% (n=148) #> %SI :79.5% (n=1398) %SI :82.9% (n=616) %SI :57.8% (n=203) #> - %S :79.1% (n=1392) - %S :76.0% (n=565) - %S :57.8% (n=203) #> - %I : 0.3% (n=6) - %I : 6.9% (n=51) - %I : 0.0% (n=0) #> #> LNZ CIP MFX #> Class:rsi Class:rsi Class:rsi #> %R :69.3% (n=709) %R :16.2% (n=228) %R :33.6% (n=71) #> %SI :30.7% (n=314) %SI :83.8% (n=1181) %SI :66.4% (n=140) #> - %S :30.7% (n=314) - %S :78.9% (n=1112) - %S :64.5% (n=136) #> - %I : 0.0% (n=0) - %I : 4.9% (n=69) - %I : 1.9% (n=4) #> #> VAN TEC TCY #> Class:rsi Class:rsi Class:rsi #> %R :38.3% (n=712) %R :75.7% (n=739) %R :29.8% (n=357) #> %SI :61.7% (n=1149) %SI :24.3% (n=237) %SI :70.3% (n=843) #> - %S :61.7% (n=1149) - %S :24.3% (n=237) - %S :68.3% (n=820) #> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 1.9% (n=23) #> #> TGC DOX ERY #> Class:rsi Class:rsi Class:rsi #> %R :12.7% (n=101) %R :27.7% (n=315) %R :57.2% (n=1084) #> %SI :87.3% (n=697) %SI :72.3% (n=821) %SI :42.8% (n=810) #> - %S :87.3% (n=697) - %S :71.7% (n=814) - %S :42.3% (n=801) #> - %I : 0.0% (n=0) - %I : 0.6% (n=7) - %I : 0.5% (n=9) #> #> CLI AZM IPM #> Class:rsi Class:rsi Class:rsi #> %R :61.2% (n=930) %R :57.2% (n=1084) %R : 6.2% (n=55) #> %SI :38.8% (n=590) %SI :42.8% (n=810) %SI :93.8% (n=834) #> - %S :38.6% (n=586) - %S :42.3% (n=801) - %S :92.7% (n=824) #> - %I : 0.3% (n=4) - %I : 0.5% (n=9) - %I : 1.1% (n=10) #> #> MEM MTR CHL #> Class:rsi Class:rsi Class:rsi #> %R : 5.9% (n=49) %R :14.7% (n=5) %R :21.4% (n=33) #> %SI :94.1% (n=780) %SI :85.3% (n=29) %SI :78.6% (n=121) #> - %S :94.1% (n=780) - %S :85.3% (n=29) - %S :78.6% (n=121) #> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.0% (n=0) #> #> COL MUP RIF #> Class:rsi Class:rsi Class:rsi #> %R :81.2% (n=1331) %R : 5.9% (n=16) %R :69.6% (n=698) #> %SI :18.8% (n=309) %SI :94.1% (n=254) %SI :30.4% (n=305) #> - %S :18.8% (n=309) - %S :93.0% (n=251) - %S :30.2% (n=303) #> - %I : 0.0% (n=0) - %I : 1.1% (n=3) - %I : 0.2% (n=2) #> # For INTERPRETING disk diffusion and MIC values ----------------------- # a whole data set, even with combined MIC values and disk zones df <- data.frame( microorganism = \"Escherichia coli\", AMP = as.mic(8), CIP = as.mic(0.256), GEN = as.disk(18), TOB = as.disk(16), ERY = \"R\" ) as.rsi(df) #> ℹ Using column 'microorganism' as input for `col_mo`. #> => Interpreting MIC values of column 'AMP' (ampicillin) according to EUCAST #> 2022... #> OK. #> => Interpreting MIC values of column 'CIP' (ciprofloxacin) according to #> EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of column 'GEN' (gentamicin) according #> to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of column 'TOB' (tobramycin) according #> to EUCAST 2022... #> OK. #> => Assigning class to already clean column 'ERY' (erythromycin)... #> OK. #> microorganism AMP CIP GEN TOB ERY #> 1 Escherichia coli S I S S R # return a 'logbook' about the results: rsi_interpretation_history() #> # A tibble: 50 × 13 #> datetime index ab_input ab_consid…¹ mo_in…² mo_conside…³ guide…⁴ #> #> 1 2022-10-14 11:06:17 1 ampicillin AMP Strep … B_STRPT_PNMN EUCAST… #> 2 2022-10-14 11:06:18 1 AMP AMP Escher… B_ESCHR_COLI EUCAST… #> 3 2022-10-14 11:06:18 1 CIP CIP Escher… B_ESCHR_COLI EUCAST… #> 4 2022-10-14 11:06:18 1 GEN GEN Escher… B_ESCHR_COLI EUCAST… #> 5 2022-10-14 11:06:18 1 TOB TOB Escher… B_ESCHR_COLI EUCAST… #> 6 2022-10-14 11:06:18 1 AMX AMX B_STRP… B_STRPT_PNMN EUCAST… #> 7 2022-10-14 11:06:19 1 AMX AMX B_STRP… B_STRPT_PNMN EUCAST… #> 8 2022-10-14 11:06:19 2 AMX AMX B_STRP… B_STRPT_PNMN EUCAST… #> 9 2022-10-14 11:06:19 3 AMX AMX B_STRP… B_STRPT_PNMN EUCAST… #> 10 2022-10-14 11:06:19 4 AMX AMX B_STRP… B_STRPT_PNMN EUCAST… #> # … with 40 more rows, 6 more variables: ref_table , method , #> # breakpoint_S , breakpoint_R , input , interpretation , #> # and abbreviated variable names ¹​ab_considered, ²​mo_input, ³​mo_considered, #> # ⁴​guideline # for single values as.rsi( x = as.mic(2), mo = as.mo(\"S. pneumoniae\"), ab = \"AMP\", guideline = \"EUCAST\" ) #> => Interpreting MIC values of 'AMP' (ampicillin) according to EUCAST #> 2022... #> OK. #> Class #> [1] R as.rsi( x = as.disk(18), mo = \"Strep pneu\", # `mo` will be coerced with as.mo() ab = \"ampicillin\", # and `ab` with as.ab() guideline = \"EUCAST\" ) #> => Interpreting disk diffusion zones of 'ampicillin' (AMP, ampicillin) #> according to EUCAST 2022... #> OK. #> Class #> [1] R # \\donttest{ # the dplyr way if (require(\"dplyr\")) { df %>% mutate_if(is.mic, as.rsi) df %>% mutate_if(function(x) is.mic(x) | is.disk(x), as.rsi) df %>% mutate(across(where(is.mic), as.rsi)) df %>% mutate_at(vars(AMP:TOB), as.rsi) df %>% mutate(across(AMP:TOB, as.rsi)) df %>% mutate_at(vars(AMP:TOB), as.rsi, mo = .$microorganism) # to include information about urinary tract infections (UTI) data.frame( mo = \"E. coli\", NIT = c(\"<= 2\", 32), from_the_bladder = c(TRUE, FALSE) ) %>% as.rsi(uti = \"from_the_bladder\") data.frame( mo = \"E. coli\", NIT = c(\"<= 2\", 32), specimen = c(\"urine\", \"blood\") ) %>% as.rsi() # automatically determines urine isolates df %>% mutate_at(vars(AMP:TOB), as.rsi, mo = \"E. coli\", uti = TRUE) } #> => Interpreting MIC values of 'AMP' (ampicillin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column #> 'microorganism' according to EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) according to EUCAST #> 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) according to EUCAST #> 2022... #> OK. #> => Interpreting disk diffusion zones of 'GEN' (gentamicin) according to #> EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'TOB' (tobramycin) according to #> EUCAST 2022... #> OK. #> ℹ Using column 'mo' as input for `col_mo`. #> => Interpreting MIC values of column 'NIT' (nitrofurantoin) according to #> EUCAST 2022... #> OK. #> ℹ Assuming value \"urine\" in column 'specimen' reflects a urinary tract #> infection. #> Use `as.rsi(uti = FALSE)` to prevent this. #> ℹ Using column 'mo' as input for `col_mo`. #> => Interpreting MIC values of column 'NIT' (nitrofurantoin) according to #> EUCAST 2022... #> OK. #> => Interpreting MIC values of 'AMP' (ampicillin) according to EUCAST #> 2022... #> OK. #> => Interpreting MIC values of 'CIP' (ciprofloxacin) according to EUCAST #> 2022... #> OK. #> => Interpreting disk diffusion zones of 'GEN' (gentamicin) according to #> EUCAST 2022... #> OK. #> => Interpreting disk diffusion zones of 'TOB' (tobramycin) according to #> EUCAST 2022... #> OK. #> microorganism AMP CIP GEN TOB ERY #> 1 Escherichia coli S I S S R # For CLEANING existing R/SI values ------------------------------------ as.rsi(c(\"S\", \"I\", \"R\", \"A\", \"B\", \"C\")) #> Warning: in `as.rsi()`: 3 results in column '24' truncated (50%) that were invalid #> antimicrobial interpretations: \"A\", \"B\" and \"C\" #> Class #> [1] S I R as.rsi(\"<= 0.002; S\") # will return \"S\" #> Class #> [1] S rsi_data <- as.rsi(c(rep(\"S\", 474), rep(\"I\", 36), rep(\"R\", 370))) is.rsi(rsi_data) #> [1] TRUE plot(rsi_data) # for percentages barplot(rsi_data) # for frequencies # the dplyr way if (require(\"dplyr\")) { example_isolates %>% mutate_at(vars(PEN:RIF), as.rsi) # same: example_isolates %>% as.rsi(PEN:RIF) # fastest way to transform all columns with already valid AMR results to class `rsi`: example_isolates %>% mutate_if(is.rsi.eligible, as.rsi) # since dplyr 1.0.0, this can also be: # example_isolates %>% # mutate(across(where(is.rsi.eligible), as.rsi)) } #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF # }"},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":null,"dir":"Reference","previous_headings":"","what":"Get ATC Properties from WHOCC Website — atc_online_property","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"Gets data WHOCC website determine properties Anatomical Therapeutic Chemical (ATC) (e.g. antibiotic), name, defined daily dose (DDD) standard unit.","code":""},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"","code":"atc_online_property( atc_code, property, administration = \"O\", url = \"https://www.whocc.no/atc_ddd_index/?code=%s&showdescription=no\", url_vet = \"https://www.whocc.no/atcvet/atcvet_index/?code=%s&showdescription=no\" ) atc_online_groups(atc_code, ...) atc_online_ddd(atc_code, ...) atc_online_ddd_units(atc_code, ...)"},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"https://www.whocc./atc_ddd_alterations__cumulative/ddd_alterations/abbrevations/","code":""},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"atc_code character (vector) ATC code(s) antibiotics, coerced .ab() ab_atc() internally valid ATC code property property ATC code. Valid values \"ATC\", \"Name\", \"DDD\", \"U\" (\"unit\"), \"Adm.R\", \"Note\" groups. last option, hierarchical groups ATC code returned, see Examples. administration type administration using property = \"Adm.R\", see Details url url website WHOCC. sign %s can used placeholder ATC codes. url_vet url website WHOCC veterinary medicine. sign %s can used placeholder ATC_vet codes (start \"Q\"). ... arguments pass atc_property","code":""},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"Options argument administration: \"Implant\" = Implant \"Inhal\" = Inhalation \"Instill\" = Instillation \"N\" = nasal \"O\" = oral \"P\" = parenteral \"R\" = rectal \"SL\" = sublingual/buccal \"TD\" = transdermal \"V\" = vaginal Abbreviations return values using property = \"U\" (unit): \"g\" = gram \"mg\" = milligram \"mcg\" = microgram \"U\" = unit \"TU\" = thousand units \"MU\" = million units \"mmol\" = millimole \"ml\" = millilitre (e.g. eyedrops) N.B. function requires internet connection works following packages installed: curl, rvest, xml2.","code":""},{"path":"https://msberends.github.io/AMR/reference/atc_online.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get ATC Properties from WHOCC Website — atc_online_property","text":"","code":"# \\donttest{ if (requireNamespace(\"curl\") && requireNamespace(\"rvest\") && requireNamespace(\"xml2\")) { # oral DDD (Defined Daily Dose) of amoxicillin atc_online_property(\"J01CA04\", \"DDD\", \"O\") atc_online_ddd(ab_atc(\"amox\")) # parenteral DDD (Defined Daily Dose) of amoxicillin atc_online_property(\"J01CA04\", \"DDD\", \"P\") atc_online_property(\"J01CA04\", property = \"groups\") # search hierarchical groups of amoxicillin } #> Loading required namespace: rvest #> [1] \"ANTIINFECTIVES FOR SYSTEMIC USE\" #> [2] \"ANTIBACTERIALS FOR SYSTEMIC USE\" #> [3] \"BETA-LACTAM ANTIBACTERIALS, PENICILLINS\" #> [4] \"Penicillins with extended spectrum\" # }"},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":null,"dir":"Reference","previous_headings":"","what":"Check Availability of Columns — availability","title":"Check Availability of Columns — availability","text":"Easy check data availability columns data set. makes easy get idea antimicrobial combinations can used calculation e.g. susceptibility() resistance().","code":""},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check Availability of Columns — availability","text":"","code":"availability(tbl, width = NULL)"},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check Availability of Columns — availability","text":"tbl data.frame list width number characters present visual availability, defaults filling width console","code":""},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check Availability of Columns — availability","text":"data.frame column names tbl row names","code":""},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check Availability of Columns — availability","text":"function returns data.frame columns \"resistant\" \"visual_resistance\". values columns calculated resistance().","code":""},{"path":"https://msberends.github.io/AMR/reference/availability.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check Availability of Columns — availability","text":"","code":"availability(example_isolates) #> count available visual_availabilty resistant visual_resistance #> date 2000 100.0% |####################| #> patient 2000 100.0% |####################| #> age 2000 100.0% |####################| #> gender 2000 100.0% |####################| #> ward 2000 100.0% |####################| #> mo 2000 100.0% |####################| #> PEN 1629 81.5% |################----| 73.7% |##############------| #> OXA 365 18.3% |###-----------------| 31.2% |######--------------| #> FLC 943 47.2% |#########-----------| 29.5% |#####---------------| #> AMX 1350 67.5% |#############-------| 59.6% |###########---------| #> AMC 1879 94.0% |##################--| 23.7% |####----------------| #> AMP 1350 67.5% |#############-------| 59.6% |###########---------| #> TZP 1001 50.0% |##########----------| 12.6% |##------------------| #> CZO 446 22.3% |####----------------| 44.6% |########------------| #> FEP 724 36.2% |#######-------------| 14.2% |##------------------| #> CXM 1789 89.5% |#################---| 26.3% |#####---------------| #> FOX 818 40.9% |########------------| 27.4% |#####---------------| #> CTX 943 47.2% |#########-----------| 15.5% |###-----------------| #> CAZ 1811 90.6% |##################--| 66.5% |#############-------| #> CRO 943 47.2% |#########-----------| 15.5% |###-----------------| #> GEN 1855 92.8% |##################--| 24.6% |####----------------| #> TOB 1351 67.6% |#############-------| 34.4% |######--------------| #> AMK 692 34.6% |######--------------| 63.7% |############--------| #> KAN 471 23.6% |####----------------| 100.0% |####################| #> TMP 1499 75.0% |###############-----| 38.1% |#######-------------| #> SXT 1759 88.0% |#################---| 20.5% |####----------------| #> NIT 743 37.2% |#######-------------| 17.1% |###-----------------| #> FOS 351 17.6% |###-----------------| 42.2% |########------------| #> LNZ 1023 51.2% |##########----------| 69.3% |#############-------| #> CIP 1409 70.5% |#############-------| 16.2% |###-----------------| #> MFX 211 10.6% |##------------------| 33.6% |######--------------| #> VAN 1861 93.1% |##################--| 38.3% |#######-------------| #> TEC 976 48.8% |#########-----------| 75.7% |###############-----| #> TCY 1200 60.0% |###########---------| 29.8% |#####---------------| #> TGC 798 39.9% |########------------| 12.7% |##------------------| #> DOX 1136 56.8% |###########---------| 27.7% |#####---------------| #> ERY 1894 94.7% |##################--| 57.2% |###########---------| #> CLI 1520 76.0% |###############-----| 61.2% |############--------| #> AZM 1894 94.7% |##################--| 57.2% |###########---------| #> IPM 889 44.5% |########------------| 6.2% |#-------------------| #> MEM 829 41.5% |########------------| 5.9% |#-------------------| #> MTR 34 1.7% |--------------------| 14.7% |##------------------| #> CHL 154 7.7% |#-------------------| 21.4% |####----------------| #> COL 1640 82.0% |################----| 81.2% |################----| #> MUP 270 13.5% |##------------------| 5.9% |#-------------------| #> RIF 1003 50.2% |##########----------| 69.6% |#############-------| # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% filter(mo == as.mo(\"Escherichia coli\")) %>% select_if(is.rsi) %>% availability() } #> count available visual_availabilty resistant visual_resistance #> PEN 467 100.0% |######################| 100.0% |######################| #> OXA 0 0.0% |----------------------| #> FLC 0 0.0% |----------------------| #> AMX 392 83.9% |##################----| 50.0% |###########-----------| #> AMC 467 100.0% |######################| 13.1% |##--------------------| #> AMP 392 83.9% |##################----| 50.0% |###########-----------| #> TZP 416 89.1% |###################---| 5.5% |#---------------------| #> CZO 82 17.6% |###-------------------| 2.4% |----------------------| #> FEP 317 67.9% |##############--------| 2.8% |----------------------| #> CXM 465 99.6% |######################| 5.4% |#---------------------| #> FOX 377 80.7% |#################-----| 6.9% |#---------------------| #> CTX 459 98.3% |#####################-| 2.4% |----------------------| #> CAZ 460 98.5% |#####################-| 2.4% |----------------------| #> CRO 459 98.3% |#####################-| 2.4% |----------------------| #> GEN 460 98.5% |#####################-| 2.0% |----------------------| #> TOB 462 98.9% |#####################-| 2.6% |----------------------| #> AMK 171 36.6% |########--------------| 0.0% |----------------------| #> KAN 0 0.0% |----------------------| #> TMP 396 84.8% |##################----| 39.1% |########--------------| #> SXT 465 99.6% |######################| 31.6% |######----------------| #> NIT 458 98.1% |#####################-| 2.8% |----------------------| #> FOS 61 13.1% |##--------------------| 0.0% |----------------------| #> LNZ 467 100.0% |######################| 100.0% |######################| #> CIP 456 97.6% |#####################-| 12.5% |##--------------------| #> MFX 57 12.2% |##--------------------| 100.0% |######################| #> VAN 467 100.0% |######################| 100.0% |######################| #> TEC 467 100.0% |######################| 100.0% |######################| #> TCY 3 0.6% |----------------------| 66.7% |##############--------| #> TGC 68 14.6% |###-------------------| 0.0% |----------------------| #> DOX 0 0.0% |----------------------| #> ERY 467 100.0% |######################| 100.0% |######################| #> CLI 467 100.0% |######################| 100.0% |######################| #> AZM 467 100.0% |######################| 100.0% |######################| #> IPM 422 90.4% |###################---| 0.0% |----------------------| #> MEM 418 89.5% |###################---| 0.0% |----------------------| #> MTR 2 0.4% |----------------------| 0.0% |----------------------| #> CHL 0 0.0% |----------------------| #> COL 240 51.4% |###########-----------| 0.0% |----------------------| #> MUP 0 0.0% |----------------------| #> RIF 467 100.0% |######################| 100.0% |######################| # }"},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":null,"dir":"Reference","previous_headings":"","what":"Determine Bug-Drug Combinations — bug_drug_combinations","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"Determine antimicrobial resistance (AMR) bug-drug combinations data set least 30 (default) isolates available per species. Use format() result prettify publishable/printable format, see Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"","code":"bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname, ...) # S3 method for bug_drug_combinations format( x, translate_ab = \"name (ab, atc)\", language = get_AMR_locale(), minimum = 30, combine_SI = TRUE, combine_IR = FALSE, add_ab_group = TRUE, remove_intrinsic_resistant = FALSE, decimal.mark = getOption(\"OutDec\"), big.mark = ifelse(decimal.mark == \",\", \".\", \",\"), ... )"},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"M39 Analysis Presentation Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.","code":""},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"x data set antibiotic columns, amox, AMX AMC col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). FUN function call mo column transform microorganism codes, defaults mo_shortname() ... arguments passed FUN translate_ab character length 1 containing column names antibiotics data set language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. minimum minimum allowed number available (tested) isolates. isolate count lower minimum return NA warning. default number 30 isolates advised Clinical Laboratory Standards Institute (CLSI) best practice, see Source. combine_SI logical indicate whether values S must merged one, output consists S+vs. R (susceptible vs. resistant). used argument combine_IR, now follows redefinition EUCAST interpretation (increased exposure) 2019, see section 'Interpretation S, R' . Default TRUE. combine_IR logical indicate whether values R summed add_ab_group logical indicate group antimicrobials must included first column remove_intrinsic_resistant logical indicate rows columns 100% resistance tested antimicrobials must removed table decimal.mark character used indicate numeric decimal point. big.mark character; empty used mark every big.interval decimals (hence big) decimal point.","code":""},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"function bug_drug_combinations() returns data.frame columns \"mo\", \"ab\", \"S\", \"\", \"R\" \"total\".","code":""},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"function format() calculates resistance per bug-drug combination. Use combine_IR = FALSE (default) test R vs. S+combine_IR = TRUE test R+vs. S.","code":""},{"path":"https://msberends.github.io/AMR/reference/bug_drug_combinations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Determine Bug-Drug Combinations — bug_drug_combinations","text":"","code":"# \\donttest{ x <- bug_drug_combinations(example_isolates) #> ℹ Using column 'mo' as input for `col_mo`. head(x) #> # A tibble: 6 × 6 #> mo ab S I R total #> #> 1 (unknown species) PEN 14 0 1 15 #> 2 (unknown species) OXA 0 0 1 1 #> 3 (unknown species) FLC 0 0 0 0 #> 4 (unknown species) AMX 15 0 1 16 #> 5 (unknown species) AMC 15 0 0 15 #> 6 (unknown species) AMP 15 0 1 16 #> Use 'format()' on this result to get a publishable/printable format. format(x, translate_ab = \"name (atc)\") #> # A tibble: 39 × 12 #> Group Drug CoNS E. co…¹ E. fa…² K. pn…³ P. ae…⁴ P. mi…⁵ S. au…⁶ S. ep…⁷ #> #> 1 \"Aminogl… Amik… \"100… \" 0.0… \"100.0… \"\" \"\" \"\" \"\" \"100.0… #> 2 \"\" Gent… \" 13… \" 2.0… \"100.0… \" 10.3… \" 0.0… \" 5.9… \" 0.9… \" 21.5… #> 3 \"\" Kana… \"100… \"\" \"100.0… \"\" \"100.0… \"\" \"\" \"100.0… #> 4 \"\" Tobr… \" 78… \" 2.6… \"100.0… \" 10.3… \" 0.0… \" 5.9… \" 2.3… \" 49.4… #> 5 \"Ampheni… Chlo… \"\" \"\" \"\" \"\" \"100.0… \"\" \" 0.0… \" 3.1… #> 6 \"Antimyc… Rifa… \"\" \"100.0… \"\" \"100.0… \"100.0… \"100.0… \" 0.0… \" 2.7… #> 7 \"Beta-la… Amox… \" 93… \" 50.0… \"\" \"100.0… \"100.0… \"\" \" 93.9… \" 98.9… #> 8 \"\" Amox… \" 42… \" 13.1… \"\" \" 10.3… \"100.0… \" 2.8… \" 0.4… \" 54.5… #> 9 \"\" Ampi… \" 93… \" 50.0… \"\" \"100.0… \"100.0… \"\" \" 93.9… \" 98.9… #> 10 \"\" Benz… \" 77… \"100.0… \"\" \"100.0… \"100.0… \"100.0… \" 80.9… \" 89.4… #> # … with 29 more rows, 2 more variables: `S. hominis` , #> # `S. pneumoniae` , and abbreviated variable names ¹​`E. coli`, #> # ²​`E. faecalis`, ³​`K. pneumoniae`, ⁴​`P. aeruginosa`, ⁵​`P. mirabilis`, #> # ⁶​`S. aureus`, ⁷​`S. epidermidis` # Use FUN to change to transformation of microorganism codes bug_drug_combinations(example_isolates, FUN = mo_gramstain ) #> ℹ Using column 'mo' as input for `col_mo`. #> # A tibble: 80 × 6 #> mo ab S I R total #> * #> 1 Gram-negative PEN 17 1 726 744 #> 2 Gram-negative OXA 9 0 1 10 #> 3 Gram-negative FLC 11 0 1 12 #> 4 Gram-negative AMX 231 1 407 639 #> 5 Gram-negative AMC 473 89 175 737 #> 6 Gram-negative AMP 231 1 407 639 #> 7 Gram-negative TZP 556 11 76 643 #> 8 Gram-negative CZO 94 2 110 206 #> 9 Gram-negative FEP 470 1 14 485 #> 10 Gram-negative CXM 546 22 144 712 #> # … with 70 more rows #> Use 'format()' on this result to get a publishable/printable format. bug_drug_combinations(example_isolates, FUN = function(x) { ifelse(x == as.mo(\"Escherichia coli\"), \"E. coli\", \"Others\" ) } ) #> ℹ Using column 'mo' as input for `col_mo`. #> # A tibble: 80 × 6 #> mo ab S I R total #> * #> 1 E. coli PEN 0 0 467 467 #> 2 E. coli OXA 0 0 0 0 #> 3 E. coli FLC 0 0 0 0 #> 4 E. coli AMX 196 0 196 392 #> 5 E. coli AMC 332 74 61 467 #> 6 E. coli AMP 196 0 196 392 #> 7 E. coli TZP 388 5 23 416 #> 8 E. coli CZO 79 1 2 82 #> 9 E. coli FEP 308 0 9 317 #> 10 E. coli CXM 425 15 25 465 #> # … with 70 more rows #> Use 'format()' on this result to get a publishable/printable format. # }"},{"path":"https://msberends.github.io/AMR/reference/count.html","id":null,"dir":"Reference","previous_headings":"","what":"Count Available Isolates — count","title":"Count Available Isolates — count","text":"functions can used count resistant/susceptible microbial isolates. functions support quasiquotation pipes, can used summarise() dplyr package also support grouped variables, see Examples. count_resistant() used count resistant isolates, count_susceptible() used count susceptible isolates.","code":""},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Count Available Isolates — count","text":"","code":"count_resistant(..., only_all_tested = FALSE) count_susceptible(..., only_all_tested = FALSE) count_R(..., only_all_tested = FALSE) count_IR(..., only_all_tested = FALSE) count_I(..., only_all_tested = FALSE) count_SI(..., only_all_tested = FALSE) count_S(..., only_all_tested = FALSE) count_all(..., only_all_tested = FALSE) n_rsi(..., only_all_tested = FALSE) count_df( data, translate_ab = \"name\", language = get_AMR_locale(), combine_SI = TRUE, combine_IR = FALSE )"},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Count Available Isolates — count","text":"... one vectors (columns) antibiotic interpretations. transformed internally .rsi() needed. only_all_tested (combination therapies, .e. using one variable ...): logical indicate isolates must tested antibiotics, see section Combination Therapy data data.frame containing columns class rsi (see .rsi()) translate_ab column name antibiotics data set translate antibiotic abbreviations , using ab_property() language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. combine_SI logical indicate whether values S must merged one, output consists S+vs. R (susceptible vs. resistant). used argument combine_IR, now follows redefinition EUCAST interpretation (increased exposure) 2019, see section 'Interpretation S, R' . Default TRUE. combine_IR logical indicate whether values R must merged one, output consists S vs. +R (susceptible vs. non-susceptible). outdated, see argument combine_SI.","code":""},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Count Available Isolates — count","text":"integer","code":""},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Count Available Isolates — count","text":"functions meant count isolates. Use resistance()/susceptibility() functions calculate microbial resistance/susceptibility. function count_resistant() equal function count_R(). function count_susceptible() equal function count_SI(). function n_rsi() alias count_all(). can used count available isolates, .e. input antibiotics available result (S, R). use equal n_distinct(). function equal count_susceptible(...) + count_resistant(...). function count_df() takes variable data rsi class (created .rsi()) counts number S's, 's R's. also supports grouped variables. function rsi_df() works exactly like count_df(), adds percentage S, R.","code":""},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"interpretation-of-r-and-s-i","dir":"Reference","previous_headings":"","what":"Interpretation of R and S/I","title":"Count Available Isolates — count","text":"2019, European Committee Antimicrobial Susceptibility Testing (EUCAST) decided change definitions susceptibility testing categories R S/shown (https://www.eucast.org/newsiandr/). R = Resistant microorganism categorised Resistant high likelihood therapeutic failure even increased exposure. Exposure function mode administration, dose, dosing interval, infusion time, well distribution excretion antimicrobial agent influence infecting organism site infection. S = Susceptible microorganism categorised Susceptible, standard dosing regimen, high likelihood therapeutic success using standard dosing regimen agent. = Susceptible, Increased exposure microorganism categorised Susceptible, Increased exposure high likelihood therapeutic success exposure agent increased adjusting dosing regimen concentration site infection. AMR package honours (new) insight. Use susceptibility() (equal proportion_SI()) determine antimicrobial susceptibility count_susceptible() (equal count_SI()) count susceptible isolates.","code":""},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"combination-therapy","dir":"Reference","previous_headings":"","what":"Combination Therapy","title":"Count Available Isolates — count","text":"using one variable ... (= combination therapy), use only_all_tested count isolates tested antibiotics/variables test . See example two antibiotics, Drug Drug B, susceptibility() works calculate %SI: Please note , combination therapies, only_all_tested = TRUE applies : , combination therapies, only_all_tested = FALSE applies : Using only_all_tested impact using one antibiotic input.","code":"-------------------------------------------------------------------- only_all_tested = FALSE only_all_tested = TRUE ----------------------- ----------------------- Drug A Drug B include as include as include as include as numerator denominator numerator denominator -------- -------- ---------- ----------- ---------- ----------- S or I S or I X X X X R S or I X X X X S or I X X - - S or I R X X X X R R - X - X R - - - - S or I X X - - R - - - - - - - - -------------------------------------------------------------------- count_S() + count_I() + count_R() = count_all() proportion_S() + proportion_I() + proportion_R() = 1 count_S() + count_I() + count_R() >= count_all() proportion_S() + proportion_I() + proportion_R() >= 1"},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/count.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Count Available Isolates — count","text":"","code":"# example_isolates is a data set available in the AMR package. # run ?example_isolates for more info. # base R ------------------------------------------------------------ count_resistant(example_isolates$AMX) # counts \"R\" #> [1] 804 count_susceptible(example_isolates$AMX) # counts \"S\" and \"I\" #> [1] 546 count_all(example_isolates$AMX) # counts \"S\", \"I\" and \"R\" #> [1] 1350 # be more specific count_S(example_isolates$AMX) #> Using `count_S()` is discouraged; use `count_susceptible()` instead to also #> consider \"I\" being susceptible. This note will be shown once for this #> session. #> [1] 543 count_SI(example_isolates$AMX) #> [1] 546 count_I(example_isolates$AMX) #> [1] 3 count_IR(example_isolates$AMX) #> Using `count_IR()` is discouraged; use `count_resistant()` instead to not #> consider \"I\" being resistant. This note will be shown once for this #> session. #> [1] 807 count_R(example_isolates$AMX) #> [1] 804 # Count all available isolates count_all(example_isolates$AMX) #> [1] 1350 n_rsi(example_isolates$AMX) #> [1] 1350 # n_rsi() is an alias of count_all(). # Since it counts all available isolates, you can # calculate back to count e.g. susceptible isolates. # These results are the same: count_susceptible(example_isolates$AMX) #> [1] 546 susceptibility(example_isolates$AMX) * n_rsi(example_isolates$AMX) #> [1] 546 # dplyr ------------------------------------------------------------- # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% group_by(ward) %>% summarise( R = count_R(CIP), I = count_I(CIP), S = count_S(CIP), n1 = count_all(CIP), # the actual total; sum of all three n2 = n_rsi(CIP), # same - analogous to n_distinct total = n() ) # NOT the number of tested isolates! # Number of available isolates for a whole antibiotic class # (i.e., in this data set columns GEN, TOB, AMK, KAN) example_isolates %>% group_by(ward) %>% summarise(across(aminoglycosides(), n_rsi)) # Count co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy. # Please mind that `susceptibility()` calculates percentages right away instead. example_isolates %>% count_susceptible(AMC) # 1433 example_isolates %>% count_all(AMC) # 1879 example_isolates %>% count_susceptible(GEN) # 1399 example_isolates %>% count_all(GEN) # 1855 example_isolates %>% count_susceptible(AMC, GEN) # 1764 example_isolates %>% count_all(AMC, GEN) # 1936 # Get number of S+I vs. R immediately of selected columns example_isolates %>% select(AMX, CIP) %>% count_df(translate = FALSE) # It also supports grouping variables example_isolates %>% select(ward, AMX, CIP) %>% group_by(ward) %>% count_df(translate = FALSE) } #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 12 × 4 #> ward antibiotic interpretation value #> * #> 1 Clinical AMX SI 357 #> 2 Clinical AMX R 487 #> 3 Clinical CIP SI 741 #> 4 Clinical CIP R 128 #> 5 ICU AMX SI 158 #> 6 ICU AMX R 270 #> 7 ICU CIP SI 362 #> 8 ICU CIP R 85 #> 9 Outpatient AMX SI 31 #> 10 Outpatient AMX R 47 #> 11 Outpatient CIP SI 78 #> 12 Outpatient CIP R 15 # }"},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":null,"dir":"Reference","previous_headings":"","what":"Define Custom EUCAST Rules — custom_eucast_rules","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"Define custom EUCAST rules organisation specific analysis use output function eucast_rules().","code":""},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"","code":"custom_eucast_rules(...)"},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"... rules formula notation, see Examples","code":""},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"list containing custom rules","code":""},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"organisations adoption EUCAST rules. function can used define custom EUCAST rules used eucast_rules() function.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"basics","dir":"Reference","previous_headings":"","what":"Basics","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"familiar case_when() function dplyr package, recognise input method set rules. Rules must set using R considers 'formula notation'. rule written tilde (~) consequence rule written tilde: two custom EUCAST rules: TZP (piperacillin/tazobactam) \"S\", aminopenicillins (ampicillin amoxicillin) must made \"S\", TZP \"R\", aminopenicillins must made \"R\". rules can also printed console, immediately clear work: rules (part tilde, example TZP == \"S\" TZP == \"R\") must evaluable data set: able run filter data set without errors. means example column TZP must exist. create sample data set test rules set:","code":"x <- custom_eucast_rules(TZP == \"S\" ~ aminopenicillins == \"S\", TZP == \"R\" ~ aminopenicillins == \"R\") x #> A set of custom EUCAST rules: #> #> 1. If TZP is \"S\" then set to S : #> amoxicillin (AMX), ampicillin (AMP) #> #> 2. If TZP is \"R\" then set to R : #> amoxicillin (AMX), ampicillin (AMP) df <- data.frame(mo = c(\"Escherichia coli\", \"Klebsiella pneumoniae\"), TZP = as.rsi(\"R\"), ampi = as.rsi(\"S\"), cipro = as.rsi(\"S\")) df #> mo TZP ampi cipro #> 1 Escherichia coli R S S #> 2 Klebsiella pneumoniae R S S eucast_rules(df, rules = \"custom\", custom_rules = x, info = FALSE) #> mo TZP ampi cipro #> 1 Escherichia coli R R S #> 2 Klebsiella pneumoniae R R S"},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"using-taxonomic-properties-in-rules","dir":"Reference","previous_headings":"","what":"Using taxonomic properties in rules","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"one exception variables used rules: column names microorganisms data set can also used, exist data set. column names : \"mo\", \"fullname\", \"status\", \"kingdom\", \"phylum\", \"class\", \"order\", \"family\", \"genus\", \"species\", \"subspecies\", \"rank\", \"ref\", \"source\", \"lpsn\", \"lpsn_parent\", \"lpsn_renamed_to\", \"gbif\", \"gbif_parent\", \"gbif_renamed_to\", \"prevalence\" \"snomed\". Thus, next example work well, despite fact df data set contain column genus:","code":"y <- custom_eucast_rules(TZP == \"S\" & genus == \"Klebsiella\" ~ aminopenicillins == \"S\", TZP == \"R\" & genus == \"Klebsiella\" ~ aminopenicillins == \"R\") eucast_rules(df, rules = \"custom\", custom_rules = y, info = FALSE) #> mo TZP ampi cipro #> 1 Escherichia coli R S S #> 2 Klebsiella pneumoniae R R S"},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"usage-of-antibiotic-group-names","dir":"Reference","previous_headings":"","what":"Usage of antibiotic group names","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"possible define antibiotic groups instead single antibiotics rule consequence, part tilde. examples, antibiotic group aminopenicillins used include ampicillin amoxicillin. following groups allowed (case-insensitive). Within parentheses agents matched running rule. \"aminoglycosides\"(amikacin, amikacin/fosfomycin, amphotericin B-high, apramycin, arbekacin, astromicin, bekanamycin, dibekacin, framycetin, gentamicin, gentamicin-high, habekacin, hygromycin, isepamicin, kanamycin, kanamycin-high, kanamycin/cephalexin, micronomicin, neomycin, netilmicin, pentisomicin, plazomicin, propikacin, ribostamycin, sisomicin, streptoduocin, streptomycin, streptomycin-high, tobramycin tobramycin-high) \"aminopenicillins\"(amoxicillin ampicillin) \"antifungals\"(5-fluorocytosine, amphotericin B, anidulafungin, butoconazole, caspofungin, ciclopirox, clotrimazole, econazole, fluconazole, fosfluconazole, griseofulvin, hachimycin, ibrexafungerp, isavuconazole, isoconazole, itraconazole, ketoconazole, manogepix, micafungin, miconazole, nystatin, pimaricin, posaconazole, rezafungin, ribociclib, sulconazole, terbinafine, terconazole voriconazole) \"antimycobacterials\"(4-aminosalicylic acid, calcium aminosalicylate, capreomycin, clofazimine, delamanid, enviomycin, ethambutol, ethambutol/isoniazid, ethionamide, isoniazid, morinamide, p-aminosalicylic acid, pretomanid, prothionamide, pyrazinamide, rifabutin, rifampicin, rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid, rifampicin/pyrazinamide/isoniazid, rifamycin, rifapentine, simvastatin/fenofibrate, sodium aminosalicylate, streptomycin/isoniazid, terizidone, thioacetazone/isoniazid, tiocarlide viomycin) \"betalactams\"(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, avibactam, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, biapenem, carbenicillin, carindacillin, cefacetrile, cefaclor, cefadroxil, cefaloridine, cefamandole, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/clavulanic acid, cefepime/nacubactam, cefepime/tazobactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/enzyme inhibitor, ceftolozane/tazobactam, ceftriaxone, cefuroxime, cefuroxime axetil, cephalexin, cephalothin, cephapirin, cephradine, ciclacillin, clometocillin, cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem, flucloxacillin, hetacillin, imipenem, imipenem/EDTA, imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin, methicillin, mezlocillin, mezlocillin/sulbactam, nacubactam, nafcillin, oxacillin, panipenem, penamecillin, penicillin/novobiocin, penicillin/sulbactam, phenethicillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, razupenem, ritipenem, ritipenem acoxil, sarmoxicillin, sulbactam, sulbenicillin, sultamicillin, talampicillin, tazobactam, tebipenem, temocillin, ticarcillin ticarcillin/clavulanic acid) \"carbapenems\"(biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA, imipenem/relebactam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem acoxil tebipenem) \"cephalosporins\"(cefacetrile, cefaclor, cefadroxil, cefaloridine, cefamandole, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/clavulanic acid, cefepime/tazobactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/enzyme inhibitor, ceftolozane/tazobactam, ceftriaxone, cefuroxime, cefuroxime axetil, cephalexin, cephalothin, cephapirin, cephradine, latamoxef loracarbef) \"cephalosporins_1st\"(cefacetrile, cefadroxil, cefaloridine, cefatrizine, cefazedone, cefazolin, cefroxadine, ceftezole, cephalexin, cephalothin, cephapirin cephradine) \"cephalosporins_2nd\"(cefaclor, cefamandole, cefmetazole, cefonicid, ceforanide, cefotetan, cefotiam, cefoxitin, cefoxitin screening, cefprozil, cefuroxime, cefuroxime axetil loracarbef) \"cephalosporins_3rd\"(cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefetamet, cefetamet pivoxil, cefixime, cefmenoxime, cefodizime, cefoperazone, cefoperazone/sulbactam, cefotaxime, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotiam hexetil, cefovecin, cefpimizole, cefpiramide, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefsulodin, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftriaxone latamoxef) \"cephalosporins_4th\"(cefepime, cefepime/clavulanic acid, cefepime/tazobactam, cefetecol, cefoselis, cefozopran, cefpirome cefquinome) \"cephalosporins_5th\"(ceftaroline, ceftaroline/avibactam, ceftobiprole, ceftobiprole medocaril, ceftolozane/enzyme inhibitor ceftolozane/tazobactam) \"cephalosporins_except_caz\"(cefacetrile, cefaclor, cefadroxil, cefaloridine, cefamandole, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/clavulanic acid, cefepime/tazobactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/enzyme inhibitor, ceftolozane/tazobactam, ceftriaxone, cefuroxime, cefuroxime axetil, cephalexin, cephalothin, cephapirin, cephradine, latamoxef loracarbef) \"fluoroquinolones\"(besifloxacin, ciprofloxacin, clinafloxacin, danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin, finafloxacin, fleroxacin, garenoxacin, gatifloxacin, gemifloxacin, grepafloxacin, levofloxacin, levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin, nifuroquine, norfloxacin, ofloxacin, orbifloxacin, pazufloxacin, pefloxacin, pradofloxacin, premafloxacin, prulifloxacin, rufloxacin, sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin trovafloxacin) \"glycopeptides\"(avoparcin, dalbavancin, norvancomycin, oritavancin, ramoplanin, teicoplanin, teicoplanin-macromethod, telavancin, vancomycin vancomycin-macromethod) \"glycopeptides_except_lipo\"(avoparcin, norvancomycin, ramoplanin, teicoplanin, teicoplanin-macromethod, vancomycin vancomycin-macromethod) \"lincosamides\"(acetylmidecamycin, acetylspiramycin, clindamycin, gamithromycin, kitasamycin, lincomycin, meleumycin, nafithromycin, pirlimycin, primycin, solithromycin, tildipirosin, tilmicosin, tulathromycin, tylosin tylvalosin) \"lipoglycopeptides\"(dalbavancin, oritavancin telavancin) \"macrolides\"(acetylmidecamycin, acetylspiramycin, azithromycin, clarithromycin, dirithromycin, erythromycin, flurithromycin, gamithromycin, josamycin, kitasamycin, meleumycin, midecamycin, miocamycin, nafithromycin, oleandomycin, pirlimycin, primycin, rokitamycin, roxithromycin, solithromycin, spiramycin, telithromycin, tildipirosin, tilmicosin, troleandomycin, tulathromycin, tylosin tylvalosin) \"oxazolidinones\"(cadazolid, cycloserine, linezolid, tedizolid thiacetazone) \"penicillins\"(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, avibactam, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, carbenicillin, carindacillin, cefepime/nacubactam, ciclacillin, clometocillin, cloxacillin, dicloxacillin, epicillin, flucloxacillin, hetacillin, lenampicillin, mecillinam, metampicillin, methicillin, mezlocillin, mezlocillin/sulbactam, nacubactam, nafcillin, oxacillin, penamecillin, penicillin/novobiocin, penicillin/sulbactam, phenethicillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, sarmoxicillin, sulbactam, sulbenicillin, sultamicillin, talampicillin, tazobactam, temocillin, ticarcillin ticarcillin/clavulanic acid) \"polymyxins\"(colistin, polymyxin B polymyxin B/polysorbate 80) \"quinolones\"(besifloxacin, cinoxacin, ciprofloxacin, clinafloxacin, danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin, finafloxacin, fleroxacin, flumequine, garenoxacin, gatifloxacin, gemifloxacin, grepafloxacin, levofloxacin, levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin, nalidixic acid, nifuroquine, nitroxoline, norfloxacin, ofloxacin, orbifloxacin, oxolinic acid, pazufloxacin, pefloxacin, pipemidic acid, piromidic acid, pradofloxacin, premafloxacin, prulifloxacin, rosoxacin, rufloxacin, sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin trovafloxacin) \"streptogramins\"(pristinamycin quinupristin/dalfopristin) \"tetracyclines\"(cetocycline, chlortetracycline, clomocycline, demeclocycline, doxycycline, eravacycline, lymecycline, metacycline, minocycline, omadacycline, oxytetracycline, penimepicycline, rolitetracycline, tetracycline tigecycline) \"tetracyclines_except_tgc\"(cetocycline, chlortetracycline, clomocycline, demeclocycline, doxycycline, eravacycline, lymecycline, metacycline, minocycline, omadacycline, oxytetracycline, penimepicycline, rolitetracycline tetracycline) \"trimethoprims\"(brodimoprim, sulfadiazine, sulfadiazine/tetroxoprim, sulfadiazine/trimethoprim, sulfadimethoxine, sulfadimidine, sulfadimidine/trimethoprim, sulfafurazole, sulfaisodimidine, sulfalene, sulfamazone, sulfamerazine, sulfamerazine/trimethoprim, sulfamethizole, sulfamethoxazole, sulfamethoxypyridazine, sulfametomidine, sulfametoxydiazine, sulfametrole/trimethoprim, sulfamoxole, sulfamoxole/trimethoprim, sulfanilamide, sulfaperin, sulfaphenazole, sulfapyridine, sulfathiazole, sulfathiourea, trimethoprim trimethoprim/sulfamethoxazole) \"ureidopenicillins\"(azlocillin, mezlocillin, piperacillin piperacillin/tazobactam)","code":""},{"path":"https://msberends.github.io/AMR/reference/custom_eucast_rules.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Define Custom EUCAST Rules — custom_eucast_rules","text":"","code":"x <- custom_eucast_rules( AMC == \"R\" & genus == \"Klebsiella\" ~ aminopenicillins == \"R\", AMC == \"I\" & genus == \"Klebsiella\" ~ aminopenicillins == \"I\" ) x #> A set of custom EUCAST rules: #> #> 1. If AMC is \"R\" and genus is \"Klebsiella\" then set to R : #> amoxicillin (AMX), ampicillin (AMP) #> #> 2. If AMC is \"I\" and genus is \"Klebsiella\" then set to I : #> amoxicillin (AMX), ampicillin (AMP) # run the custom rule set (verbose = TRUE will return a logbook instead of the data set): eucast_rules(example_isolates, rules = \"custom\", custom_rules = x, info = FALSE, verbose = TRUE ) #> # A tibble: 8 × 9 #> row col mo_fullname old new rule rule_…¹ rule_…² rule_…³ #> #> 1 33 AMP Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 2 33 AMX Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 3 34 AMP Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 4 34 AMX Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 5 531 AMP Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 6 531 AMX Klebsiella pneumoniae R I \"report… Custom… Custom… Object… #> 7 1485 AMP Klebsiella oxytoca R I \"report… Custom… Custom… Object… #> 8 1485 AMX Klebsiella oxytoca R I \"report… Custom… Custom… Object… #> # … with abbreviated variable names ¹​rule_group, ²​rule_name, ³​rule_source # combine rule sets x2 <- c( x, custom_eucast_rules(TZP == \"R\" ~ carbapenems == \"R\") ) x2 #> A set of custom EUCAST rules: #> #> 1. If AMC is \"R\" and genus is \"Klebsiella\" then set to R : #> amoxicillin (AMX), ampicillin (AMP) #> #> 2. If AMC is \"I\" and genus is \"Klebsiella\" then set to I : #> amoxicillin (AMX), ampicillin (AMP) #> #> 3. If TZP is \"R\" then set to R : #> biapenem (BIA), doripenem (DOR), ertapenem (ETP), imipenem (IPM), #> imipenem/EDTA (IPE), imipenem/relebactam (IMR), meropenem (MEM), #> meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), panipenem (PAN), #> razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), tebipenem (TBP)"},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"EUCAST breakpoints used package based dosages data set. can retrieved eucast_dosage().","code":""},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"","code":"dosage"},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"tibble 169 observations 9 variables: ab Antibiotic ID used package (AMC), using official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes available name Official name antimicrobial agent used WHONET/EARS-Net type Type dosage, either \"high_dosage\", \"standard_dosage\" \"uncomplicated_uti\" dose Dose, \"2 g\" \"25 mg/kg\" dose_times Number times dose must administered administration Route administration, either \"im\", \"iv\" \"oral\" notes Additional dosage notes original_txt Original text PDF file EUCAST eucast_version Version number EUCAST Clinical Breakpoints guideline dosages apply","code":""},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"data set based 'EUCAST Clinical Breakpoint Tables' v11.0 (2021).","code":""},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":"direct-download","dir":"Reference","previous_headings":"","what":"Direct download","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/dosage.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with Treatment Dosages as Defined by EUCAST — dosage","text":"","code":"dosage #> # A tibble: 169 × 9 #> ab name type dose dose_…¹ admin…² notes origi…³ eucas…⁴ #> #> 1 AMK Amikacin stan… 25-3… 1 iv \"\" 25-30 … 11 #> 2 AMX Amoxicillin high… 2 g 6 iv \"\" 2 g x … 11 #> 3 AMX Amoxicillin stan… 1 g 3 iv \"\" 1 g x … 11 #> 4 AMX Amoxicillin high… 0.75… 3 oral \"\" 0.75-1… 11 #> 5 AMX Amoxicillin stan… 0.5 g 3 oral \"\" 0.5 g … 11 #> 6 AMX Amoxicillin unco… 0.5 g 3 oral \"\" 0.5 g … 11 #> 7 AMC Amoxicillin/clavulani… high… 2 g … 3 iv \"\" (2 g a… 11 #> 8 AMC Amoxicillin/clavulani… stan… 1 g … 3 iv \"\" (1 g a… 11 #> 9 AMC Amoxicillin/clavulani… high… 0.87… 3 oral \"\" (0.875… 11 #> 10 AMC Amoxicillin/clavulani… stan… 0.5 … 3 oral \"\" (0.5 g… 11 #> # … with 159 more rows, and abbreviated variable names ¹​dose_times, #> # ²​administration, ³​original_txt, ⁴​eucast_version"},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply EUCAST Rules — eucast_rules","title":"Apply EUCAST Rules — eucast_rules","text":"Apply rules clinical breakpoints intrinsic resistance defined European Committee Antimicrobial Susceptibility Testing (EUCAST, https://www.eucast.org), see Source. Use eucast_dosage() get data.frame advised dosages certain bug-drug combination, based dosage data set. improve interpretation antibiogram EUCAST rules applied, non-EUCAST rules can applied default, see Details.","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply EUCAST Rules — eucast_rules","text":"","code":"eucast_rules( x, col_mo = NULL, info = interactive(), rules = getOption(\"AMR_eucastrules\", default = c(\"breakpoints\", \"expert\")), verbose = FALSE, version_breakpoints = 11, version_expertrules = 3.3, ampc_cephalosporin_resistance = NA, only_rsi_columns = FALSE, custom_rules = NULL, ... ) eucast_dosage(ab, administration = \"iv\", version_breakpoints = 11)"},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Apply EUCAST Rules — eucast_rules","text":"EUCAST Expert Rules. Version 2.0, 2012. Leclercq et al. EUCAST expert rules antimicrobial susceptibility testing. Clin Microbiol Infect. 2013;19(2):141-60; doi:10.1111/j.1469-0691.2011.03703.x EUCAST Expert Rules, Intrinsic Resistance Exceptional Phenotypes Tables. Version 3.1, 2016. (link) EUCAST Intrinsic Resistance Unusual Phenotypes. Version 3.2, 2020. (link) EUCAST Intrinsic Resistance Unusual Phenotypes. Version 3.3, 2021. (link) EUCAST Breakpoint tables interpretation MICs zone diameters. Version 9.0, 2019. (link) EUCAST Breakpoint tables interpretation MICs zone diameters. Version 10.0, 2020. (link) EUCAST Breakpoint tables interpretation MICs zone diameters. Version 11.0, 2021. (link) EUCAST Breakpoint tables interpretation MICs zone diameters. Version 12.0, 2022. (link)","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply EUCAST Rules — eucast_rules","text":"x data set antibiotic columns, amox, AMX AMC col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). info logical indicate whether progress printed console, defaults print interactive sessions rules character vector specifies rules applied. Must one \"breakpoints\", \"expert\", \"\", \"custom\", \"\", defaults c(\"breakpoints\", \"expert\"). default value can set another value, e.g. using options(AMR_eucastrules = \"\"). using \"custom\", sure fill argument custom_rules . Custom rules can created custom_eucast_rules(). verbose logical turn Verbose mode (default ). Verbose mode, function apply rules data, instead returns data set logbook form extensive info rows columns effected way. Using Verbose mode takes lot time. version_breakpoints version number use EUCAST Clinical Breakpoints guideline. Can either \"11.0\" \"10.0\". version_expertrules version number use EUCAST Expert Rules Intrinsic Resistance guideline. Can either \"3.3\", \"3.2\" \"3.1\". ampc_cephalosporin_resistance character value applied cefotaxime, ceftriaxone ceftazidime AmpC de-repressed cephalosporin-resistant mutants, defaults NA. Currently works version_expertrules 3.2 higher; version 'EUCAST Expert Rules Enterobacterales' state results cefotaxime, ceftriaxone ceftazidime reported note, results suppressed (emptied) three agents. value NA (default) argument remove results three agents, e.g. value \"R\" make results agents resistant. Use NULL FALSE alter results three agents AmpC de-repressed cephalosporin-resistant mutants. Using TRUE equal using \"R\". EUCAST Expert Rules v3.2, rule applies : Citrobacter braakii, Citrobacter freundii, Citrobacter gillenii, Citrobacter murliniae, Citrobacter rodenticum, Citrobacter sedlakii, Citrobacter werkmanii, Citrobacter youngae, Enterobacter, Hafnia alvei, Klebsiella aerogenes, Morganella morganii, Providencia Serratia. only_rsi_columns logical indicate whether antibiotic columns must detected transformed class (see .rsi()) beforehand (defaults FALSE) custom_rules custom rules apply, created custom_eucast_rules() ... column name antibiotic, see section Antibiotics ab (vector ) text can coerced valid antibiotic code .ab() administration route administration, either \"im\", \"iv\" \"oral\"","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apply EUCAST Rules — eucast_rules","text":"input x, possibly edited values antibiotics. , verbose = TRUE, data.frame original new values affected bug-drug combinations.","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apply EUCAST Rules — eucast_rules","text":"Note: function translate MIC values RSI values. Use .rsi() . Note: ampicillin (AMP, J01CA01) available amoxicillin (AMX, J01CA04) , latter used rules dependency ampicillin. drugs interchangeable comes expression antimicrobial resistance. file containing EUCAST rules located : https://github.com/msberends/AMR/blob/main/data-raw/eucast_rules.tsv. Note: Old taxonomic names replaced current taxonomy applicable. example, Ochrobactrum anthropi renamed Brucella anthropi 2020; original EUCAST rules v3.1 v3.2 yet contain new taxonomic name. AMR package contains full microbial taxonomy updated 12 September, 2022, see microorganisms.","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"custom-rules","dir":"Reference","previous_headings":"","what":"Custom Rules","title":"Apply EUCAST Rules — eucast_rules","text":"Custom rules can created using custom_eucast_rules(), e.g.:","code":"x <- custom_eucast_rules(AMC == \"R\" & genus == \"Klebsiella\" ~ aminopenicillins == \"R\", AMC == \"I\" & genus == \"Klebsiella\" ~ aminopenicillins == \"I\") eucast_rules(example_isolates, rules = \"custom\", custom_rules = x)"},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"-other-rules","dir":"Reference","previous_headings":"","what":"'Other' Rules","title":"Apply EUCAST Rules — eucast_rules","text":"processing, two non-EUCAST rules drug combinations can applied improve efficacy EUCAST rules, reliability data (analysis). rules : drug enzyme inhibitor set S drug without enzyme inhibitor S drug without enzyme inhibitor set R drug enzyme inhibitor R Important examples include amoxicillin amoxicillin/clavulanic acid, trimethoprim trimethoprim/sulfamethoxazole. Needless say, rules work, drugs must available data set. Since rules officially approved EUCAST, applied default. use rules, include \"\" rules argument, use eucast_rules(..., rules = \"\"). can also set option AMR_eucastrules, .e. run options(AMR_eucastrules = \"\").","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"antibiotics","dir":"Reference","previous_headings":"","what":"Antibiotics","title":"Apply EUCAST Rules — eucast_rules","text":"define antibiotics column names, leave determine automatically guess_ab_col() input text (case-insensitive), use NULL skip column (e.g. TIC = NULL skip ticarcillin). Manually defined non-existing columns skipped warning. following antibiotics eligible functions eucast_rules() mdro(). shown format 'name (antimicrobial ID, ATC code)', sorted alphabetically: Amikacin (AMK, S01AE08), amoxicillin (AMX, J01MA02), amoxicillin/clavulanic acid (AMC, J01MA23), ampicillin (AMP, J01MA04), ampicillin/sulbactam (SAM, J01MA08), arbekacin (ARB, J01MA19), aspoxicillin (APX, J01MA16), azidocillin (AZD, J01MA15), azithromycin (AZM, J01MA11), azlocillin (AZL, J01MA12), aztreonam (ATM, J01MA24), bacampicillin (BAM, J01MA07), bekanamycin (BEK, J01MA14), benzathine benzylpenicillin (BNB, D10AF05), benzathine phenoxymethylpenicillin (BNP, J01MA06), benzylpenicillin (PEN, J01MA01), besifloxacin (BES, J01MA18), biapenem (BIA, J01MA03), carbenicillin (CRB, J01MA17), carindacillin (CRN, J01MA10), cefacetrile (CAC, J01MA21), cefaclor (CEC, J01MA09), cefadroxil (CFR, J01MA05), cefaloridine (RID, P01AA05), cefamandole (MAN, J01MA22), cefatrizine (CTZ, J01MA13), cefazedone (CZD, J01CA01), cefazolin (CZO, J01CA04), cefcapene (CCP, J01CA12), cefdinir (CDR, J01CR05), cefditoren (DIT, J01CA13), cefepime (FEP, J01AA02), cefetamet (CAT, J01FA10), cefixime (CFM, J01FA09), cefmenoxime (CMX, J01CR02), cefmetazole (CMZ, J01AA08), cefodizime (DIZ, J01FA06), cefonicid (CID, J01CF04), cefoperazone (CFP, J01CF05), cefoperazone/sulbactam (CSL, J01CR01), ceforanide (CND, J01CA19), cefotaxime (CTX, J01CE04), cefotetan (CTT, J01CA09), cefotiam (CTF, J01DF01), cefoxitin (FOX, J01CA06), cefozopran (ZOP, J01CE08), cefpiramide (CPM, J01CE10), cefpirome (CPO, J01CE01), cefpodoxime (CPD, J01CA03), cefprozil (CPR, J01CA05), cefroxadine (CRD, J01CE07), cefsulodin (CFS, J01CF02), ceftaroline (CPT, J01CF01), ceftazidime (CAZ, J01CA07), ceftazidime/clavulanic acid (CCV, J01CA18), cefteram (CEM, J01CA11), ceftezole (CTL, J01CA14), ceftibuten (CTB, J01CF03), ceftizoxime (CZX, J01CA10), ceftobiprole medocaril (CFM1, J01CF06), ceftolozane/enzyme inhibitor (CEI, J01CE06), ceftriaxone (CRO, J01CE05), cefuroxime (CXM, J01CE02), cephalexin (LEX, J01CA02), cephalothin (CEP, J01CA08), cephapirin (HAP, J01CE09), cephradine (CED, J01CE03), chloramphenicol (CHL, J01CG01), ciprofloxacin (CIP, J01CA16), clarithromycin (CLR, J01CR04), clindamycin (CLI, J01CA15), clometocillin (CLM, J01CG02), cloxacillin (CLO, J01CA17), colistin (COL, J01CR03), cycloserine (CYC, J01DB10), dalbavancin (DAL, J01DC04), daptomycin (DAP, J01DB05), delafloxacin (DFX, J01DB02), dibekacin (DKB, J01DC03), dicloxacillin (DIC, J01DB07), dirithromycin (DIR, J01DB06), doripenem (DOR, J01DB04), doxycycline (DOX, J01DD17), enoxacin (ENX, J01DD15), epicillin (EPC, J01DD16), ertapenem (ETP, J01DE01), erythromycin (ERY, J01DD10), fleroxacin (FLE, J01DD08), flucloxacillin (FLC, J01DD05), flurithromycin (FLR1, J01DC09), fosfomycin (FOS, J01DD09), framycetin (FRM, J01DC06), fusidic acid (FUS, J01DD12), garenoxacin (GRN, J01DD62), gatifloxacin (GAT, J01DC11), gemifloxacin (GEM, J01DD01), gentamicin (GEN, J01DC05), grepafloxacin (GRX, J01DC07), hetacillin (HET, J01DC01), imipenem (IPM, J01DE03), isepamicin (ISE, J01DD11), josamycin (JOS, J01DE02), kanamycin (KAN, J01DD13), latamoxef (LTM, J01DC10), levofloxacin (LVX, J01DB11), levonadifloxacin (LND, J01DD03), lincomycin (LIN, J01DI02), linezolid (LNZ, J01DD02), lomefloxacin (LOM, J01DD52), loracarbef (LOR, J01DD18), mecillinam (MEC, J01DB12), meropenem (MEM, J01DD14), meropenem/vaborbactam (MEV, J01DD07), metampicillin (MTM, J01DI01), methicillin (MET, J01DI54), mezlocillin (MEZ, J01DD04), micronomicin (MCR, J01DC02), midecamycin (MID, J01DB01), minocycline (MNO, J01DB03), miocamycin (MCM, J01DB08), moxifloxacin (MFX, J01DB09), nadifloxacin (NAD, J01DD06), nafcillin (NAF, J01DC08), nalidixic acid (NAL, J01DH05), neomycin (NEO, J01DH04), netilmicin (NET, J01DH03), nitrofurantoin (NIT, J01DH51), norfloxacin (, J01DH02), ofloxacin (OFX, J01DH52), oleandomycin (OLE, J01XA02), oritavancin (ORI, J01XA01), oxacillin (OXA, J01XC01), pazufloxacin (PAZ, J01FA13), pefloxacin (PEF, J01FA01), penamecillin (PNM, J01FA14), phenethicillin (PHE, J01FA07), phenoxymethylpenicillin (PHN, J01FA03), piperacillin (PIP, J01FA11), piperacillin/tazobactam (TZP, J01FA05), pivampicillin (PVM, J01FA12), pivmecillinam (PME, J01FA16), plazomicin (PLZ, J01FA02), polymyxin B (PLB, J01FA15), pristinamycin (PRI, J01FA08), procaine benzylpenicillin (PRB, J01FF02), propicillin (PRP, J01FG01), prulifloxacin (PRU, J01FG02), quinupristin/dalfopristin (QDA, J04AB02), ribostamycin (RST, J01XX09), rifampicin (RIF, J01XX08), rokitamycin (ROK, J01AA07), roxithromycin (RXT, J01XB01), rufloxacin (RFL, J01XB02), sisomicin (SIS, J01XE01), sitafloxacin (SIT, J01AA12), solithromycin (SOL, J01EA01), sparfloxacin (SPX, J01XX01), spiramycin (SPI, J01BA01), streptoduocin (STR, J01GB06), streptomycin (STR1, J01GB12), sulbactam (SUL, J01GB13), sulbenicillin (SBC, J01GB09), sulfadiazine (SDI, D09AA01), sulfadiazine/trimethoprim (SLT1, J01GB03), sulfadimethoxine (SUD, J01GB11), sulfadimidine (SDM, J01GB04), sulfadimidine/trimethoprim (SLT2, S01AA22), sulfafurazole (SLF, J01GB05), sulfaisodimidine (SLF1, J01GB07), sulfalene (SLF2, J01GB14), sulfamazone (SZO, J01GB10), sulfamerazine (SLF3, J01GB08), sulfamerazine/trimethoprim (SLT3, J01GA02), sulfamethizole (SLF4, J01GA01), sulfamethoxazole (SMX, J01GB01), sulfamethoxypyridazine (SLF5, J01EE01), sulfametomidine (SLF6, J01MB02), sulfametoxydiazine (SLF7, J01FF01), sulfametrole/trimethoprim (SLT4, J01XA04), sulfamoxole (SLF8, J01XA05), sulfamoxole/trimethoprim (SLT5, J01XA03), sulfanilamide (SLF9, J04AB01), sulfaperin (SLF10, J01XX11), sulfaphenazole (SLF11, J01EC02), sulfapyridine (SLF12, J01ED01), sulfathiazole (SUT, J01EB03), sulfathiourea (SLF13, J01EB05), sultamicillin (SLT6, J01EB01), talampicillin (TAL, J01ED02), tazobactam (TAZ, J01ED09), tedizolid (TZD, J01ED07), teicoplanin (TEC, J01EB02), telavancin (TLV, J01EC01), telithromycin (TLT, J01ED05), temafloxacin (TMX, J01ED03), temocillin (TEM, J01ED04), tetracycline (TCY, J01EC03), ticarcillin (TIC, J01EB06), ticarcillin/clavulanic acid (TCC, J01ED06), tigecycline (TGC, J01ED08), tilbroquinol (TBQ, J01EB04), tobramycin (TOB, J01EB07), tosufloxacin (TFX, J01EB08), trimethoprim (TMP, J01EE02), trimethoprim/sulfamethoxazole (SXT, J01EE05), troleandomycin (TRL, J01EE07), trovafloxacin (TVA, J01EE03), vancomycin (VAN, J01EE04)","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Apply EUCAST Rules — eucast_rules","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/eucast_rules.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apply EUCAST Rules — eucast_rules","text":"","code":"# \\donttest{ a <- data.frame( mo = c( \"Staphylococcus aureus\", \"Enterococcus faecalis\", \"Escherichia coli\", \"Klebsiella pneumoniae\", \"Pseudomonas aeruginosa\" ), VAN = \"-\", # Vancomycin AMX = \"-\", # Amoxicillin COL = \"-\", # Colistin CAZ = \"-\", # Ceftazidime CXM = \"-\", # Cefuroxime PEN = \"S\", # Benzylpenicillin FOX = \"S\", # Cefoxitin stringsAsFactors = FALSE ) head(a) #> mo VAN AMX COL CAZ CXM PEN FOX #> 1 Staphylococcus aureus - - - - - S S #> 2 Enterococcus faecalis - - - - - S S #> 3 Escherichia coli - - - - - S S #> 4 Klebsiella pneumoniae - - - - - S S #> 5 Pseudomonas aeruginosa - - - - - S S # apply EUCAST rules: some results wil be changed b <- eucast_rules(a) #> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of #> class . Transform them on beforehand, with e.g.: #> - a %>% as.rsi(CXM:AMX) #> - a %>% mutate_if(is.rsi.eligible, as.rsi) #> - a %>% mutate(across(where(is.rsi.eligible), as.rsi)) head(b) #> mo VAN AMX COL CAZ CXM PEN FOX #> 1 Staphylococcus aureus - S R R S S S #> 2 Enterococcus faecalis - - R R R S R #> 3 Escherichia coli R - - - - R S #> 4 Klebsiella pneumoniae R R - - - R S #> 5 Pseudomonas aeruginosa R R - - R R R # do not apply EUCAST rules, but rather get a data.frame # containing all details about the transformations: c <- eucast_rules(a, verbose = TRUE) #> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of #> class . Transform them on beforehand, with e.g.: #> - a %>% as.rsi(CXM:AMX) #> - a %>% mutate_if(is.rsi.eligible, as.rsi) #> - a %>% mutate(across(where(is.rsi.eligible), as.rsi)) head(c) #> row col mo_fullname old new rule rule_group #> 1 1 AMX Staphylococcus aureus - S Breakpoints #> 2 1 CXM Staphylococcus aureus - S Breakpoints #> 3 1 CAZ Staphylococcus aureus - R Expert Rules #> 4 1 COL Staphylococcus aureus - R Expert Rules #> 5 2 CAZ Enterococcus faecalis - R Expert Rules #> 6 2 COL Enterococcus faecalis - R Expert Rules #> rule_name #> 1 Staphylococcus #> 2 Staphylococcus #> 3 Table 4: Intrinsic resistance in gram-positive bacteria #> 4 Table 4: Intrinsic resistance in gram-positive bacteria #> 5 Table 4: Intrinsic resistance in gram-positive bacteria #> 6 Table 4: Intrinsic resistance in gram-positive bacteria #> rule_source #> 1 'EUCAST Clinical Breakpoint Tables' v11.0, 2021 #> 2 'EUCAST Clinical Breakpoint Tables' v11.0, 2021 #> 3 'EUCAST Expert Rules' and 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3, 2021 #> 4 'EUCAST Expert Rules' and 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3, 2021 #> 5 'EUCAST Expert Rules' and 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3, 2021 #> 6 'EUCAST Expert Rules' and 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3, 2021 # } # Dosage guidelines: eucast_dosage(c(\"tobra\", \"genta\", \"cipro\"), \"iv\") #> ℹ Dosages for antimicrobial drugs, as meant for 'EUCAST Clinical Breakpoint #> Tables' v11.0 (2021). This note will be shown once per session. #> # A tibble: 3 × 4 #> ab name standard_dosage high_dosage #> #> 1 TOB Tobramycin 6-7 mg/kg x 1 iv NA #> 2 GEN Gentamicin 6-7 mg/kg x 1 iv NA #> 3 CIP Ciprofloxacin 0.4 g x 2 iv 0.4 g x 3 iv eucast_dosage(c(\"tobra\", \"genta\", \"cipro\"), \"iv\", version_breakpoints = 10) #> ℹ Dosages for antimicrobial drugs, as meant for 'EUCAST Clinical Breakpoint #> Tables' v10.0 (2020). This note will be shown once per session. #> # A tibble: 3 × 4 #> ab name standard_dosage high_dosage #> #> 1 TOB Tobramycin 6-7 mg/kg x 1 iv NA #> 2 GEN Gentamicin 6-7 mg/kg x 1 iv NA #> 3 CIP Ciprofloxacin 0.4 g x 2 iv 0.4 g x 3 iv"},{"path":"https://msberends.github.io/AMR/reference/example_isolates.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with 2,000 Example Isolates — example_isolates","title":"Data Set with 2,000 Example Isolates — example_isolates","text":"data set containing 2,000 microbial isolates full antibiograms. data set contains randomised fictitious data, reflects reality can used practise AMR data analysis. examples, please read tutorial website.","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with 2,000 Example Isolates — example_isolates","text":"","code":"example_isolates"},{"path":"https://msberends.github.io/AMR/reference/example_isolates.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with 2,000 Example Isolates — example_isolates","text":"tibble 2,000 observations 46 variables: date Date receipt laboratory patient ID patient age Age patient gender Gender patient, either \"F\" \"M\" ward Ward type patient admitted, either \"Clinical\", \"ICU\" \"Outpatient\" mo ID microorganism created .mo(), see also microorganisms data set PEN:RIF 40 different antibiotics class rsi (see .rsi()); column names occur antibiotics data set can translated set_ab_names() ab_name()","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with 2,000 Example Isolates — example_isolates","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with 2,000 Example Isolates — example_isolates","text":"","code":"example_isolates #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF "},{"path":"https://msberends.github.io/AMR/reference/example_isolates_unclean.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with Unclean Data — example_isolates_unclean","title":"Data Set with Unclean Data — example_isolates_unclean","text":"data set containing 3,000 microbial isolates cleaned consequently ready AMR data analysis. data set can used practice.","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates_unclean.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with Unclean Data — example_isolates_unclean","text":"","code":"example_isolates_unclean"},{"path":"https://msberends.github.io/AMR/reference/example_isolates_unclean.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with Unclean Data — example_isolates_unclean","text":"tibble 3,000 observations 8 variables: patient_id ID patient date date receipt laboratory hospital ID hospital, C bacteria info microorganism can transformed .mo(), see also microorganisms AMX:GEN 4 different antibiotics transformed .rsi()","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates_unclean.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with Unclean Data — example_isolates_unclean","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/example_isolates_unclean.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with Unclean Data — example_isolates_unclean","text":"","code":"example_isolates_unclean #> # A tibble: 3,000 × 8 #> patient_id hospital date bacteria AMX AMC CIP GEN #> #> 1 J3 A 2012-11-21 E. coli R I S S #> 2 R7 A 2018-04-03 K. pneumoniae R I S S #> 3 P3 A 2014-09-19 E. coli R S S S #> 4 P10 A 2015-12-10 E. coli S I S S #> 5 B7 A 2015-03-02 E. coli S S S S #> 6 W3 A 2018-03-31 S. aureus R S R S #> 7 J8 A 2016-06-14 E. coli R S S S #> 8 M3 A 2015-10-25 E. coli R S S S #> 9 J3 A 2019-06-19 E. coli S S S S #> 10 G6 A 2015-04-27 S. aureus S S S S #> # … with 2,990 more rows"},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":null,"dir":"Reference","previous_headings":"","what":"Determine First Isolates — first_isolate","title":"Determine First Isolates — first_isolate","text":"Determine first isolates microorganisms every patient per episode (needed) per specimen type. functions support four methods summarised Hindler et al. 2007 (doi:10.1086/511864 ). determine patient episodes necessarily based microorganisms, use is_new_episode() also supports grouping dplyr package.","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Determine First Isolates — first_isolate","text":"","code":"first_isolate( x = NULL, col_date = NULL, col_patient_id = NULL, col_mo = NULL, col_testcode = NULL, col_specimen = NULL, col_icu = NULL, col_keyantimicrobials = NULL, episode_days = 365, testcodes_exclude = NULL, icu_exclude = FALSE, specimen_group = NULL, type = \"points\", method = c(\"phenotype-based\", \"episode-based\", \"patient-based\", \"isolate-based\"), ignore_I = TRUE, points_threshold = 2, info = interactive(), include_unknown = FALSE, include_untested_rsi = TRUE, ... ) filter_first_isolate( x = NULL, col_date = NULL, col_patient_id = NULL, col_mo = NULL, episode_days = 365, method = c(\"phenotype-based\", \"episode-based\", \"patient-based\", \"isolate-based\"), ... )"},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Determine First Isolates — first_isolate","text":"Methodology function strictly based : M39 Analysis Presentation Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/. Hindler JF Stelling J (2007). Analysis Presentation Cumulative Antibiograms: New Consensus Guideline Clinical Laboratory Standards Institute. Clinical Infectious Diseases, 44(6), 867-873. doi:10.1086/511864","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Determine First Isolates — first_isolate","text":"x data.frame containing isolates. Can left blank automatic determination, see Examples. col_date column name result date (date received lab), defaults first column date class col_patient_id column name unique IDs patients, defaults first column starts 'patient' 'patid' (case insensitive) col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). col_testcode column name test codes. Use col_testcode = NULL exclude certain test codes (test codes screening). case testcodes_exclude ignored. col_specimen column name specimen type group col_icu column name logicals (TRUE/FALSE) whether ward department Intensive Care Unit (ICU). can also logical vector length rows x. col_keyantimicrobials (useful method = \"phenotype-based\") column name key antimicrobials determine first isolates, see key_antimicrobials(). Defaults first column starts 'key' followed 'ab' 'antibiotics' 'antimicrobials' (case insensitive). Use col_keyantimicrobials = FALSE prevent . Can also output key_antimicrobials(). episode_days episode days genus/species combination determined 'first isolate' . default 365 days based guideline CLSI, see Source. testcodes_exclude character vector test codes excluded (case-insensitive) icu_exclude logical indicate whether ICU isolates excluded (rows value TRUE column set col_icu) specimen_group value column set col_specimen filter type type determine weighed isolates; can \"keyantimicrobials\" \"points\", see Details method method apply, either \"phenotype-based\", \"episode-based\", \"patient-based\" \"isolate-based\" (can abbreviated), see Details. default \"phenotype-based\" antimicrobial test results present data, \"episode-based\" otherwise. ignore_I logical indicate whether antibiotic interpretations \"\" ignored type = \"keyantimicrobials\", see Details points_threshold minimum number points require differences antibiogram lead inclusion isolate type = \"points\", see Details info logical indicate info printed, defaults TRUE interactive mode include_unknown logical indicate whether 'unknown' microorganisms included , .e. microbial code \"UNKNOWN\", defaults FALSE. WHONET users, means records organism code \"con\" (contamination) excluded default. Isolates microbial ID NA always excluded first isolate. include_untested_rsi logical indicate whether also rows without antibiotic results still eligible becoming first isolate. Use include_untested_rsi = FALSE always return FALSE rows. checks data set columns class consequently requires transforming columns antibiotic results using .rsi() first. ... arguments passed first_isolate() using filter_first_isolate(), otherwise arguments passed key_antimicrobials() (universal, gram_negative, gram_positive)","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Determine First Isolates — first_isolate","text":"logical vector","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Determine First Isolates — first_isolate","text":"conduct epidemiological analyses antimicrobial resistance data, -called first isolates included prevent overestimation underestimation antimicrobial resistance. Different methods can used , see . functions context-aware. means x argument can left blank used inside data.frame call, see Examples. first_isolate() function wrapper around is_new_episode() function, efficient data sets containing microorganism codes names. isolates microbial ID NA excluded first isolate.","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"different-methods","dir":"Reference","previous_headings":"","what":"Different methods","title":"Determine First Isolates — first_isolate","text":"According Hindler et al. (2007, doi:10.1086/511864 ), different methods (algorithms) select first isolates increasing reliability: isolate-based, patient-based, episode-based phenotype-based. methods select combination taxonomic genus species (subspecies). mentioned methods covered first_isolate() function:","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"isolate-based","dir":"Reference","previous_headings":"","what":"Isolate-based","title":"Determine First Isolates — first_isolate","text":"method require selection, isolates included. , however, respect arguments set first_isolate() function. example, default setting include_unknown (FALSE) omit selection rows without microbial ID.","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"patient-based","dir":"Reference","previous_headings":"","what":"Patient-based","title":"Determine First Isolates — first_isolate","text":"include every genus-species combination per patient , set episode_days Inf. Although often inappropriate, method makes sure duplicate isolates selected patient. large longitudinal data set, mean isolates excluded found years initial isolate.","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"episode-based","dir":"Reference","previous_headings":"","what":"Episode-based","title":"Determine First Isolates — first_isolate","text":"include every genus-species combination per patient episode , set episode_days sensible number days. Depending type analysis, 14, 30, 60 365. Short episodes common analysing specific hospital ward data, long episodes common analysing regional national data. common method correct duplicate isolates. Patients categorised episodes based ID dates (e.g., date specimen receipt laboratory result). common method, take account antimicrobial test results. means e.g. methicillin-resistant Staphylococcus aureus (MRSA) isolate differentiated wildtype Staphylococcus aureus isolate.","code":""},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"phenotype-based","dir":"Reference","previous_headings":"","what":"Phenotype-based","title":"Determine First Isolates — first_isolate","text":"reliable method, since also weighs antibiogram (antimicrobial test results) yielding -called 'first weighted isolates'. two different methods weigh antibiogram: Using type = \"points\" argument points_threshold (default) method weighs antimicrobial agents available data set. difference S R (vice versa) counts 0.5 points, difference S R (vice versa) counts 1 point. sum points exceeds points_threshold, defaults 2, isolate selected first weighted isolate. antimicrobials internally selected using all_antimicrobials() function. output function need passed first_isolate() function. Using type = \"keyantimicrobials\" argument ignore_I method weighs specific antimicrobial agents, called key antimicrobials. difference S R (vice versa) key antimicrobials select isolate first weighted isolate. ignore_I = FALSE, also differences S R (vice versa) lead . Key antimicrobials internally selected using key_antimicrobials() function, can also added manually variable data set col_keyantimicrobials argument. Another option pass output key_antimicrobials() function directly col_keyantimicrobials argument. default method phenotype-based (using type = \"points\") episode-based (using episode_days = 365). makes sure every genus-species combination selected per patient per year, taking account antimicrobial test results. antimicrobial test results available data set, episode-based method applied default.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/first_isolate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Determine First Isolates — first_isolate","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. example_isolates[first_isolate(), ] #> Including isolates from ICU. #> # A tibble: 1,379 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 4 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> 5 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA #> 6 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 7 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R #> 8 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 9 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA #> 10 2002-02-05 023456 50 M Clinical B_STPHY_HMNS S NA S NA #> # … with 1,369 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF # \\donttest{ # get all first Gram-negatives example_isolates[which(first_isolate(info = FALSE) & mo_is_gram_negative()), ] #> Including isolates from ICU. #> ℹ Using column 'mo' as input for `mo_is_gram_negative()` #> # A tibble: 460 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R #> 4 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 5 2002-02-05 067927 45 F ICU B_SERRT_MRCS R NA NA R #> 6 2002-02-27 066895 85 F Clinical B_KLBSL_PNMN R NA NA R #> 7 2002-03-08 4FC193 69 M Clinical B_ESCHR_COLI R NA NA R #> 8 2002-03-16 4FC193 69 M Clinical B_PSDMN_AERG R NA NA R #> 9 2002-04-01 496896 46 F ICU B_ESCHR_COLI R NA NA NA #> 10 2002-04-23 EE2510 69 F ICU B_ESCHR_COLI R NA NA NA #> # … with 450 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF if (require(\"dplyr\")) { # filter on first isolates using dplyr: example_isolates %>% filter(first_isolate()) } #> Including isolates from ICU. #> # A tibble: 1,379 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 4 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> 5 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA #> 6 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 7 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R #> 8 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 9 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA #> 10 2002-02-05 023456 50 M Clinical B_STPHY_HMNS S NA S NA #> # … with 1,369 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF if (require(\"dplyr\")) { # short-hand version: example_isolates %>% filter_first_isolate(info = FALSE) } #> Including isolates from ICU. #> # A tibble: 1,379 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA #> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA #> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R #> 4 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA #> 5 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA #> 6 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA #> 7 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R #> 8 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA #> 9 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA #> 10 2002-02-05 023456 50 M Clinical B_STPHY_HMNS S NA S NA #> # … with 1,369 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF if (require(\"dplyr\")) { # flag the first isolates per group: example_isolates %>% group_by(ward) %>% mutate(first = first_isolate()) %>% select(ward, date, patient, mo, first) } #> Including isolates from ICU. #> Including isolates from ICU. #> Including isolates from ICU. #> # A tibble: 2,000 × 5 #> # Groups: ward [3] #> ward date patient mo first #> #> 1 Clinical 2002-01-02 A77334 B_ESCHR_COLI TRUE #> 2 Clinical 2002-01-03 A77334 B_ESCHR_COLI FALSE #> 3 ICU 2002-01-07 067927 B_STPHY_EPDR TRUE #> 4 ICU 2002-01-07 067927 B_STPHY_EPDR FALSE #> 5 ICU 2002-01-13 067927 B_STPHY_EPDR FALSE #> 6 ICU 2002-01-13 067927 B_STPHY_EPDR FALSE #> 7 Clinical 2002-01-14 462729 B_STPHY_AURS TRUE #> 8 Clinical 2002-01-14 462729 B_STPHY_AURS FALSE #> 9 ICU 2002-01-16 067927 B_STPHY_EPDR FALSE #> 10 ICU 2002-01-17 858515 B_STPHY_EPDR TRUE #> # … with 1,990 more rows # }"},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":null,"dir":"Reference","previous_headings":"","what":"G-test for Count Data — g.test","title":"G-test for Count Data — g.test","text":"g.test() performs chi-squared contingency table tests goodness--fit tests, just like chisq.test() reliable (1). G-test can used see whether number observations category fits theoretical expectation (called G-test goodness--fit), see whether proportions one variable different different values variable (called G-test independence).","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"G-test for Count Data — g.test","text":"","code":"g.test(x, y = NULL, p = rep(1/length(x), length(x)), rescale.p = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"G-test for Count Data — g.test","text":"code function identical chisq.test(), except : calculation statistic changed \\(2 * sum(x * log(x / E))\\) Yates' continuity correction removed apply G-test possibility simulate p values simulate.p.value removed","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"G-test for Count Data — g.test","text":"x numeric vector matrix. x y can also factors. y numeric vector; ignored x matrix. x factor, y factor length. p vector probabilities length x. error given entry p negative. rescale.p logical scalar; TRUE p rescaled (necessary) sum 1. rescale.p FALSE, p sum 1, error given.","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"G-test for Count Data — g.test","text":"list class \"htest\" containing following components: statistic value chi-squared test statistic. parameter degrees freedom approximate chi-squared distribution test statistic, NA p-value computed Monte Carlo simulation. p.value p-value test. method character string indicating type test performed, whether Monte Carlo simulation continuity correction used. data.name character string giving name(s) data. observed observed counts. expected expected counts null hypothesis. residuals Pearson residuals, (observed - expected) / sqrt(expected). stdres standardized residuals, (observed - expected) / sqrt(V), V residual cell variance (Agresti, 2007, section 2.4.5 case x matrix, n * p * (1 - p) otherwise).","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"G-test for Count Data — g.test","text":"x matrix one row column, x vector y given, goodness--fit test performed (x treated one-dimensional contingency table). entries x must non-negative integers. case, hypothesis tested whether population probabilities equal p, equal p given. x matrix least two rows columns, taken two-dimensional contingency table: entries x must non-negative integers. Otherwise, x y must vectors factors length; cases missing values removed, objects coerced factors, contingency table computed . Pearson's chi-squared test performed null hypothesis joint distribution cell counts 2-dimensional contingency table product row column marginals. p-value computed asymptotic chi-squared distribution test statistic. contingency table case simulation done random sampling set contingency tables given marginals, works marginals strictly positive. Note usual sampling situation assumed chi-squared test (G-test) rather Fisher's exact test. goodness--fit case simulation done random sampling discrete distribution specified p, sample size n = sum(x). simulation done R may slow.","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"g-test-of-goodness-of-fit-likelihood-ratio-test-","dir":"Reference","previous_headings":"","what":"G-test Of Goodness-of-Fit (Likelihood Ratio Test)","title":"G-test for Count Data — g.test","text":"Use G-test goodness--fit one nominal variable two values (male female, red, pink white flowers). compare observed counts numbers observations category expected counts, calculate using kind theoretical expectation (1:1 sex ratio 1:2:1 ratio genetic cross). expected number observations category small, G-test may give inaccurate results, use exact test instead (fisher.test()). G-test goodness--fit alternative chi-square test goodness--fit (chisq.test()); tests advantages disadvantages, results two tests usually similar.","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"g-test-of-independence","dir":"Reference","previous_headings":"","what":"G-test of Independence","title":"G-test for Count Data — g.test","text":"Use G-test independence two nominal variables, two possible values. want know whether proportions one variable different among values variable. also possible G-test independence two nominal variables. example, Jackson et al. (2013) also data children 3, analysis old vs. young, thigh vs. arm, reaction vs. reaction, analyzed together. Fisher's exact test (fisher.test()) exact test, G-test still approximation. 2x2 table, Fisher's Exact test may slower still run seconds, even sum observations multiple millions. G-test independence alternative chi-square test independence (chisq.test()), give approximately results.","code":""},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"how-the-test-works","dir":"Reference","previous_headings":"","what":"How the Test Works","title":"G-test for Count Data — g.test","text":"Unlike exact test goodness--fit (fisher.test()), G-test directly calculate probability obtaining observed results something extreme. Instead, like almost statistical tests, G-test intermediate step; uses data calculate test statistic measures far observed data null expectation. use mathematical relationship, case chi-square distribution, estimate probability obtaining value test statistic. G-test uses log ratio two likelihoods test statistic, also called likelihood ratio test log-likelihood ratio test. formula calculate G-statistic : \\(G = 2 * sum(x * log(x / E))\\) E expected values. Since chi-square distributed, p value can calculated R : df degrees freedom. two categories want find ones significantly different null expectation, can use method testing category vs. sum categories, Bonferroni correction. use G-tests category, course.","code":"p <- stats::pchisq(G, df, lower.tail = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"G-test for Count Data — g.test","text":"McDonald, J.H. 2014. Handbook Biological Statistics (3rd ed.). Sparky House Publishing, Baltimore, Maryland. http://www.biostathandbook.com/gtestgof.html.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/g.test.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"G-test for Count Data — g.test","text":"","code":"# = EXAMPLE 1 = # Shivrain et al. (2006) crossed clearfield rice (which are resistant # to the herbicide imazethapyr) with red rice (which are susceptible to # imazethapyr). They then crossed the hybrid offspring and examined the # F2 generation, where they found 772 resistant plants, 1611 moderately # resistant plants, and 737 susceptible plants. If resistance is controlled # by a single gene with two co-dominant alleles, you would expect a 1:2:1 # ratio. x <- c(772, 1611, 737) g.test(x, p = c(1, 2, 1) / 4) #> #> \tG-test of goodness-of-fit (likelihood ratio test) #> #> data: x #> X-squared = 4.1471, p-value = 0.1257 #> # There is no significant difference from a 1:2:1 ratio. # Meaning: resistance controlled by a single gene with two co-dominant # alleles, is plausible. # = EXAMPLE 2 = # Red crossbills (Loxia curvirostra) have the tip of the upper bill either # right or left of the lower bill, which helps them extract seeds from pine # cones. Some have hypothesized that frequency-dependent selection would # keep the number of right and left-billed birds at a 1:1 ratio. Groth (1992) # observed 1752 right-billed and 1895 left-billed crossbills. x <- c(1752, 1895) g.test(x) #> #> \tG-test of goodness-of-fit (likelihood ratio test) #> #> data: x #> X-squared = 5.6085, p-value = 0.01787 #> # There is a significant difference from a 1:1 ratio. # Meaning: there are significantly more left-billed birds."},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":null,"dir":"Reference","previous_headings":"","what":"Determine (New) Episodes for Patients — get_episode","title":"Determine (New) Episodes for Patients — get_episode","text":"functions determine items vector can considered (start ) new episode, based argument episode_days. can used determine clinical episodes epidemiological analysis. get_episode() function returns index number episode per group, is_new_episode() function returns values TRUE/FALSE indicate whether item vector start new episode.","code":""},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Determine (New) Episodes for Patients — get_episode","text":"","code":"get_episode(x, episode_days, ...) is_new_episode(x, episode_days, ...)"},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Determine (New) Episodes for Patients — get_episode","text":"x vector dates (class Date POSIXt), sorted internally determine episodes episode_days required episode length days, can also less day Inf, see Details ... ignored, place allow future extensions","code":""},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Determine (New) Episodes for Patients — get_episode","text":"get_episode(): double vector is_new_episode(): logical vector","code":""},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Determine (New) Episodes for Patients — get_episode","text":"Dates first sorted old new. oldest date mark start first episode. date, next date marked least episode_days days later start first episode. second marked date , next date marked least episode_days days later start second episode start third episode, . vector returned, original order restored. first_isolate() function wrapper around is_new_episode() function, efficient data sets containing microorganism codes names allows different isolate selection methods. dplyr package required functions work, functions support variable grouping work conveniently inside dplyr verbs filter(), mutate() summarise().","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/get_episode.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Determine (New) Episodes for Patients — get_episode","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates df <- example_isolates[sample(seq_len(2000), size = 200), ] get_episode(df$date, episode_days = 60) # indices #> [1] 18 63 33 7 6 44 11 62 32 15 4 7 35 59 25 42 38 20 2 49 36 21 14 59 32 #> [26] 14 19 3 31 38 11 55 64 14 50 38 60 4 7 51 27 12 4 53 8 21 60 8 2 14 #> [51] 6 31 9 58 27 1 63 23 10 7 23 61 4 56 9 60 19 56 44 48 14 23 33 28 54 #> [76] 26 19 61 6 60 28 28 28 59 3 58 30 5 34 60 18 46 42 18 6 62 38 39 17 7 #> [101] 40 43 5 49 31 33 51 54 56 34 31 52 3 43 45 31 40 38 5 62 8 3 13 16 46 #> [126] 35 48 65 19 28 48 48 60 54 14 32 60 52 27 1 57 14 53 64 34 28 33 19 9 13 #> [151] 51 52 4 6 64 27 14 56 63 20 47 8 37 37 56 10 32 11 25 6 27 17 52 26 34 #> [176] 12 22 18 29 64 40 24 62 48 16 58 41 30 36 43 32 58 14 58 32 61 26 24 1 56 is_new_episode(df$date, episode_days = 60) # TRUE/FALSE #> [1] FALSE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE #> [13] FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE #> [25] FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE #> [37] TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE #> [49] FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE FALSE #> [61] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE #> [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE #> [85] TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE #> [97] FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE #> [109] FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE FALSE #> [121] FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE #> [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE #> [145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE #> [157] FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE #> [169] FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE #> [181] FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE #> [193] FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE # filter on results from the third 60-day episode only, using base R df[which(get_episode(df$date, 60) == 3), ] #> # A tibble: 4 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-07-23 F35553 51 M ICU B_STPHY_AURS R NA S R #> 2 2002-06-06 24D393 20 F Clinical B_ESCHR_COLI R NA NA NA #> 3 2002-07-23 F35553 51 M ICU B_STPHY_AURS R NA S R #> 4 2002-06-06 24D393 20 F Clinical B_ESCHR_COLI R NA NA NA #> # … with 36 more variables: AMC , AMP , TZP , CZO , #> # FEP , CXM , FOX , CTX , CAZ , CRO , #> # GEN , TOB , AMK , KAN , TMP , SXT , #> # NIT , FOS , LNZ , CIP , MFX , VAN , #> # TEC , TCY , TGC , DOX , ERY , CLI , #> # AZM , IPM , MEM , MTR , CHL , COL , #> # MUP , RIF # the functions also work for less than a day, e.g. to include one per hour: get_episode(c( Sys.time(), Sys.time() + 60 * 60 ), episode_days = 1 / 24 ) #> [1] 1 2 # \\donttest{ if (require(\"dplyr\")) { # is_new_episode() can also be used in dplyr verbs to determine patient # episodes based on any (combination of) grouping variables: df %>% mutate(condition = sample( x = c(\"A\", \"B\", \"C\"), size = 200, replace = TRUE )) %>% group_by(condition) %>% mutate(new_episode = is_new_episode(date, 365)) %>% select(patient, date, condition, new_episode) } #> # A tibble: 200 × 4 #> # Groups: condition [3] #> patient date condition new_episode #> #> 1 E67091 2006-01-25 C FALSE #> 2 D80438 2017-06-28 A FALSE #> 3 B26404 2010-01-04 A FALSE #> 4 A73011 2003-08-13 A FALSE #> 5 53F0B8 2003-06-25 B FALSE #> 6 23C701 2012-07-27 B FALSE #> 7 022060 2004-05-04 C TRUE #> 8 976997 2017-03-02 A FALSE #> 9 22B987 2009-10-19 C FALSE #> 10 FB50D6 2005-04-24 C FALSE #> # … with 190 more rows if (require(\"dplyr\")) { df %>% group_by(ward, patient) %>% transmute(date, patient, new_index = get_episode(date, 60), new_logical = is_new_episode(date, 60) ) } #> # A tibble: 200 × 5 #> # Groups: ward, patient [177] #> ward date patient new_index new_logical #> #> 1 Clinical 2006-01-25 E67091 1 TRUE #> 2 ICU 2017-06-28 D80438 1 TRUE #> 3 Clinical 2010-01-04 B26404 1 TRUE #> 4 Clinical 2003-08-13 A73011 1 TRUE #> 5 Clinical 2003-06-25 53F0B8 1 TRUE #> 6 Clinical 2012-07-27 23C701 1 TRUE #> 7 ICU 2004-05-04 022060 1 TRUE #> 8 Clinical 2017-03-02 976997 1 TRUE #> 9 Clinical 2009-10-19 22B987 1 TRUE #> 10 ICU 2005-04-24 FB50D6 1 TRUE #> # … with 190 more rows if (require(\"dplyr\")) { df %>% group_by(ward) %>% summarise( n_patients = n_distinct(patient), n_episodes_365 = sum(is_new_episode(date, episode_days = 365)), n_episodes_60 = sum(is_new_episode(date, episode_days = 60)), n_episodes_30 = sum(is_new_episode(date, episode_days = 30)) ) } #> # A tibble: 3 × 5 #> ward n_patients n_episodes_365 n_episodes_60 n_episodes_30 #> #> 1 Clinical 108 14 50 67 #> 2 ICU 55 13 36 42 #> 3 Outpatient 14 8 12 12 if (require(\"dplyr\")) { # grouping on patients and microorganisms leads to the same # results as first_isolate() when using 'episode-based': x <- df %>% filter_first_isolate( include_unknown = TRUE, method = \"episode-based\" ) y <- df %>% group_by(patient, mo) %>% filter(is_new_episode(date, 365)) %>% ungroup() identical(x, y) } #> Including isolates from ICU. #> [1] FALSE if (require(\"dplyr\")) { # but is_new_episode() has a lot more flexibility than first_isolate(), # since you can now group on anything that seems relevant: df %>% group_by(patient, mo, ward) %>% mutate(flag_episode = is_new_episode(date, 365)) %>% select(group_vars(.), flag_episode) } #> # A tibble: 200 × 4 #> # Groups: patient, mo, ward [186] #> patient mo ward flag_episode #> #> 1 E67091 B_ENTRC_FCLS Clinical TRUE #> 2 D80438 B_CRYNB_STRT ICU TRUE #> 3 B26404 B_STPHY_CONS Clinical TRUE #> 4 A73011 B_STPHY_CONS Clinical TRUE #> 5 53F0B8 B_STPHY_CONS Clinical TRUE #> 6 23C701 B_PROTS_MRBL Clinical TRUE #> 7 022060 B_ENTRBC_CLOC ICU TRUE #> 8 976997 B_STRPT_PYGN Clinical TRUE #> 9 22B987 B_PSDMN_AERG Clinical TRUE #> 10 FB50D6 B_STPHY_EPDR ICU TRUE #> # … with 190 more rows # }"},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":null,"dir":"Reference","previous_headings":"","what":"PCA Biplot with ggplot2 — ggplot_pca","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"Produces ggplot2 variant -called biplot PCA (principal component analysis), flexible appealing base R biplot() function.","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"","code":"ggplot_pca( x, choices = 1:2, scale = 1, pc.biplot = TRUE, labels = NULL, labels_textsize = 3, labels_text_placement = 1.5, groups = NULL, ellipse = TRUE, ellipse_prob = 0.68, ellipse_size = 0.5, ellipse_alpha = 0.5, points_size = 2, points_alpha = 0.25, arrows = TRUE, arrows_colour = \"darkblue\", arrows_size = 0.5, arrows_textsize = 3, arrows_textangled = TRUE, arrows_alpha = 0.75, base_textsize = 10, ... )"},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"ggplot_pca() function based ggbiplot() function ggbiplot package Vince Vu, found GitHub: https://github.com/vqv/ggbiplot (retrieved: 2 March 2020, latest commit: 7325e88; 12 February 2015). per GPL-2 licence demands documentation code changes, changes made based source code : Rewritten code remove dependency packages plyr, scales grid Parametrised options, like arrow ellipse settings Hardened input possibilities defining exact type user input every argument Added total amount explained variance caption plot Cleaned syntax based lintr package, fixed grammatical errors added integrity checks Updated documentation","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"x object returned pca(), prcomp() princomp() choices length 2 vector specifying components plot. default biplot strict sense. scale variables scaled lambda ^ scale observations scaled lambda ^ (1-scale) lambda singular values computed princomp. Normally 0 <= scale <= 1, warning issued specified scale outside range. pc.biplot true, use Gabriel (1971) refers \"principal component biplot\", lambda = 1 observations scaled sqrt(n) variables scaled sqrt(n). inner products variables approximate covariances distances observations approximate Mahalanobis distance. labels optional vector labels observations. set, labels placed respective points. using pca() function input x, determined automatically based attribute non_numeric_cols, see pca(). labels_textsize size text used labels labels_text_placement adjustment factor placement variable names (>=1 means away arrow head) groups optional vector groups labels, length labels. set, points labels coloured according groups. using pca() function input x, determined automatically based attribute non_numeric_cols, see pca(). ellipse logical indicate whether normal data ellipse drawn group (set groups) ellipse_prob statistical size ellipse normal probability ellipse_size size ellipse line ellipse_alpha alpha (transparency) ellipse line points_size size points points_alpha alpha (transparency) points arrows logical indicate whether arrows drawn arrows_colour colour arrow text arrows_size size (thickness) arrow lines arrows_textsize size text end arrows arrows_textangled logical whether text end arrows angled arrows_alpha alpha (transparency) arrows text base_textsize text size plot elements except labels arrows ... arguments passed functions","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"colours labels points can changed adding another scale layer colour, scale_colour_viridis_d() scale_colour_brewer().","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_pca.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"PCA Biplot with ggplot2 — ggplot_pca","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. # \\donttest{ if (require(\"dplyr\")) { # calculate the resistance per group first resistance_data <- example_isolates %>% group_by( order = mo_order(mo), # group on anything, like order genus = mo_genus(mo) ) %>% # and genus as we do here; filter(n() >= 30) %>% # filter on only 30 results per group summarise_if(is.rsi, resistance) # then get resistance of all drugs # now conduct PCA for certain antimicrobial agents pca_result <- resistance_data %>% pca(AMC, CXM, CTX, CAZ, GEN, TOB, TMP, SXT) summary(pca_result) # old base R plotting method: biplot(pca_result) # new ggplot2 plotting method using this package: ggplot_pca(pca_result) if (require(\"ggplot2\")) { ggplot_pca(pca_result) + scale_colour_viridis_d() + labs(title = \"Title here\") } } #> Warning: Introducing NA: only 14 results available for PEN in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 13 results available for OXA in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 15 results available for OXA in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 13 results available for FLC in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for TZP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 12 results available for CZO in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 5 results available for CZO in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for FEP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 23 results available for FEP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 29 results available for FOX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMK in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for AMK in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 17 results available for AMK in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for NIT in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 17 results available for NIT in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 8 results available for FOS in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for FOS in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for LNZ in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 5 results available for CIP in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 23 results available for CIP in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MFX in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MFX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MFX in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for MFX in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MFX in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for TEC in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 3 results available for TCY in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for TCY in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 18 results available for TGC in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for TGC in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for DOX in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for IPM in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for MEM in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for MEM in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Caryophanales\", genus = \"Staphylococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 9 results available for COL in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for RIF in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for RIF in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> ℹ Columns selected for PCA: \"AMC\", \"CAZ\", \"CTX\", \"CXM\", \"GEN\", \"SXT\", \"TMP\" #> and \"TOB\". Total observations available: 7. #> Groups (n=4, named as 'order'): #> [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\" #> # }"},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":null,"dir":"Reference","previous_headings":"","what":"AMR Plots with ggplot2 — ggplot_rsi","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"Use functions create bar plots AMR data analysis. functions rely ggplot2 functions.","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"","code":"ggplot_rsi( data, position = NULL, x = \"antibiotic\", fill = \"interpretation\", facet = NULL, breaks = seq(0, 1, 0.1), limits = NULL, translate_ab = \"name\", combine_SI = TRUE, combine_IR = FALSE, minimum = 30, language = get_AMR_locale(), nrow = NULL, colours = c(S = \"#3CAEA3\", SI = \"#3CAEA3\", I = \"#F6D55C\", IR = \"#ED553B\", R = \"#ED553B\"), datalabels = TRUE, datalabels.size = 2.5, datalabels.colour = \"grey15\", title = NULL, subtitle = NULL, caption = NULL, x.title = \"Antimicrobial\", y.title = \"Proportion\", ... ) geom_rsi( position = NULL, x = c(\"antibiotic\", \"interpretation\"), fill = \"interpretation\", translate_ab = \"name\", minimum = 30, language = get_AMR_locale(), combine_SI = TRUE, combine_IR = FALSE, ... ) facet_rsi(facet = c(\"interpretation\", \"antibiotic\"), nrow = NULL) scale_y_percent(breaks = seq(0, 1, 0.1), limits = NULL) scale_rsi_colours(..., aesthetics = \"fill\") theme_rsi() labels_rsi_count( position = NULL, x = \"antibiotic\", translate_ab = \"name\", minimum = 30, language = get_AMR_locale(), combine_SI = TRUE, combine_IR = FALSE, datalabels.size = 3, datalabels.colour = \"grey15\" )"},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"data data.frame column(s) class rsi (see .rsi()) position position adjustment bars, either \"fill\", \"stack\" \"dodge\" x variable show x axis, either \"antibiotic\" (default) \"interpretation\" grouping variable fill variable categorise using plots legend, either \"antibiotic\" (default) \"interpretation\" grouping variable facet variable split plots , either \"interpretation\" (default) \"antibiotic\" grouping variable breaks numeric vector positions limits numeric vector length two providing limits scale, use NA refer existing minimum maximum translate_ab column name antibiotics data set translate antibiotic abbreviations , using ab_property() combine_SI logical indicate whether values S must merged one, output consists S+vs. R (susceptible vs. resistant). used argument combine_IR, now follows redefinition EUCAST interpretation (increased exposure) 2019, see section 'Interpretation S, R' . Default TRUE. combine_IR logical indicate whether values R must merged one, output consists S vs. +R (susceptible vs. non-susceptible). outdated, see argument combine_SI. minimum minimum allowed number available (tested) isolates. isolate count lower minimum return NA warning. default number 30 isolates advised Clinical Laboratory Standards Institute (CLSI) best practice, see Source. language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. nrow (using facet) number rows colours named vactor colour used filling. default colours colour-blind friendly. datalabels show datalabels using labels_rsi_count() datalabels.size size datalabels datalabels.colour colour datalabels title text show title plot subtitle text show subtitle plot caption text show caption plot x.title text show x axis description y.title text show y axis description ... arguments passed geom_rsi() , case scale_rsi_colours(), named values set colours. default colours colour-blind friendly, maintaining convention e.g. 'susceptible' green 'resistant' red. See Examples. aesthetics aesthetics apply colours , defaults \"fill\" can also (combination ) \"alpha\", \"colour\", \"fill\", \"linetype\", \"shape\" \"size\"","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"default, names antibiotics shown plots using ab_name(). can set translate_ab argument. See count_df().","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":"the-functions","dir":"Reference","previous_headings":"","what":"The Functions","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"geom_rsi() take variable data rsi class (created .rsi()) using rsi_df() plot bars percentage R, S. default behaviour bars stacked different antibiotics x axis. facet_rsi() creates 2d plots (default based S//R) using ggplot2::facet_wrap(). scale_y_percent() transforms y axis 0 100% range using ggplot2::scale_y_continuous(). scale_rsi_colours() sets colours bars (green S, yellow , red R). multilingual support. default colours colour-blind friendly, maintaining convention e.g. 'susceptible' green 'resistant' red. theme_rsi() [ggplot2 theme][ggplot2::theme() minimal distraction. labels_rsi_count() print datalabels bars percentage amount isolates using ggplot2::geom_text(). ggplot_rsi() wrapper around functions uses data first input. makes possible use function pipe (%>%). See Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/ggplot_rsi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"AMR Plots with ggplot2 — ggplot_rsi","text":"","code":"# \\donttest{ if (require(\"ggplot2\") && require(\"dplyr\")) { # get antimicrobial results for drugs against a UTI: ggplot(example_isolates %>% select(AMX, NIT, FOS, TMP, CIP)) + geom_rsi() } if (require(\"ggplot2\") && require(\"dplyr\")) { # prettify the plot using some additional functions: df <- example_isolates %>% select(AMX, NIT, FOS, TMP, CIP) ggplot(df) + geom_rsi() + scale_y_percent() + scale_rsi_colours() + labels_rsi_count() + theme_rsi() } if (require(\"ggplot2\") && require(\"dplyr\")) { # or better yet, simplify this using the wrapper function - a single command: example_isolates %>% select(AMX, NIT, FOS, TMP, CIP) %>% ggplot_rsi() } if (require(\"ggplot2\") && require(\"dplyr\")) { # get only proportions and no counts: example_isolates %>% select(AMX, NIT, FOS, TMP, CIP) %>% ggplot_rsi(datalabels = FALSE) } if (require(\"ggplot2\") && require(\"dplyr\")) { # add other ggplot2 arguments as you like: example_isolates %>% select(AMX, NIT, FOS, TMP, CIP) %>% ggplot_rsi( width = 0.5, colour = \"black\", size = 1, linetype = 2, alpha = 0.25 ) } if (require(\"ggplot2\") && require(\"dplyr\")) { # you can alter the colours with colour names: example_isolates %>% select(AMX) %>% ggplot_rsi(colours = c(SI = \"yellow\")) } if (require(\"ggplot2\") && require(\"dplyr\")) { # but you can also use the built-in colour-blind friendly colours for # your plots, where \"S\" is green, \"I\" is yellow and \"R\" is red: data.frame( x = c(\"Value1\", \"Value2\", \"Value3\"), y = c(1, 2, 3), z = c(\"Value4\", \"Value5\", \"Value6\") ) %>% ggplot() + geom_col(aes(x = x, y = y, fill = z)) + scale_rsi_colours(Value4 = \"S\", Value5 = \"I\", Value6 = \"R\") } if (require(\"ggplot2\") && require(\"dplyr\")) { # resistance of ciprofloxacine per age group example_isolates %>% mutate(first_isolate = first_isolate()) %>% filter( first_isolate == TRUE, mo == as.mo(\"Escherichia coli\") ) %>% # age_groups() is also a function in this AMR package: group_by(age_group = age_groups(age)) %>% select(age_group, CIP) %>% ggplot_rsi(x = \"age_group\") } #> Including isolates from ICU. #> Warning: Removed 6 rows containing missing values (position_stack). #> Warning: Removed 6 rows containing missing values (position_stack). if (require(\"ggplot2\") && require(\"dplyr\")) { # a shorter version which also adjusts data label colours: example_isolates %>% select(AMX, NIT, FOS, TMP, CIP) %>% ggplot_rsi(colours = FALSE) } if (require(\"ggplot2\") && require(\"dplyr\")) { # it also supports groups (don't forget to use the group var on `x` or `facet`): example_isolates %>% filter(mo_is_gram_negative(), ward != \"Outpatient\") %>% # select only UTI-specific drugs select(ward, AMX, NIT, FOS, TMP, CIP) %>% group_by(ward) %>% ggplot_rsi( x = \"ward\", facet = \"antibiotic\", nrow = 1, title = \"AMR of Anti-UTI Drugs Per Ward\", x.title = \"Ward\", datalabels = FALSE ) } #> ℹ Using column 'mo' as input for `mo_is_gram_negative()` # }"},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":null,"dir":"Reference","previous_headings":"","what":"Guess Antibiotic Column — guess_ab_col","title":"Guess Antibiotic Column — guess_ab_col","text":"tries find column name data set based information antibiotics data set. Also supports WHONET abbreviations.","code":""},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Guess Antibiotic Column — guess_ab_col","text":"","code":"guess_ab_col( x = NULL, search_string = NULL, verbose = FALSE, only_rsi_columns = FALSE )"},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Guess Antibiotic Column — guess_ab_col","text":"x data.frame search_string text search x , checked .ab() value column x verbose logical indicate whether additional info printed only_rsi_columns logical indicate whether antibiotic columns must detected transformed class (see .rsi()) beforehand (defaults FALSE)","code":""},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Guess Antibiotic Column — guess_ab_col","text":"column name x, NULL result found.","code":""},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Guess Antibiotic Column — guess_ab_col","text":"can look antibiotic (trade) name abbreviation search x antibiotics data set column containing name code antibiotic.","code":""},{"path":"https://msberends.github.io/AMR/reference/guess_ab_col.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Guess Antibiotic Column — guess_ab_col","text":"","code":"df <- data.frame( amox = \"S\", tetr = \"R\" ) guess_ab_col(df, \"amoxicillin\") #> [1] \"amox\" guess_ab_col(df, \"J01AA07\") # ATC code of tetracycline #> [1] \"tetr\" guess_ab_col(df, \"J01AA07\", verbose = TRUE) #> Auto-guessing columns suitable for analysis #> ... #> OK. #> ℹ Using column 'amox' as input for AMX (amoxicillin). #> ℹ Using column 'tetr' as input for TCY (tetracycline). #> ℹ Using column 'tetr' as input for J01AA07 (tetracycline). #> [1] \"tetr\" # NOTE: Using column 'tetr' as input for J01AA07 (tetracycline). # WHONET codes df <- data.frame( AMP_ND10 = \"R\", AMC_ED20 = \"S\" ) guess_ab_col(df, \"ampicillin\") #> [1] \"AMP_ND10\" guess_ab_col(df, \"J01CR02\") #> [1] \"AMC_ED20\" guess_ab_col(df, as.ab(\"augmentin\")) #> [1] \"AMC_ED20\""},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"Data set containing defined intrinsic resistance EUCAST bug-drug combinations.","code":""},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"","code":"intrinsic_resistant"},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"tibble 134,659 observations 2 variables: mo Microorganism ID ab Antibiotic ID","code":""},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"data set based 'EUCAST Expert Rules' 'EUCAST Intrinsic Resistance Unusual Phenotypes' v3.3 (2021).","code":""},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":"direct-download","dir":"Reference","previous_headings":"","what":"Direct download","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository. allow machine reading EUCAST CLSI guidelines, almost impossible MS Excel PDF files distributed EUCAST CLSI.","code":""},{"path":"https://msberends.github.io/AMR/reference/intrinsic_resistant.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with Bacterial Intrinsic Resistance — intrinsic_resistant","text":"","code":"intrinsic_resistant #> # A tibble: 134,659 × 2 #> mo ab #> #> 1 B_GRAMP ATM #> 2 B_GRAMP COL #> 3 B_GRAMP NAL #> 4 B_GRAMP PLB #> 5 B_GRAMP TEM #> 6 B_ABTRP ATM #> 7 B_ABTRP COL #> 8 B_ABTRP NAL #> 9 B_ABTRP PLB #> 10 B_ABTRP TEM #> # … with 134,649 more rows"},{"path":"https://msberends.github.io/AMR/reference/italicise_taxonomy.html","id":null,"dir":"Reference","previous_headings":"","what":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","title":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","text":"According binomial nomenclature, lowest four taxonomic levels (family, genus, species, subspecies) printed italics. function finds taxonomic names within strings makes italic.","code":""},{"path":"https://msberends.github.io/AMR/reference/italicise_taxonomy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","text":"","code":"italicise_taxonomy(string, type = c(\"markdown\", \"ansi\")) italicize_taxonomy(string, type = c(\"markdown\", \"ansi\"))"},{"path":"https://msberends.github.io/AMR/reference/italicise_taxonomy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","text":"string character (vector) type type conversion taxonomic names, either \"markdown\" \"ansi\", see Details","code":""},{"path":"https://msberends.github.io/AMR/reference/italicise_taxonomy.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","text":"function finds taxonomic names makes italic based microorganisms data set. taxonomic names can italicised using markdown (default) adding * taxonomic names, using ANSI colours adding \\033[3m \\033[23m taxonomic names. multiple ANSI colours available, conversion occur. function also supports abbreviation genus followed species, \"E. coli\" \"K. pneumoniae ozaenae\".","code":""},{"path":"https://msberends.github.io/AMR/reference/italicise_taxonomy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Italicise Taxonomic Families, Genera, Species, Subspecies — italicise_taxonomy","text":"","code":"italicise_taxonomy(\"An overview of Staphylococcus aureus isolates\") #> [1] \"An overview of *Staphylococcus aureus* isolates\" italicise_taxonomy(\"An overview of S. aureus isolates\") #> [1] \"An overview of *S. aureus* isolates\" cat(italicise_taxonomy(\"An overview of S. aureus isolates\", type = \"ansi\")) #> An overview of S. aureus isolates"},{"path":"https://msberends.github.io/AMR/reference/join.html","id":null,"dir":"Reference","previous_headings":"","what":"Join microorganisms to a Data Set — join","title":"Join microorganisms to a Data Set — join","text":"Join data set microorganisms easily existing data set character vector.","code":""},{"path":"https://msberends.github.io/AMR/reference/join.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Join microorganisms to a Data Set — join","text":"","code":"inner_join_microorganisms(x, by = NULL, suffix = c(\"2\", \"\"), ...) left_join_microorganisms(x, by = NULL, suffix = c(\"2\", \"\"), ...) right_join_microorganisms(x, by = NULL, suffix = c(\"2\", \"\"), ...) full_join_microorganisms(x, by = NULL, suffix = c(\"2\", \"\"), ...) semi_join_microorganisms(x, by = NULL, ...) anti_join_microorganisms(x, by = NULL, ...)"},{"path":"https://msberends.github.io/AMR/reference/join.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Join microorganisms to a Data Set — join","text":"x existing data set join, character vector. case character vector, resulting data.frame contain column 'x' values. variable join - left empty search column class mo (created .mo()) \"mo\" column name exists x, otherwise column name x values exist microorganisms$mo (= \"bacteria_id\"), another column microorganisms (named, like = c(\"bacteria_id\" = \"fullname\")) suffix non-joined duplicate variables x y, suffixes added output disambiguate . character vector length 2. ... ignored, place allow future extensions","code":""},{"path":"https://msberends.github.io/AMR/reference/join.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Join microorganisms to a Data Set — join","text":"data.frame","code":""},{"path":"https://msberends.github.io/AMR/reference/join.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Join microorganisms to a Data Set — join","text":"Note: opposed join() functions dplyr, character vectors supported default existing columns get suffix \"2\" newly joined columns get suffix. dplyr package installed, join functions used. Otherwise, much slower merge() interaction() functions base R used.","code":""},{"path":"https://msberends.github.io/AMR/reference/join.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Join microorganisms to a Data Set — join","text":"","code":"left_join_microorganisms(as.mo(\"K. pneumoniae\")) #> # A tibble: 1 × 22 #> mo fullname status kingdom phylum class order family genus species #> #> 1 B_KLBSL_PNMN Klebsiell… accep… Bacter… Pseud… Gamm… Ente… Enter… Kleb… pneumo… #> # … with 12 more variables: subspecies , rank , ref , #> # source , lpsn , lpsn_parent , lpsn_renamed_to , #> # gbif , gbif_parent , gbif_renamed_to , prevalence , #> # snomed left_join_microorganisms(\"B_KLBSL_PNMN\") #> # A tibble: 1 × 22 #> mo fullname status kingdom phylum class order family genus species #> #> 1 B_KLBSL_PNMN Klebsiell… accep… Bacter… Pseud… Gamm… Ente… Enter… Kleb… pneumo… #> # … with 12 more variables: subspecies , rank , ref , #> # source , lpsn , lpsn_parent , lpsn_renamed_to , #> # gbif , gbif_parent , gbif_renamed_to , prevalence , #> # snomed df <- data.frame( date = seq( from = as.Date(\"2018-01-01\"), to = as.Date(\"2018-01-07\"), by = 1 ), bacteria = as.mo(c( \"S. aureus\", \"MRSA\", \"MSSA\", \"STAAUR\", \"E. coli\", \"E. coli\", \"E. coli\" )), stringsAsFactors = FALSE ) colnames(df) #> [1] \"date\" \"bacteria\" df_joined <- left_join_microorganisms(df, \"bacteria\") colnames(df_joined) #> [1] \"date\" \"bacteria\" \"fullname\" \"status\" #> [5] \"kingdom\" \"phylum\" \"class\" \"order\" #> [9] \"family\" \"genus\" \"species\" \"subspecies\" #> [13] \"rank\" \"ref\" \"source\" \"lpsn\" #> [17] \"lpsn_parent\" \"lpsn_renamed_to\" \"gbif\" \"gbif_parent\" #> [21] \"gbif_renamed_to\" \"prevalence\" \"snomed\" # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% left_join_microorganisms() %>% colnames() } #> Joining, by = \"mo\" #> [1] \"date\" \"patient\" \"age\" \"gender\" #> [5] \"ward\" \"mo\" \"PEN\" \"OXA\" #> [9] \"FLC\" \"AMX\" \"AMC\" \"AMP\" #> [13] \"TZP\" \"CZO\" \"FEP\" \"CXM\" #> [17] \"FOX\" \"CTX\" \"CAZ\" \"CRO\" #> [21] \"GEN\" \"TOB\" \"AMK\" \"KAN\" #> [25] \"TMP\" \"SXT\" \"NIT\" \"FOS\" #> [29] \"LNZ\" \"CIP\" \"MFX\" \"VAN\" #> [33] \"TEC\" \"TCY\" \"TGC\" \"DOX\" #> [37] \"ERY\" \"CLI\" \"AZM\" \"IPM\" #> [41] \"MEM\" \"MTR\" \"CHL\" \"COL\" #> [45] \"MUP\" \"RIF\" \"fullname\" \"status\" #> [49] \"kingdom\" \"phylum\" \"class\" \"order\" #> [53] \"family\" \"genus\" \"species\" \"subspecies\" #> [57] \"rank\" \"ref\" \"source\" \"lpsn\" #> [61] \"lpsn_parent\" \"lpsn_renamed_to\" \"gbif\" \"gbif_parent\" #> [65] \"gbif_renamed_to\" \"prevalence\" \"snomed\" # }"},{"path":"https://msberends.github.io/AMR/reference/key_antimicrobials.html","id":null,"dir":"Reference","previous_headings":"","what":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","title":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","text":"functions can used determine first weighted isolates considering phenotype isolate selection (see first_isolate()). Using phenotype-based method determine first isolates reliable methods disregard phenotypes.","code":""},{"path":"https://msberends.github.io/AMR/reference/key_antimicrobials.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","text":"","code":"key_antimicrobials( x = NULL, col_mo = NULL, universal = c(\"ampicillin\", \"amoxicillin/clavulanic acid\", \"cefuroxime\", \"piperacillin/tazobactam\", \"ciprofloxacin\", \"trimethoprim/sulfamethoxazole\"), gram_negative = c(\"gentamicin\", \"tobramycin\", \"colistin\", \"cefotaxime\", \"ceftazidime\", \"meropenem\"), gram_positive = c(\"vancomycin\", \"teicoplanin\", \"tetracycline\", \"erythromycin\", \"oxacillin\", \"rifampin\"), antifungal = c(\"anidulafungin\", \"caspofungin\", \"fluconazole\", \"miconazole\", \"nystatin\", \"voriconazole\"), only_rsi_columns = FALSE, ... ) all_antimicrobials(x = NULL, only_rsi_columns = FALSE, ...) antimicrobials_equal( y, z, type = c(\"points\", \"keyantimicrobials\"), ignore_I = TRUE, points_threshold = 2, ... )"},{"path":"https://msberends.github.io/AMR/reference/key_antimicrobials.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","text":"x data.frame antibiotics columns, like AMX amox. Can left blank determine automatically col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). universal names broad-spectrum antimicrobial agents, case-insensitive. Set NULL ignore. See Details default agents. gram_negative names antibiotic agents Gram-positives, case-insensitive. Set NULL ignore. See Details default agents. gram_positive names antibiotic agents Gram-negatives, case-insensitive. Set NULL ignore. See Details default agents. antifungal names antifungal agents fungi, case-insensitive. Set NULL ignore. See Details default agents. only_rsi_columns logical indicate whether columns must included transformed class (see .rsi()) beforehand (defaults FALSE) ... ignored, place allow future extensions y, z character vectors compare type type determine weighed isolates; can \"keyantimicrobials\" \"points\", see Details ignore_I logical indicate whether antibiotic interpretations \"\" ignored type = \"keyantimicrobials\", see Details points_threshold minimum number points require differences antibiogram lead inclusion isolate type = \"points\", see Details","code":""},{"path":"https://msberends.github.io/AMR/reference/key_antimicrobials.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","text":"key_antimicrobials() all_antimicrobials() functions context-aware. means x argument can left blank used inside data.frame call, see Examples. function key_antimicrobials() returns character vector 12 antimicrobial results every isolate. function all_antimicrobials() returns character vector antimicrobial results every isolate. vectors can compared using antimicrobials_equal(), check two isolates generally antibiogram. Missing invalid values replaced dot (\".\") key_antimicrobials() ignored antimicrobials_equal(). Please see first_isolate() function important functions enable 'phenotype-based' method determination first isolates. default antimicrobial agents used rows (set universal) : Ampicillin Amoxicillin/clavulanic acid Cefuroxime Ciprofloxacin Piperacillin/tazobactam Trimethoprim/sulfamethoxazole default antimicrobial agents used Gram-negative bacteria (set gram_negative) : Cefotaxime Ceftazidime Colistin Gentamicin Meropenem Tobramycin default antimicrobial agents used Gram-positive bacteria (set gram_positive) : Erythromycin Oxacillin Rifampin Teicoplanin Tetracycline Vancomycin default antimicrobial agents used fungi (set antifungal) : Anidulafungin Caspofungin Fluconazole Miconazole Nystatin Voriconazole","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/key_antimicrobials.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"(Key) Antimicrobials for First Weighted Isolates — key_antimicrobials","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. # output of the `key_antimicrobials()` function could be like this: strainA <- \"SSSRR.S.R..S\" strainB <- \"SSSIRSSSRSSS\" # those strings can be compared with: antimicrobials_equal(strainA, strainB, type = \"keyantimicrobials\") #> [1] TRUE # TRUE, because I is ignored (as well as missing values) antimicrobials_equal(strainA, strainB, type = \"keyantimicrobials\", ignore_I = FALSE) #> [1] FALSE # FALSE, because I is not ignored and so the 4th [character] differs # \\donttest{ if (require(\"dplyr\")) { # set key antibiotics to a new variable my_patients <- example_isolates %>% mutate(keyab = key_antimicrobials(antifungal = NULL)) %>% # no need to define `x` mutate( # now calculate first isolates first_regular = first_isolate(col_keyantimicrobials = FALSE), # and first WEIGHTED isolates first_weighted = first_isolate(col_keyantimicrobials = \"keyab\") ) # Check the difference in this data set, 'weighted' results in more isolates: sum(my_patients$first_regular, na.rm = TRUE) sum(my_patients$first_weighted, na.rm = TRUE) } #> Including isolates from ICU. #> Including isolates from ICU. #> [1] 1395 # }"},{"path":"https://msberends.github.io/AMR/reference/kurtosis.html","id":null,"dir":"Reference","previous_headings":"","what":"Kurtosis of the Sample — kurtosis","title":"Kurtosis of the Sample — kurtosis","text":"Kurtosis measure \"tailedness\" probability distribution real-valued random variable. normal distribution kurtosis 3 excess kurtosis 0.","code":""},{"path":"https://msberends.github.io/AMR/reference/kurtosis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Kurtosis of the Sample — kurtosis","text":"","code":"kurtosis(x, na.rm = FALSE, excess = FALSE) # S3 method for default kurtosis(x, na.rm = FALSE, excess = FALSE) # S3 method for matrix kurtosis(x, na.rm = FALSE, excess = FALSE) # S3 method for data.frame kurtosis(x, na.rm = FALSE, excess = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/kurtosis.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Kurtosis of the Sample — kurtosis","text":"x vector values, matrix data.frame na.rm logical indicate whether NA values stripped computation proceeds excess logical indicate whether excess kurtosis returned, defined kurtosis minus 3.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/kurtosis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Kurtosis of the Sample — kurtosis","text":"","code":"kurtosis(rnorm(10000)) #> [1] 2.921036 kurtosis(rnorm(10000), excess = TRUE) #> [1] 0.001477015"},{"path":"https://msberends.github.io/AMR/reference/like.html","id":null,"dir":"Reference","previous_headings":"","what":"Vectorised Pattern Matching with Keyboard Shortcut — like","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"Convenient wrapper around grepl() match pattern: x %like% pattern. always returns logical vector always case-insensitive (use x %like_case% pattern case-sensitive matching). Also, pattern can long x compare items index vectors, can length iterate cases.","code":""},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"","code":"like(x, pattern, ignore.case = TRUE) x %like% pattern x %unlike% pattern x %like_case% pattern x %unlike_case% pattern"},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"Idea like function data.table package, although altered explained Details.","code":""},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"x character vector matches sought, object can coerced .character() character vector. pattern character vector containing regular expressions (character string fixed = TRUE) matched given character vector. Coerced .character() character string possible. ignore.case FALSE, pattern matching case sensitive TRUE, case ignored matching.","code":""},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"logical vector","code":""},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"like() %like%/%unlike% functions: case-insensitive (use %like_case%/%unlike_case% case-sensitive matching) Support multiple patterns Check pattern valid regular expression sets fixed = TRUE , greatly improve speed (vectorised pattern) Always use compatibility Perl unless fixed = TRUE, greatly improve speed Using RStudio? %like%/%unlike% functions can also directly inserted code Addins menu can keyboard shortcut like Shift+Ctrl+L Shift+Cmd+L (see menu Tools > Modify Keyboard Shortcuts...). keep pressing shortcut, inserted text iterated %like% -> %unlike% -> %like_case% -> %unlike_case%.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/like.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Vectorised Pattern Matching with Keyboard Shortcut — like","text":"","code":"a <- \"This is a test\" b <- \"TEST\" a %like% b #> [1] TRUE b %like% a #> [1] FALSE # also supports multiple patterns a <- c(\"Test case\", \"Something different\", \"Yet another thing\") b <- c(\"case\", \"diff\", \"yet\") a %like% b #> [1] TRUE TRUE TRUE a %unlike% b #> [1] FALSE FALSE FALSE a[1] %like% b #> [1] TRUE FALSE FALSE a %like% b[1] #> [1] TRUE FALSE FALSE # \\donttest{ # get isolates whose name start with 'Entero' (case-insensitive) example_isolates[which(mo_name() %like% \"^entero\"), ] #> ℹ Using column 'mo' as input for `mo_name()` #> # A tibble: 106 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-02-21 4FC193 69 M Clinic… B_ENTRC_FACM NA NA NA NA #> 2 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA #> 3 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA #> 4 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA #> 5 2003-04-20 6BC362 62 M ICU B_ENTRC NA NA NA NA #> 6 2003-04-21 6BC362 62 M ICU B_ENTRC NA NA NA NA #> 7 2003-08-13 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> 8 2003-08-13 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA #> 9 2003-09-05 F35553 52 M ICU B_ENTRC NA NA NA NA #> 10 2003-09-05 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> # … with 96 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF if (require(\"dplyr\")) { example_isolates %>% filter(mo_name() %like% \"^ent\") } #> ℹ Using column 'mo' as input for `mo_name()` #> # A tibble: 106 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2002-02-21 4FC193 69 M Clinic… B_ENTRC_FACM NA NA NA NA #> 2 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA #> 3 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA #> 4 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA #> 5 2003-04-20 6BC362 62 M ICU B_ENTRC NA NA NA NA #> 6 2003-04-21 6BC362 62 M ICU B_ENTRC NA NA NA NA #> 7 2003-08-13 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> 8 2003-08-13 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA #> 9 2003-09-05 F35553 52 M ICU B_ENTRC NA NA NA NA #> 10 2003-09-05 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R #> # … with 96 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF # }"},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":null,"dir":"Reference","previous_headings":"","what":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"Determine isolates multidrug-resistant organisms (MDRO) according international, national custom guidelines.","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"","code":"mdro( x = NULL, guideline = \"CMI2012\", col_mo = NULL, info = interactive(), pct_required_classes = 0.5, combine_SI = TRUE, verbose = FALSE, only_rsi_columns = FALSE, ... ) custom_mdro_guideline(..., as_factor = TRUE) brmo(x = NULL, only_rsi_columns = FALSE, ...) mrgn(x = NULL, only_rsi_columns = FALSE, ...) mdr_tb(x = NULL, only_rsi_columns = FALSE, ...) mdr_cmi2012(x = NULL, only_rsi_columns = FALSE, ...) eucast_exceptional_phenotypes(x = NULL, only_rsi_columns = FALSE, ...)"},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"See supported guidelines list publications used function.","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"x data.frame antibiotics columns, like AMX amox. Can left blank automatic determination. guideline specific guideline follow, see sections Supported international / national guidelines Using Custom Guidelines . left empty, publication Magiorakos et al. (see ) followed. col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). info logical indicate whether progress printed console, defaults print interactive sessions pct_required_classes minimal required percentage antimicrobial classes must available per isolate, rounded . example, default guideline, 17 antimicrobial classes must available S. aureus. Setting pct_required_classes argument 0.5 (default) means every S. aureus isolate least 8 different classes must available. lower number available classes return NA isolate. combine_SI logical indicate whether values S must merged one, resistance considered isolates R, . default behaviour mdro() function, follows redefinition EUCAST interpretation (increased exposure) 2019, see section 'Interpretation S, R' . using combine_SI = FALSE, resistance considered isolates R . verbose logical turn Verbose mode (default ). Verbose mode, function return MDRO results, instead returns data set logbook form extensive info isolates MDRO-positive, . only_rsi_columns logical indicate whether antibiotic columns must detected transformed class (see .rsi()) beforehand (defaults FALSE) ... case custom_mdro_guideline(): set rules, see section Using Custom Guidelines . Otherwise: column name antibiotic, see section Antibiotics . as_factor logical indicate whether returned value ordered factor (TRUE, default), otherwise character vector","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"CMI 2012 paper - function mdr_cmi2012() mdro(): Ordered factor levels Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant (XDR) < Pandrug-resistant (PDR) TB guideline - function mdr_tb() mdro(..., guideline = \"TB\"): Ordered factor levels Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant < Extensively drug-resistant German guideline - function mrgn() mdro(..., guideline = \"MRGN\"): Ordered factor levels Negative < 3MRGN < 4MRGN Everything else, except custom guidelines: Ordered factor levels Negative < Positive, unconfirmed < Positive. value \"Positive, unconfirmed\" means , according guideline, entirely sure isolate multi-drug resistant confirmed additional (e.g. molecular) tests","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"functions context-aware. means x argument can left blank used inside data.frame call, see Examples. pct_required_classes argument, values 1 divided 100. support fractions (0.75 3/4) percentages (75). Note: Every test involves Enterobacteriaceae family, internally performed using newly named order Enterobacterales, since Enterobacteriaceae family taxonomically reclassified Adeolu et al. 2016. , Enterobacteriaceae family Enterobacteriales () order. species old Enterobacteriaceae family still new Enterobacterales (without ) order, divided multiple families. way tests performed now mdro() function makes sure results 2016 2016 identical.","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"supported-international-national-guidelines","dir":"Reference","previous_headings":"","what":"Supported International / National Guidelines","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"Currently supported guidelines (case-insensitive): guideline = \"CMI2012\" (default) Magiorakos AP, Srinivasan et al. \"Multidrug-resistant, extensively drug-resistant pandrug-resistant bacteria: international expert proposal interim standard definitions acquired resistance.\" Clinical Microbiology Infection (2012) (link) guideline = \"EUCAST3.3\" (simply guideline = \"EUCAST\") European international guideline - EUCAST Expert Rules Version 3.3 \"Intrinsic Resistance Unusual Phenotypes\" (link) guideline = \"EUCAST3.2\" European international guideline - EUCAST Expert Rules Version 3.2 \"Intrinsic Resistance Unusual Phenotypes\" (link) guideline = \"EUCAST3.1\" European international guideline - EUCAST Expert Rules Version 3.1 \"Intrinsic Resistance Exceptional Phenotypes Tables\" (link) guideline = \"TB\" international guideline multi-drug resistant tuberculosis - World Health Organization \"Companion handbook guidelines programmatic management drug-resistant tuberculosis\" (link) guideline = \"MRGN\" German national guideline - Mueller et al. (2015) Antimicrobial Resistance Infection Control 4:7; doi:10.1186/s13756-015-0047-6 guideline = \"BRMO\" Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu \"WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) (ZKH)\" (link) Please suggest (country-specific) guidelines letting us know: https://github.com/msberends/AMR/issues/new.","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"using-custom-guidelines","dir":"Reference","previous_headings":"","what":"Using Custom Guidelines","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"Custom guidelines can set custom_mdro_guideline() function. great importance custom rules determine MDROs hospital, e.g., rules dependent ward, state contact isolation variables data. familiar case_when() function dplyr package, recognise input method set rules. Rules must set using R considers 'formula notation'. rule written tilde (~) consequence rule written tilde: row/isolate matches first rule, value first ~ (case 'Elderly Type ') set MDRO value. Otherwise, second rule tried . number rules unlimited. can print rules set console overview. Colours help reading console supports colours. outcome function can used guideline argument mdro() function: Rules can also combined custom rules using c(): rules set (custom object case) exported shared file location using saveRDS() collaborate multiple users. custom rules set imported using readRDS().","code":"custom <- custom_mdro_guideline(CIP == \"R\" & age > 60 ~ \"Elderly Type A\", ERY == \"R\" & age > 60 ~ \"Elderly Type B\") custom #> A set of custom MDRO rules: #> 1. CIP is \"R\" and age is higher than 60 -> Elderly Type A #> 2. ERY is \"R\" and age is higher than 60 -> Elderly Type B #> 3. Otherwise -> Negative #> #> Unmatched rows will return NA. x <- mdro(example_isolates, guideline = custom) table(x) #> Negative Elderly Type A Elderly Type B #> 1070 198 732 x <- mdro(example_isolates, guideline = c(custom, custom_mdro_guideline(ERY == \"R\" & age > 50 ~ \"Elderly Type C\"))) table(x) #> Negative Elderly Type A Elderly Type B Elderly Type C #> 961 198 732 109"},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"antibiotics","dir":"Reference","previous_headings":"","what":"Antibiotics","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"define antibiotics column names, leave determine automatically guess_ab_col() input text (case-insensitive), use NULL skip column (e.g. TIC = NULL skip ticarcillin). Manually defined non-existing columns skipped warning. following antibiotics eligible functions eucast_rules() mdro(). shown format 'name (antimicrobial ID, ATC code)', sorted alphabetically: Amikacin (AMK, S01AE08), amoxicillin (AMX, J01MA02), amoxicillin/clavulanic acid (AMC, J01MA23), ampicillin (AMP, J01MA04), ampicillin/sulbactam (SAM, J01MA08), arbekacin (ARB, J01MA19), aspoxicillin (APX, J01MA16), azidocillin (AZD, J01MA15), azithromycin (AZM, J01MA11), azlocillin (AZL, J01MA12), aztreonam (ATM, J01MA24), bacampicillin (BAM, J01MA07), bekanamycin (BEK, J01MA14), benzathine benzylpenicillin (BNB, D10AF05), benzathine phenoxymethylpenicillin (BNP, J01MA06), benzylpenicillin (PEN, J01MA01), besifloxacin (BES, J01MA18), biapenem (BIA, J01MA03), carbenicillin (CRB, J01MA17), carindacillin (CRN, J01MA10), cefacetrile (CAC, J01MA21), cefaclor (CEC, J01MA09), cefadroxil (CFR, J01MA05), cefaloridine (RID, P01AA05), cefamandole (MAN, J01MA22), cefatrizine (CTZ, J01MA13), cefazedone (CZD, J01CA01), cefazolin (CZO, J01CA04), cefcapene (CCP, J01CA12), cefdinir (CDR, J01CR05), cefditoren (DIT, J01CA13), cefepime (FEP, J01AA02), cefetamet (CAT, J01FA10), cefixime (CFM, J01FA09), cefmenoxime (CMX, J01CR02), cefmetazole (CMZ, J01AA08), cefodizime (DIZ, J01FA06), cefonicid (CID, J01CF04), cefoperazone (CFP, J01CF05), cefoperazone/sulbactam (CSL, J01CR01), ceforanide (CND, J01CA19), cefotaxime (CTX, J01CE04), cefotetan (CTT, J01CA09), cefotiam (CTF, J01DF01), cefoxitin (FOX, J01CA06), cefozopran (ZOP, J01CE08), cefpiramide (CPM, J01CE10), cefpirome (CPO, J01CE01), cefpodoxime (CPD, J01CA03), cefprozil (CPR, J01CA05), cefroxadine (CRD, J01CE07), cefsulodin (CFS, J01CF02), ceftaroline (CPT, J01CF01), ceftazidime (CAZ, J01CA07), ceftazidime/clavulanic acid (CCV, J01CA18), cefteram (CEM, J01CA11), ceftezole (CTL, J01CA14), ceftibuten (CTB, J01CF03), ceftizoxime (CZX, J01CA10), ceftobiprole medocaril (CFM1, J01CF06), ceftolozane/enzyme inhibitor (CEI, J01CE06), ceftriaxone (CRO, J01CE05), cefuroxime (CXM, J01CE02), cephalexin (LEX, J01CA02), cephalothin (CEP, J01CA08), cephapirin (HAP, J01CE09), cephradine (CED, J01CE03), chloramphenicol (CHL, J01CG01), ciprofloxacin (CIP, J01CA16), clarithromycin (CLR, J01CR04), clindamycin (CLI, J01CA15), clometocillin (CLM, J01CG02), cloxacillin (CLO, J01CA17), colistin (COL, J01CR03), cycloserine (CYC, J01DB10), dalbavancin (DAL, J01DC04), daptomycin (DAP, J01DB05), delafloxacin (DFX, J01DB02), dibekacin (DKB, J01DC03), dicloxacillin (DIC, J01DB07), dirithromycin (DIR, J01DB06), doripenem (DOR, J01DB04), doxycycline (DOX, J01DD17), enoxacin (ENX, J01DD15), epicillin (EPC, J01DD16), ertapenem (ETP, J01DE01), erythromycin (ERY, J01DD10), fleroxacin (FLE, J01DD08), flucloxacillin (FLC, J01DD05), flurithromycin (FLR1, J01DC09), fosfomycin (FOS, J01DD09), framycetin (FRM, J01DC06), fusidic acid (FUS, J01DD12), garenoxacin (GRN, J01DD62), gatifloxacin (GAT, J01DC11), gemifloxacin (GEM, J01DD01), gentamicin (GEN, J01DC05), grepafloxacin (GRX, J01DC07), hetacillin (HET, J01DC01), imipenem (IPM, J01DE03), isepamicin (ISE, J01DD11), josamycin (JOS, J01DE02), kanamycin (KAN, J01DD13), latamoxef (LTM, J01DC10), levofloxacin (LVX, J01DB11), levonadifloxacin (LND, J01DD03), lincomycin (LIN, J01DI02), linezolid (LNZ, J01DD02), lomefloxacin (LOM, J01DD52), loracarbef (LOR, J01DD18), mecillinam (MEC, J01DB12), meropenem (MEM, J01DD14), meropenem/vaborbactam (MEV, J01DD07), metampicillin (MTM, J01DI01), methicillin (MET, J01DI54), mezlocillin (MEZ, J01DD04), micronomicin (MCR, J01DC02), midecamycin (MID, J01DB01), minocycline (MNO, J01DB03), miocamycin (MCM, J01DB08), moxifloxacin (MFX, J01DB09), nadifloxacin (NAD, J01DD06), nafcillin (NAF, J01DC08), nalidixic acid (NAL, J01DH05), neomycin (NEO, J01DH04), netilmicin (NET, J01DH03), nitrofurantoin (NIT, J01DH51), norfloxacin (, J01DH02), ofloxacin (OFX, J01DH52), oleandomycin (OLE, J01XA02), oritavancin (ORI, J01XA01), oxacillin (OXA, J01XC01), pazufloxacin (PAZ, J01FA13), pefloxacin (PEF, J01FA01), penamecillin (PNM, J01FA14), phenethicillin (PHE, J01FA07), phenoxymethylpenicillin (PHN, J01FA03), piperacillin (PIP, J01FA11), piperacillin/tazobactam (TZP, J01FA05), pivampicillin (PVM, J01FA12), pivmecillinam (PME, J01FA16), plazomicin (PLZ, J01FA02), polymyxin B (PLB, J01FA15), pristinamycin (PRI, J01FA08), procaine benzylpenicillin (PRB, J01FF02), propicillin (PRP, J01FG01), prulifloxacin (PRU, J01FG02), quinupristin/dalfopristin (QDA, J04AB02), ribostamycin (RST, J01XX09), rifampicin (RIF, J01XX08), rokitamycin (ROK, J01AA07), roxithromycin (RXT, J01XB01), rufloxacin (RFL, J01XB02), sisomicin (SIS, J01XE01), sitafloxacin (SIT, J01AA12), solithromycin (SOL, J01EA01), sparfloxacin (SPX, J01XX01), spiramycin (SPI, J01BA01), streptoduocin (STR, J01GB06), streptomycin (STR1, J01GB12), sulbactam (SUL, J01GB13), sulbenicillin (SBC, J01GB09), sulfadiazine (SDI, D09AA01), sulfadiazine/trimethoprim (SLT1, J01GB03), sulfadimethoxine (SUD, J01GB11), sulfadimidine (SDM, J01GB04), sulfadimidine/trimethoprim (SLT2, S01AA22), sulfafurazole (SLF, J01GB05), sulfaisodimidine (SLF1, J01GB07), sulfalene (SLF2, J01GB14), sulfamazone (SZO, J01GB10), sulfamerazine (SLF3, J01GB08), sulfamerazine/trimethoprim (SLT3, J01GA02), sulfamethizole (SLF4, J01GA01), sulfamethoxazole (SMX, J01GB01), sulfamethoxypyridazine (SLF5, J01EE01), sulfametomidine (SLF6, J01MB02), sulfametoxydiazine (SLF7, J01FF01), sulfametrole/trimethoprim (SLT4, J01XA04), sulfamoxole (SLF8, J01XA05), sulfamoxole/trimethoprim (SLT5, J01XA03), sulfanilamide (SLF9, J04AB01), sulfaperin (SLF10, J01XX11), sulfaphenazole (SLF11, J01EC02), sulfapyridine (SLF12, J01ED01), sulfathiazole (SUT, J01EB03), sulfathiourea (SLF13, J01EB05), sultamicillin (SLT6, J01EB01), talampicillin (TAL, J01ED02), tazobactam (TAZ, J01ED09), tedizolid (TZD, J01ED07), teicoplanin (TEC, J01EB02), telavancin (TLV, J01EC01), telithromycin (TLT, J01ED05), temafloxacin (TMX, J01ED03), temocillin (TEM, J01ED04), tetracycline (TCY, J01EC03), ticarcillin (TIC, J01EB06), ticarcillin/clavulanic acid (TCC, J01ED06), tigecycline (TGC, J01ED08), tilbroquinol (TBQ, J01EB04), tobramycin (TOB, J01EB07), tosufloxacin (TFX, J01EB08), trimethoprim (TMP, J01EE02), trimethoprim/sulfamethoxazole (SXT, J01EE05), troleandomycin (TRL, J01EE07), trovafloxacin (TVA, J01EE03), vancomycin (VAN, J01EE04)","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"interpretation-of-r-and-s-i","dir":"Reference","previous_headings":"","what":"Interpretation of R and S/I","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"2019, European Committee Antimicrobial Susceptibility Testing (EUCAST) decided change definitions susceptibility testing categories R S/shown (https://www.eucast.org/newsiandr/). R = Resistant microorganism categorised Resistant high likelihood therapeutic failure even increased exposure. Exposure function mode administration, dose, dosing interval, infusion time, well distribution excretion antimicrobial agent influence infecting organism site infection. S = Susceptible microorganism categorised Susceptible, standard dosing regimen, high likelihood therapeutic success using standard dosing regimen agent. = Susceptible, Increased exposure microorganism categorised Susceptible, Increased exposure high likelihood therapeutic success exposure agent increased adjusting dosing regimen concentration site infection. AMR package honours (new) insight. Use susceptibility() (equal proportion_SI()) determine antimicrobial susceptibility count_susceptible() (equal count_SI()) count susceptible isolates.","code":""},{"path":"https://msberends.github.io/AMR/reference/mdro.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Determine Multidrug-Resistant Organisms (MDRO) — mdro","text":"","code":"out <- mdro(example_isolates, guideline = \"EUCAST\") #> (16 isolates had no test results) str(out) #> Ord.factor w/ 3 levels \"Negative\"<\"Positive, unconfirmed\"<..: 1 1 1 1 1 1 1 1 1 1 ... table(out) #> out #> Negative Positive, unconfirmed Positive #> 1978 0 6 out <- mdro(example_isolates, guideline = custom_mdro_guideline( AMX == \"R\" ~ \"Custom MDRO 1\", VAN == \"R\" ~ \"Custom MDRO 2\" ) ) table(out) #> out #> Negative Custom MDRO 1 Custom MDRO 2 #> 870 804 326 # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% mdro() %>% table() # no need to define `x` when used inside dplyr verbs: example_isolates %>% mutate(MDRO = mdro()) %>% pull(MDRO) %>% table() } #> (16 isolates had no test results) #> Warning: in `mdro()`: NA introduced for isolates where the available percentage of #> antimicrobial classes was below 50% (set with `pct_required_classes`) #> (16 isolates had no test results) #> Warning: in `mdro()`: NA introduced for isolates where the available percentage of #> antimicrobial classes was below 50% (set with `pct_required_classes`) #> . #> Negative Multi-drug-resistant (MDR) #> 1601 128 #> Extensively drug-resistant (XDR) Pandrug-resistant (PDR) #> 0 0 # }"},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":null,"dir":"Reference","previous_headings":"","what":"Mean AMR Distance — mean_amr_distance","title":"Mean AMR Distance — mean_amr_distance","text":"function calculates normalised mean antimicrobial resistance multiple observations.","code":""},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mean AMR Distance — mean_amr_distance","text":"","code":"mean_amr_distance(x, ...) # S3 method for default mean_amr_distance(x, ...) # S3 method for mic mean_amr_distance(x, ...) # S3 method for disk mean_amr_distance(x, ...) # S3 method for rsi mean_amr_distance(x, combine_SI = TRUE, ...) # S3 method for data.frame mean_amr_distance(x, ..., combine_SI = TRUE) distance_from_row(mean_distance, row)"},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Mean AMR Distance — mean_amr_distance","text":"x vector class rsi, rsi rsi, data.frame containing columns classes ... variables select (supports tidy selection column1:column4 (.mic)), can thus also antibiotic selectors combine_SI logical indicate whether values S must merged one, input consists S+vs. R (susceptible vs. resistant), defaults TRUE mean_distance outcome mean_amr_distance() row index, row number","code":""},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Mean AMR Distance — mean_amr_distance","text":"mean AMR distance normalised numeric value compare AMR test results can help identify similar isolates, without comparing antibiograms hand. common numeric data distance equal Z scores (number standard deviations mean). MIC values (see .mic()) transformed log2() first; distance calculated (log2(x) - mean(log2(x))) / sd(log2(x)). R/SI values (see .rsi()) transformed using \"S\" = 1, \"\" = 2, \"R\" = 3. combine_SI TRUE (default), \"\" considered 1. data sets, mean AMR distance calculated per variable, mean columns returned per row (using rowMeans()), see Examples. Use distance_from_row() subtract distances distance one row, see Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":"interpretation","dir":"Reference","previous_headings":"","what":"Interpretation","title":"Mean AMR Distance — mean_amr_distance","text":"Isolates distances less 0.01 difference considered similar. Differences lower 0.025 considered suspicious.","code":""},{"path":"https://msberends.github.io/AMR/reference/mean_amr_distance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Mean AMR Distance — mean_amr_distance","text":"","code":"x <- random_mic(10) x #> Class #> [1] 0.125 <=0.002 0.01 >=64 0.01 0.25 0.5 0.025 2 #> [10] 0.125 mean_amr_distance(x) #> [1] -0.009782872 -1.384392080 -0.849383842 2.063956687 -0.849383842 #> [6] 0.220632635 0.451048141 -0.544791110 0.911879154 -0.009782872 y <- data.frame( id = LETTERS[1:10], amox = random_mic(10, ab = \"amox\", mo = \"Escherichia coli\"), cipr = random_mic(10, ab = \"cipr\", mo = \"Escherichia coli\"), gent = random_mic(10, ab = \"gent\", mo = \"Escherichia coli\"), tobr = random_mic(10, ab = \"tobr\", mo = \"Escherichia coli\") ) y #> id amox cipr gent tobr #> 1 A 32 2 1 >=16 #> 2 B >=64 0.25 4 >=16 #> 3 C 16 0.0625 <=0.5 1 #> 4 D 16 0.5 <=0.5 4 #> 5 E <=2 2 16 8 #> 6 F >=64 0.25 8 4 #> 7 G 16 0.0625 8 4 #> 8 H 4 1 4 4 #> 9 I <=2 4 16 1 #> 10 J 32 2 16 1 mean_amr_distance(y) #> ℹ Calculating mean AMR distance based on columns \"amox\", \"cipr\", \"gent\", #> \"id\" and \"tobr\" #> Warning: NAs introduced by coercion #> [1] 0.4639259 0.4984972 -1.0321239 -0.3551673 0.2661953 0.2953882 #> [7] -0.2040150 -0.1307227 -0.1096856 0.3077079 y$amr_distance <- mean_amr_distance(y, where(is.mic)) #> ℹ Calculating mean AMR distance based on columns \"amox\", \"cipr\", \"gent\" and #> \"tobr\" y[order(y$amr_distance), ] #> id amox cipr gent tobr amr_distance #> 3 C 16 0.0625 <=0.5 1 -1.0321239 #> 4 D 16 0.5 <=0.5 4 -0.3551673 #> 7 G 16 0.0625 8 4 -0.2040150 #> 8 H 4 1 4 4 -0.1307227 #> 9 I <=2 4 16 1 -0.1096856 #> 5 E <=2 2 16 8 0.2661953 #> 6 F >=64 0.25 8 4 0.2953882 #> 10 J 32 2 16 1 0.3077079 #> 1 A 32 2 1 >=16 0.4639259 #> 2 B >=64 0.25 4 >=16 0.4984972 if (require(\"dplyr\")) { y %>% mutate( amr_distance = mean_amr_distance(., where(is.mic)), check_id_C = distance_from_row(amr_distance, id == \"C\") ) %>% arrange(check_id_C) } #> ℹ Calculating mean AMR distance based on columns \"amox\", \"cipr\", \"gent\" and #> \"tobr\" #> id amox cipr gent tobr amr_distance check_id_C #> 1 C 16 0.0625 <=0.5 1 -1.0321239 0.0000000 #> 2 D 16 0.5 <=0.5 4 -0.3551673 0.6769567 #> 3 G 16 0.0625 8 4 -0.2040150 0.8281090 #> 4 H 4 1 4 4 -0.1307227 0.9014012 #> 5 I <=2 4 16 1 -0.1096856 0.9224383 #> 6 E <=2 2 16 8 0.2661953 1.2983192 #> 7 F >=64 0.25 8 4 0.2953882 1.3275121 #> 8 J 32 2 16 1 0.3077079 1.3398318 #> 9 A 32 2 1 >=16 0.4639259 1.4960498 #> 10 B >=64 0.25 4 >=16 0.4984972 1.5306211 if (require(\"dplyr\")) { # support for groups example_isolates %>% filter(mo_genus() == \"Enterococcus\" & mo_species() != \"\") %>% select(mo, TCY, carbapenems()) %>% group_by(mo) %>% mutate(d = mean_amr_distance(., where(is.rsi))) %>% arrange(mo, d) } #> ℹ Using column 'mo' as input for `mo_genus()` #> ℹ Using column 'mo' as input for `mo_species()` #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> ℹ Calculating mean AMR distance based on columns \"IPM\", \"MEM\" and \"TCY\" #> # A tibble: 63 × 5 #> # Groups: mo [4] #> mo TCY IPM MEM d #> #> 1 B_ENTRC_AVIM S S NA NaN #> 2 B_ENTRC_AVIM S S NA NaN #> 3 B_ENTRC_CSSL NA S NA NA #> 4 B_ENTRC_FACM S S NA -2.66 #> 5 B_ENTRC_FACM S R R -0.423 #> 6 B_ENTRC_FACM S R R -0.423 #> 7 B_ENTRC_FACM NA R R 0.224 #> 8 B_ENTRC_FACM NA R R 0.224 #> 9 B_ENTRC_FACM NA R R 0.224 #> 10 B_ENTRC_FACM NA R R 0.224 #> # … with 53 more rows"},{"path":"https://msberends.github.io/AMR/reference/microorganisms.codes.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","title":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","text":"data set containing commonly used codes microorganisms, laboratory systems WHONET. Define set_mo_source(). searched using .mo() consequently mo_* functions.","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.codes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","text":"","code":"microorganisms.codes"},{"path":"https://msberends.github.io/AMR/reference/microorganisms.codes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","text":"tibble 5,411 observations 2 variables: code Commonly used code microorganism mo ID microorganism microorganisms data set","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.codes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/microorganisms.codes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with 5,411 Common Microorganism Codes — microorganisms.codes","text":"","code":"microorganisms.codes #> # A tibble: 5,411 × 2 #> code mo #> #> 1 _FAM_A- B_GRAMN #> 2 _FAM_A+ B_GRAMP #> 3 _FAM_AC B_GRAMP #> 4 _FAM_AE B_GRAMN #> 5 _FAM_AN B_GRAMN #> 6 _FAM_AO B_GRAMP #> 7 _FAM_AP UNKNOWN #> 8 _FAM_AS F_FUNGUS #> 9 _FAM_AT UNKNOWN #> 10 _FAM_AV UNKNOWN #> # … with 5,401 more rows"},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with 48,787 Microorganisms — microorganisms","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"data set containing full microbial taxonomy (last updated: 12 September, 2022) five kingdoms List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF). data set backbone AMR package. MO codes can looked using .mo().","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"","code":"microorganisms"},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"tibble 48,787 observations 22 variables: mo ID microorganism used package fullname Full name, like \"Escherichia coli\". taxonomic ranks genus, species subspecies, 'pasted' text genus, species, subspecies. taxonomic ranks higher genus, name taxon. status Status taxon, either \"accepted\" \"synonym\" kingdom, phylum, class, order, family, genus, species, subspecies Taxonomic rank microorganism rank Text taxonomic rank microorganism, \"species\" \"genus\" ref Author(s) year related scientific publication. contains first surname year latest authors, e.g. \"Wallis et al. 2006 emend. Smith Jones 2018\" becomes \"Smith et al., 2018\". field directly retrieved source specified column source. Moreover, accents removed comply CRAN allows ASCII characters, e.g. \"Váňová\" becomes \"Vanova\". lpsn Identifier ('Record number') List Prokaryotic names Standing Nomenclature (LPSN). first/highest LPSN identifier keep one identifier per row. example, Acetobacter ascendens LPSN Record number 7864 11011. first available microorganisms data set. lpsn_parent LPSN identifier parent taxon lpsn_renamed_to LPSN identifier currently valid taxon gbif Identifier ('taxonID') Global Biodiversity Information Facility (GBIF) gbif_parent GBIF identifier parent taxon gbif_renamed_to GBIF identifier currently valid taxon source Either \"GBIF\", \"LPSN\" \"manually added\" (see Source) prevalence Prevalence microorganism, see .mo() snomed Systematized Nomenclature Medicine (SNOMED) code microorganism, version 1 July, 2021 (see Source). Use mo_snomed() retrieve quickly, see mo_property().","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"Parte, AC et al. (2020). List Prokaryotic names Standing Nomenclature (LPSN) moves DSMZ. International Journal Systematic Evolutionary Microbiology, 70, 5607-5612; doi:10.1099/ijsem.0.004332 . Accessed https://lpsn.dsmz.de 12 September, 2022. GBIF Secretariat (November 26, 2021). GBIF Backbone Taxonomy. Checklist dataset doi:10.15468/39omei . Accessed https://www.gbif.org 12 September, 2022. Public Health Information Network Vocabulary Access Distribution System (PHIN VADS). US Edition SNOMED CT 1 September 2020. Value Set Name 'Microoganism', OID 2.16.840.1.114222.4.11.1009 (v12). URL: https://phinvads.cdc.gov","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"Please note entries based List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) (see ). Since sources incorporate entries based (recent) publications International Journal Systematic Evolutionary Microbiology (IJSEM), can happen year publication sometimes later one might expect. example, Staphylococcus pettenkoferi described first time Diagnostic Microbiology Infectious Disease 2002 (doi:10.1016/s0732-8893(02)00399-1 ), 2007 publication IJSEM followed (doi:10.1099/ijs.0.64381-0 ). Consequently, AMR package returns 2007 mo_year(\"S. pettenkoferi\").","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"included-taxa","dir":"Reference","previous_headings":"","what":"Included Taxa","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"Included taxonomic data : ~34,000 (sub)species kingdoms Archaea Bacteria ~7,400 (sub)species kingdom Fungi. kingdom Fungi large taxon almost 300,000 different (sub)species, microbial (rather macroscopic, like mushrooms). , fungi fit scope package. relevant fungi covered (species Aspergillus, Candida, Cryptococcus, Histoplasma, Pneumocystis, Saccharomyces Trichophyton). ~4,900 (sub)species kingdom Protozoa ~1,500 (sub)species ~50 relevant genera kingdom Animalia (Strongyloides Taenia) ~9,400 previously accepted names included (sub)species (taxonomically renamed) complete taxonomic tree included (sub)species: kingdom subspecies identifier parent taxons year first author related scientific publication","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"manual-additions","dir":"Reference","previous_headings":"","what":"Manual additions","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"convenience, entries added manually: 11 entries Streptococcus (beta-haemolytic: groups , B, C, D, F, G, H, K unspecified; : viridans, milleri) 2 entries Staphylococcus (coagulase-negative (CoNS) coagulase-positive (CoPS)) 1 entry Blastocystis (B. hominis), although officially exist (Noel et al. 2005, PMID 15634993) 1 entry Moraxella (M. catarrhalis), formally named Branhamella catarrhalis (Catlin, 1970) though change never accepted within field clinical microbiology 5 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast unknown fungus) syntax used transform original data cleansed R format, can found : https://github.com/msberends/AMR/blob/main/data-raw/reproduction_of_microorganisms.R.","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"direct-download","dir":"Reference","previous_headings":"","what":"Direct download","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"about-the-records-from-lpsn-see-source-","dir":"Reference","previous_headings":"","what":"About the Records from LPSN (see Source)","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"LPSN main source bacteriological taxonomy AMR package. List Prokaryotic names Standing Nomenclature (LPSN) provides comprehensive information nomenclature prokaryotes. LPSN free use service founded Jean P. Euzeby 1997 later maintained Aidan C. Parte.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/microorganisms.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with 48,787 Microorganisms — microorganisms","text":"","code":"microorganisms #> # A tibble: 48,787 × 22 #> mo fullname status kingdom phylum class order family genus #> #> 1 F_FUNGUS (unknown fun… accep… Fungi (unkn… \"(un… \"(un… \"(unk… \"(un… #> 2 B_GRAMN (unknown Gra… accep… Bacter… (unkn… \"(un… \"(un… \"(unk… \"(un… #> 3 B_GRAMP (unknown Gra… accep… Bacter… (unkn… \"(un… \"(un… \"(unk… \"(un… #> 4 UNKNOWN (unknown nam… accep… (unkno… (unkn… \"(un… \"(un… \"(unk… \"(un… #> 5 F_YEAST (unknown yea… accep… Fungi (unkn… \"(un… \"(un… \"(unk… \"(un… #> 6 B_[CLS]_ABDTBCTR Abditibacter… accep… Bacter… Armat… \"Abd… \"\" \"\" \"\" #> 7 B_[FAM]_ABDTBCTR Abditibacter… accep… Bacter… Abdit… \"Abd… \"Abd… \"Abdi… \"\" #> 8 B_[ORD]_ABDTBCTR Abditibacter… accep… Bacter… Abdit… \"Abd… \"Abd… \"\" \"\" #> 9 B_[CLS]_ADTBCTRA Abditibacter… accep… Bacter… Abdit… \"Abd… \"\" \"\" \"\" #> 10 B_[PHL]_ABDTBCTR Abditibacter… accep… Bacter… Abdit… \"\" \"\" \"\" \"\" #> # … with 48,777 more rows, and 13 more variables: species , #> # subspecies , rank , ref , source , lpsn , #> # lpsn_parent , lpsn_renamed_to , gbif , gbif_parent , #> # gbif_renamed_to , prevalence , snomed "},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the Matching Score for Microorganisms — mo_matching_score","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"algorithm used .mo() mo_* functions determine probable match taxonomic records based user input.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"","code":"mo_matching_score(x, n)"},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"x user input value(s) n full taxonomic name, exists microorganisms$fullname","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"algorithm described : Berends MS et al. (2022). AMR: R Package Working Antimicrobial Resistance Data. Journal Statistical Software, 104(3), 1-31; doi:10.18637/jss.v104.i03 .","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"matching-score-for-microorganisms","dir":"Reference","previous_headings":"","what":"Matching Score for Microorganisms","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"ambiguous user input .mo() mo_* functions, returned results chosen based matching score using mo_matching_score(). matching score \\(m\\), calculated : : x user input; n taxonomic name (genus, species, subspecies); ln length n; lev Levenshtein distance function (counting insertion 1, deletion substitution 2) needed change x n; pn human pathogenic prevalence group n, described ; kn taxonomic kingdom n, set Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, others = 5. grouping human pathogenic prevalence (\\(p\\)) based experience several microbiological laboratories Netherlands conjunction international reports pathogen prevalence: Group 1 (prevalent microorganisms) consists microorganisms taxonomic class Gammaproteobacteria taxonomic genus Enterococcus, Staphylococcus Streptococcus. group consequently contains common Gram-negative bacteria, Pseudomonas Legionella species within order Enterobacterales. Group 2 consists microorganisms taxonomic phylum Proteobacteria, Firmicutes, Actinobacteria Sarcomastigophora, taxonomic genus Absidia, Acanthamoeba, Acholeplasma, Acremonium, Actinotignum, Aedes, Alistipes, Alloprevotella, Alternaria, Amoeba, Anaerosalibacter, Ancylostoma, Angiostrongylus, Anisakis, Anopheles, Apophysomyces, Arachnia, Aspergillus, Aureobasidium, Bacteroides, Basidiobolus, Beauveria, Bergeyella, Blastocystis, Blastomyces, Borrelia, Brachyspira, Branhamella, Butyricimonas, Candida, Capillaria, Capnocytophaga, Catabacter, Cetobacterium, Chaetomium, Chlamydia, Chlamydophila, Chryseobacterium, Chrysonilia, Cladophialophora, Cladosporium, Conidiobolus, Contracaecum, Cordylobia, Cryptococcus, Curvularia, Deinococcus, Demodex, Dermatobia, Dientamoeba, Diphyllobothrium, Dirofilaria, Dysgonomonas, Echinostoma, Elizabethkingia, Empedobacter, Entamoeba, Enterobius, Exophiala, Exserohilum, Fasciola, Flavobacterium, Fonsecaea, Fusarium, Fusobacterium, Giardia, Haloarcula, Halobacterium, Halococcus, Hendersonula, Heterophyes, Histomonas, Histoplasma, Hymenolepis, Hypomyces, Hysterothylacium, Leishmania, Lelliottia, Leptosphaeria, Leptotrichia, Lucilia, Lumbricus, Malassezia, Malbranchea, Metagonimus, Meyerozyma, Microsporidium, Microsporum, Mortierella, Mucor, Mycocentrospora, Mycoplasma, Myroides, Necator, Nectria, Ochroconis, Odoribacter, Oesophagostomum, Oidiodendron, Opisthorchis, Ornithobacterium, Parabacteroides, Pediculus, Pedobacter, Phlebotomus, Phocaeicola, Phocanema, Phoma, Pichia, Piedraia, Pithomyces, Pityrosporum, Pneumocystis, Porphyromonas, Prevotella, Pseudallescheria, Pseudoterranova, Pulex, Rhizomucor, Rhizopus, Rhodotorula, Riemerella, Saccharomyces, Sarcoptes, Scolecobasidium, Scopulariopsis, Scytalidium, Sphingobacterium, Spirometra, Spiroplasma, Sporobolomyces, Stachybotrys, Streptobacillus, Strongyloides, Syngamus, Taenia, Tannerella, Tenacibaculum, Terrimonas, Toxocara, Treponema, Trichinella, Trichobilharzia, Trichoderma, Trichomonas, Trichophyton, Trichosporon, Trichostrongylus, Trichuris, Tritirachium, Trombicula, Trypanosoma, Tunga, Ureaplasma, Victivallis, Wautersiella, Weeksella Wuchereria. Group 3 consists microorganisms. characters \\(x\\) \\(n\\) ignored -Z, -z, 0-9, spaces parentheses. matches sorted descending matching score user input values, top match returned. lead effect e.g., \"E. coli\" return microbial ID Escherichia coli (\\(m = 0.688\\), highly prevalent microorganism found humans) Entamoeba coli (\\(m = 0.119\\), less prevalent microorganism humans), although latter alphabetically come first.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"Dr. Matthijs Berends","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_matching_score.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the Matching Score for Microorganisms — mo_matching_score","text":"","code":"as.mo(\"E. coli\") #> Class #> [1] B_ESCHR_COLI mo_uncertainties() #> Matching scores are based on the resemblance between the input and the full #> taxonomic name, and the pathogenicity in humans. See `?mo_matching_score`. #> #> -------------------------------------------------------------------------------- #> \"K. pneumoniae\" -> Klebsiella pneumoniae (B_KLBSL_PNMN, 0.786) #> Based on input \"K pneumoniae\" #> Also matched: Klebsiella pneumoniae ozaenae (0.707), Klebsiella pneumoniae #> pneumoniae (0.688), Klebsiella pneumoniae rhinoscleromatis (0.658) and #> Kroppenstedtia pulmonis (0.304) mo_matching_score( x = \"E. coli\", n = c(\"Escherichia coli\", \"Entamoeba coli\") ) #> [1] 0.6875000 0.1190476"},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Properties of a Microorganism — mo_property","title":"Get Properties of a Microorganism — mo_property","text":"Use functions return specific property microorganism based latest accepted taxonomy. input values evaluated internally .mo(), makes possible use microbial abbreviations, codes names input. See Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Properties of a Microorganism — mo_property","text":"","code":"mo_name( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_fullname( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_shortname( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_subspecies( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_species( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_genus( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_family( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_order( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_class( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_phylum( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_kingdom( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_domain( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_type( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_status( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_gramstain( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_is_gram_negative( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_is_gram_positive( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_is_yeast( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_is_intrinsic_resistant( x, ab, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_snomed( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_ref( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_authors( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_year( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_lpsn( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_gbif( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_rank( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_taxonomy( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_synonyms( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_current(x, language = get_AMR_locale(), ...) mo_info( x, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_url( x, open = FALSE, language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... ) mo_property( x, property = \"fullname\", language = get_AMR_locale(), keep_synonyms = getOption(\"AMR_keep_synonyms\", FALSE), ... )"},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Properties of a Microorganism — mo_property","text":"x character (vector) can coerced valid microorganism code .mo(). Can left blank auto-guessing column containing microorganism codes used data set, see Examples. language language translate text like \"growth\", defaults system language (see get_AMR_locale()) keep_synonyms logical indicate old, previously valid taxonomic names must preserved corrected currently accepted names. default FALSE, return note old taxonomic names processed. default can set options(AMR_keep_synonyms = TRUE) options(AMR_keep_synonyms = FALSE). ... arguments passed .mo(), 'minimum_matching_score', 'ignore_pattern', 'remove_from_input' ab (vector ) text can coerced valid antibiotic code .ab() open browse URL using browseURL() property one column names microorganisms data set: \"mo\", \"fullname\", \"status\", \"kingdom\", \"phylum\", \"class\", \"order\", \"family\", \"genus\", \"species\", \"subspecies\", \"rank\", \"ref\", \"source\", \"lpsn\", \"lpsn_parent\", \"lpsn_renamed_to\", \"gbif\", \"gbif_parent\", \"gbif_renamed_to\", \"prevalence\" \"snomed\", must \"shortname\"","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Properties of a Microorganism — mo_property","text":"integer case mo_year() list case mo_taxonomy(), mo_synonyms() mo_info() named character case mo_url() numeric case mo_snomed() character cases","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Properties of a Microorganism — mo_property","text":"functions , default, keep old taxonomic properties. Please refer example, knowing Escherichia blattae renamed Shimwellia blattae 2010: mo_name(\"Escherichia blattae\") return \"Shimwellia blattae\" (message renaming) mo_ref(\"Escherichia blattae\", keep_synonyms = TRUE) return \"Burgess et al., 1973\" (warning renaming) mo_ref(\"Shimwellia blattae\", keep_synonyms = FALSE) return \"Priest et al., 2010\" (without message) short name - mo_shortname() - almost always returns first character genus full species, like \"E. coli\". Exceptions abbreviations staphylococci (\"CoNS\", Coagulase-Negative Staphylococci) beta-haemolytic streptococci (\"GBS\", Group B Streptococci). Please bear mind e.g. E. coli mean Escherichia coli (kingdom Bacteria) well Entamoeba coli (kingdom Protozoa). Returning full name done using .mo() internally, giving priority bacteria human pathogens, .e. \"E. coli\" considered Escherichia coli. words, mo_fullname(mo_shortname(\"Entamoeba coli\")) returns \"Escherichia coli\". Since top-level taxonomy sometimes referred 'kingdom' sometimes 'domain', functions mo_kingdom() mo_domain() return exact results. Gram stain - mo_gramstain() - determined based taxonomic kingdom phylum. According Cavalier-Smith (2002, PMID 11837318), defined subkingdoms Negibacteria Posibacteria, phyla Posibacteria: Actinobacteria, Chloroflexi, Firmicutes Tenericutes. bacteria considered Gram-positive, except members class Negativicutes Gram-negative. Members bacterial phyla considered Gram-negative. Species outside kingdom Bacteria return value NA. Functions mo_is_gram_negative() mo_is_gram_positive() always return TRUE FALSE (except input NA MO code UNKNOWN), thus always return FALSE species outside taxonomic kingdom Bacteria. Determination yeasts - mo_is_yeast() - based taxonomic kingdom class. Budding yeasts fungi phylum Ascomycetes, class Saccharomycetes (also called Hemiascomycetes). True yeasts aggregated underlying order Saccharomycetales. Thus, microorganisms fungi member taxonomic class Saccharomycetes, function return TRUE. returns FALSE otherwise (except input NA MO code UNKNOWN). Intrinsic resistance - mo_is_intrinsic_resistant() - determined based intrinsic_resistant data set, based 'EUCAST Expert Rules' 'EUCAST Intrinsic Resistance Unusual Phenotypes' v3.3 (2021). mo_is_intrinsic_resistant() functions can vectorised arguments x (input microorganisms) ab (input antibiotics). output translated possible. function mo_url() return direct URL online database entry, also shows scientific reference concerned species. SNOMED codes - mo_snomed() - version 1 July, 2021. See Source microorganisms data set info. Old taxonomic names (-called 'synonyms') can retrieved mo_synonyms(), current taxonomic name can retrieved mo_current(). functions return full names.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"matching-score-for-microorganisms","dir":"Reference","previous_headings":"","what":"Matching Score for Microorganisms","title":"Get Properties of a Microorganism — mo_property","text":"ambiguous user input .mo() mo_* functions, returned results chosen based matching score using mo_matching_score(). matching score \\(m\\), calculated : : x user input; n taxonomic name (genus, species, subspecies); ln length n; lev Levenshtein distance function (counting insertion 1, deletion substitution 2) needed change x n; pn human pathogenic prevalence group n, described ; kn taxonomic kingdom n, set Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, others = 5. grouping human pathogenic prevalence (\\(p\\)) based experience several microbiological laboratories Netherlands conjunction international reports pathogen prevalence: Group 1 (prevalent microorganisms) consists microorganisms taxonomic class Gammaproteobacteria taxonomic genus Enterococcus, Staphylococcus Streptococcus. group consequently contains common Gram-negative bacteria, Pseudomonas Legionella species within order Enterobacterales. Group 2 consists microorganisms taxonomic phylum Proteobacteria, Firmicutes, Actinobacteria Sarcomastigophora, taxonomic genus Absidia, Acanthamoeba, Acholeplasma, Acremonium, Actinotignum, Aedes, Alistipes, Alloprevotella, Alternaria, Amoeba, Anaerosalibacter, Ancylostoma, Angiostrongylus, Anisakis, Anopheles, Apophysomyces, Arachnia, Aspergillus, Aureobasidium, Bacteroides, Basidiobolus, Beauveria, Bergeyella, Blastocystis, Blastomyces, Borrelia, Brachyspira, Branhamella, Butyricimonas, Candida, Capillaria, Capnocytophaga, Catabacter, Cetobacterium, Chaetomium, Chlamydia, Chlamydophila, Chryseobacterium, Chrysonilia, Cladophialophora, Cladosporium, Conidiobolus, Contracaecum, Cordylobia, Cryptococcus, Curvularia, Deinococcus, Demodex, Dermatobia, Dientamoeba, Diphyllobothrium, Dirofilaria, Dysgonomonas, Echinostoma, Elizabethkingia, Empedobacter, Entamoeba, Enterobius, Exophiala, Exserohilum, Fasciola, Flavobacterium, Fonsecaea, Fusarium, Fusobacterium, Giardia, Haloarcula, Halobacterium, Halococcus, Hendersonula, Heterophyes, Histomonas, Histoplasma, Hymenolepis, Hypomyces, Hysterothylacium, Leishmania, Lelliottia, Leptosphaeria, Leptotrichia, Lucilia, Lumbricus, Malassezia, Malbranchea, Metagonimus, Meyerozyma, Microsporidium, Microsporum, Mortierella, Mucor, Mycocentrospora, Mycoplasma, Myroides, Necator, Nectria, Ochroconis, Odoribacter, Oesophagostomum, Oidiodendron, Opisthorchis, Ornithobacterium, Parabacteroides, Pediculus, Pedobacter, Phlebotomus, Phocaeicola, Phocanema, Phoma, Pichia, Piedraia, Pithomyces, Pityrosporum, Pneumocystis, Porphyromonas, Prevotella, Pseudallescheria, Pseudoterranova, Pulex, Rhizomucor, Rhizopus, Rhodotorula, Riemerella, Saccharomyces, Sarcoptes, Scolecobasidium, Scopulariopsis, Scytalidium, Sphingobacterium, Spirometra, Spiroplasma, Sporobolomyces, Stachybotrys, Streptobacillus, Strongyloides, Syngamus, Taenia, Tannerella, Tenacibaculum, Terrimonas, Toxocara, Treponema, Trichinella, Trichobilharzia, Trichoderma, Trichomonas, Trichophyton, Trichosporon, Trichostrongylus, Trichuris, Tritirachium, Trombicula, Trypanosoma, Tunga, Ureaplasma, Victivallis, Wautersiella, Weeksella Wuchereria. Group 3 consists microorganisms. characters \\(x\\) \\(n\\) ignored -Z, -z, 0-9, spaces parentheses. matches sorted descending matching score user input values, top match returned. lead effect e.g., \"E. coli\" return microbial ID Escherichia coli (\\(m = 0.688\\), highly prevalent microorganism found humans) Entamoeba coli (\\(m = 0.119\\), less prevalent microorganism humans), although latter alphabetically come first.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Get Properties of a Microorganism — mo_property","text":"Berends MS et al. (2022). AMR: R Package Working Antimicrobial Resistance Data. Journal Statistical Software, 104(3), 1-31; doi:10.18637/jss.v104.i03 Becker K et al. (2014). Coagulase-Negative Staphylococci. Clin Microbiol Rev. 27(4): 870-926; doi:10.1128/CMR.00109-13 Becker K et al. (2019). Implications identifying recently defined members S. aureus complex, S. argenteus S. schweitzeri: position paper members ESCMID Study Group staphylococci Staphylococcal Diseases (ESGS). Clin Microbiol Infect; doi:10.1016/j.cmi.2019.02.028 Becker K et al. (2020). Emergence coagulase-negative staphylococci Expert Rev Anti Infect Ther. 18(4):349-366; doi:10.1080/14787210.2020.1730813 Lancefield RC (1933). serological differentiation human groups hemolytic streptococci. J Exp Med. 57(4): 571-95; doi:10.1084/jem.57.4.571 Berends MS et al. (2022). Trends Occurrence Phenotypic Resistance Coagulase-Negative Staphylococci (CoNS) Found Human Blood Northern Netherlands 2013 2019 Microorganisms 10(9), 1801; doi:10.3390/microorganisms10091801 Parte, AC et al. (2020). List Prokaryotic names Standing Nomenclature (LPSN) moves DSMZ. International Journal Systematic Evolutionary Microbiology, 70, 5607-5612; doi:10.1099/ijsem.0.004332 . Accessed https://lpsn.dsmz.de 12 September, 2022. GBIF Secretariat (November 26, 2021). GBIF Backbone Taxonomy. Checklist dataset doi:10.15468/39omei . Accessed https://www.gbif.org 12 September, 2022. Public Health Information Network Vocabulary Access Distribution System (PHIN VADS). US Edition SNOMED CT 1 September 2020. Value Set Name 'Microoganism', OID 2.16.840.1.114222.4.11.1009 (v12). URL: https://phinvads.cdc.gov","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Get Properties of a Microorganism — mo_property","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/mo_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get Properties of a Microorganism — mo_property","text":"","code":"# taxonomic tree ----------------------------------------------------------- mo_kingdom(\"Klebsiella pneumoniae\") #> [1] \"Bacteria\" mo_phylum(\"Klebsiella pneumoniae\") #> [1] \"Pseudomonadota\" mo_class(\"Klebsiella pneumoniae\") #> [1] \"Gammaproteobacteria\" mo_order(\"Klebsiella pneumoniae\") #> [1] \"Enterobacterales\" mo_family(\"Klebsiella pneumoniae\") #> [1] \"Enterobacteriaceae\" mo_genus(\"Klebsiella pneumoniae\") #> [1] \"Klebsiella\" mo_species(\"Klebsiella pneumoniae\") #> [1] \"pneumoniae\" mo_subspecies(\"Klebsiella pneumoniae\") #> [1] \"\" # colloquial properties ---------------------------------------------------- mo_name(\"Klebsiella pneumoniae\") #> [1] \"Klebsiella pneumoniae\" mo_fullname(\"Klebsiella pneumoniae\") #> [1] \"Klebsiella pneumoniae\" mo_shortname(\"Klebsiella pneumoniae\") #> [1] \"K. pneumoniae\" # other properties --------------------------------------------------------- mo_gramstain(\"Klebsiella pneumoniae\") #> [1] \"Gram-negative\" mo_snomed(\"Klebsiella pneumoniae\") #> [1] \"1098101000112102\" \"1098201000112108\" \"409801009\" \"446870005\" #> [5] \"56415008\" \"713926009\" \"714315002\" mo_type(\"Klebsiella pneumoniae\") #> [1] \"Bacteria\" mo_rank(\"Klebsiella pneumoniae\") #> [1] \"species\" mo_url(\"Klebsiella pneumoniae\") #> Klebsiella pneumoniae #> \"https://lpsn.dsmz.de/species/klebsiella-pneumoniae\" mo_synonyms(\"Klebsiella pneumoniae\") #> NULL # scientific reference ----------------------------------------------------- mo_ref(\"Klebsiella pneumoniae\") #> [1] \"Trevisan, 1887\" mo_authors(\"Klebsiella pneumoniae\") #> [1] \"Trevisan\" mo_year(\"Klebsiella pneumoniae\") #> [1] 1887 mo_lpsn(\"Klebsiella pneumoniae\") #> [1] \"777151\" mo_gbif(\"Klebsiella pneumoniae\") #> [1] \"3221874\" # abbreviations known in the field ----------------------------------------- mo_genus(\"MRSA\") #> [1] \"Staphylococcus\" mo_species(\"MRSA\") #> [1] \"aureus\" mo_shortname(\"VISA\") #> [1] \"S. aureus\" mo_gramstain(\"VISA\") #> [1] \"Gram-positive\" mo_genus(\"EHEC\") #> [1] \"Escherichia\" mo_species(\"EHEC\") #> [1] \"coli\" # known subspecies --------------------------------------------------------- mo_fullname(\"K. pneu rh\") #> [1] \"Klebsiella pneumoniae rhinoscleromatis\" mo_shortname(\"K. pneu rh\") #> [1] \"K. pneumoniae\" # \\donttest{ # Becker classification, see ?as.mo ---------------------------------------- mo_fullname(\"Staph. epidermidis\") #> [1] \"Staphylococcus epidermidis\" mo_fullname(\"Staph. epidermidis\", Becker = TRUE) #> [1] \"Coagulase-negative Staphylococcus (CoNS)\" mo_shortname(\"Staph. epidermidis\") #> [1] \"S. epidermidis\" mo_shortname(\"Staph. epidermidis\", Becker = TRUE) #> [1] \"CoNS\" # Lancefield classification, see ?as.mo ------------------------------------ mo_fullname(\"S. pyo\") #> [1] \"Streptococcus pyogenes\" mo_fullname(\"S. pyo\", Lancefield = TRUE) #> [1] \"Streptococcus group A\" mo_shortname(\"S. pyo\") #> [1] \"S. pyogenes\" mo_shortname(\"S. pyo\", Lancefield = TRUE) #> [1] \"GAS\" # language support -------------------------------------------------------- mo_gramstain(\"Klebsiella pneumoniae\", language = \"de\") # German #> [1] \"Gramnegativ\" mo_gramstain(\"Klebsiella pneumoniae\", language = \"nl\") # Dutch #> [1] \"Gram-negatief\" mo_gramstain(\"Klebsiella pneumoniae\", language = \"es\") # Spanish #> [1] \"Gram negativo\" mo_gramstain(\"Klebsiella pneumoniae\", language = \"el\") # Greek #> [1] \"Αρνητικό κατά Gram\" mo_gramstain(\"Klebsiella pneumoniae\", language = \"uk\") # Ukrainian #> [1] \"Грамнегативні\" # mo_type is equal to mo_kingdom, but mo_kingdom will remain official mo_kingdom(\"Klebsiella pneumoniae\") #> [1] \"Bacteria\" mo_type(\"Klebsiella pneumoniae\") #> [1] \"Bacteria\" mo_kingdom(\"Klebsiella pneumoniae\", language = \"zh\") # Chinese, no effect #> [1] \"Bacteria\" mo_type(\"Klebsiella pneumoniae\", language = \"zh\") # Chinese, translated #> [1] \"细菌\" mo_fullname(\"S. pyogenes\", Lancefield = TRUE, language = \"de\") #> [1] \"Streptococcus Gruppe A\" mo_fullname(\"S. pyogenes\", Lancefield = TRUE, language = \"uk\") #> [1] \"Streptococcus група A\" # other -------------------------------------------------------------------- mo_is_yeast(c(\"Candida\", \"Trichophyton\", \"Klebsiella\")) #> [1] TRUE FALSE FALSE # gram stains and intrinsic resistance can be used as a filter in dplyr verbs if (require(\"dplyr\")) { example_isolates %>% filter(mo_is_gram_positive()) %>% count(mo_genus(), sort = TRUE) } #> ℹ Using column 'mo' as input for `mo_is_gram_positive()` #> ℹ Using column 'mo' as input for `mo_genus()` #> # A tibble: 12 × 2 #> `mo_genus()` n #> #> 1 Staphylococcus 840 #> 2 Streptococcus 275 #> 3 Enterococcus 83 #> 4 Gemella 3 #> 5 Aerococcus 2 #> 6 Fusibacter 1 #> 7 Globicatella 1 #> 8 Granulicatella 1 #> 9 Lactobacillus 1 #> 10 Leuconostoc 1 #> 11 Listeria 1 #> 12 Paenibacillus 1 if (require(\"dplyr\")) { example_isolates %>% filter(mo_is_intrinsic_resistant(ab = \"vanco\")) %>% count(mo_genus(), sort = TRUE) } #> ℹ Using column 'mo' as input for `mo_is_intrinsic_resistant()` #> ℹ Using column 'mo' as input for `mo_genus()` #> # A tibble: 20 × 2 #> `mo_genus()` n #> #> 1 Escherichia 467 #> 2 Klebsiella 77 #> 3 Proteus 39 #> 4 Pseudomonas 30 #> 5 Serratia 25 #> 6 Enterobacter 23 #> 7 Citrobacter 11 #> 8 Haemophilus 8 #> 9 Acinetobacter 6 #> 10 Morganella 6 #> 11 Pantoea 4 #> 12 Salmonella 3 #> 13 Neisseria 2 #> 14 Stenotrophomonas 2 #> 15 Campylobacter 1 #> 16 Enterococcus 1 #> 17 Hafnia 1 #> 18 Lactobacillus 1 #> 19 Leuconostoc 1 #> 20 Pseudescherichia 1 # get a list with the complete taxonomy (from kingdom to subspecies) mo_taxonomy(\"Klebsiella pneumoniae\") #> $kingdom #> [1] \"Bacteria\" #> #> $phylum #> [1] \"Pseudomonadota\" #> #> $class #> [1] \"Gammaproteobacteria\" #> #> $order #> [1] \"Enterobacterales\" #> #> $family #> [1] \"Enterobacteriaceae\" #> #> $genus #> [1] \"Klebsiella\" #> #> $species #> [1] \"pneumoniae\" #> #> $subspecies #> [1] \"\" #> # get a list with the taxonomy, the authors, Gram-stain, # SNOMED codes, and URL to the online database mo_info(\"Klebsiella pneumoniae\") #> $kingdom #> [1] \"Bacteria\" #> #> $phylum #> [1] \"Pseudomonadota\" #> #> $class #> [1] \"Gammaproteobacteria\" #> #> $order #> [1] \"Enterobacterales\" #> #> $family #> [1] \"Enterobacteriaceae\" #> #> $genus #> [1] \"Klebsiella\" #> #> $species #> [1] \"pneumoniae\" #> #> $subspecies #> [1] \"\" #> #> $status #> [1] \"accepted\" #> #> $synonyms #> NULL #> #> $gramstain #> [1] \"Gram-negative\" #> #> $url #> [1] \"https://lpsn.dsmz.de/species/klebsiella-pneumoniae\" #> #> $ref #> [1] \"Trevisan, 1887\" #> #> $snomed #> [1] \"1098101000112102\" \"1098201000112108\" \"409801009\" \"446870005\" #> [5] \"56415008\" \"713926009\" \"714315002\" #> # }"},{"path":"https://msberends.github.io/AMR/reference/mo_source.html","id":null,"dir":"Reference","previous_headings":"","what":"User-Defined Reference Data Set for Microorganisms — mo_source","title":"User-Defined Reference Data Set for Microorganisms — mo_source","text":"functions can used predefine reference used .mo() consequently mo_* functions (mo_genus() mo_gramstain()). fastest way organisation (analysis) specific codes picked translated package, since bother setting .","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_source.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"User-Defined Reference Data Set for Microorganisms — mo_source","text":"","code":"set_mo_source( path, destination = getOption(\"AMR_mo_source\", \"~/mo_source.rds\") ) get_mo_source(destination = getOption(\"AMR_mo_source\", \"~/mo_source.rds\"))"},{"path":"https://msberends.github.io/AMR/reference/mo_source.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"User-Defined Reference Data Set for Microorganisms — mo_source","text":"path location reference file, can text file (comma-, tab- pipe-separated) Excel file (see Details). Can also \"\", NULL FALSE delete reference file. destination destination compressed data file, default user's home directory.","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_source.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"User-Defined Reference Data Set for Microorganisms — mo_source","text":"reference file can text file separated commas (CSV) tabs pipes, Excel file (either 'xls' 'xlsx' format) R object file (extension '.rds'). use Excel file, need readxl package installed. set_mo_source() check file validity: must data.frame, must column named \"mo\" contains values microorganisms$mo microorganisms$fullname must reference column defined values. tests pass, set_mo_source() read file R ask export \"~/mo_source.rds\". CRAN policy disallows packages write file system, although 'exceptions may allowed interactive sessions package obtains confirmation user'. reason, function works interactive sessions user can specifically confirm allow file created. destination file can set destination argument defaults user's home directory. can also set R option, using options(AMR_mo_source = \"/location/file.rds\"). created compressed data file \"mo_source.rds\" used default MO determination (function .mo() consequently mo_* functions like mo_genus() mo_gramstain()). location timestamp original file saved attribute compressed data file. function get_mo_source() return data set reading \"mo_source.rds\" readRDS(). original file changed (checking location timestamp original file), call set_mo_source() update data file automatically used interactive session. Reading Excel file (.xlsx) one row size 8-9 kB. compressed file created set_mo_source() size 0.1 kB can read get_mo_source() couple microseconds (millionths second).","code":""},{"path":"https://msberends.github.io/AMR/reference/mo_source.html","id":"how-to-setup","dir":"Reference","previous_headings":"","what":"How to Setup","title":"User-Defined Reference Data Set for Microorganisms — mo_source","text":"Imagine data sheet Excel file. first column contains organisation specific codes, second column contains valid taxonomic names: save \"home//ourcodes.xlsx\". Now set source: now created file \"~/mo_source.rds\" contents Excel file. first column foreign values 'mo' column kept creating RDS file. now can use functions: edit Excel file , say, adding row 4 like : ...new usage MO function package update data file: delete reference data file, just use \"\", NULL FALSE input set_mo_source(): original file (previous case Excel file) moved deleted, mo_source.rds file removed upon next use .mo() mo_* function.","code":"| A | B | --|--------------------|-----------------------| 1 | Organisation XYZ | mo | 2 | lab_mo_ecoli | Escherichia coli | 3 | lab_mo_kpneumoniae | Klebsiella pneumoniae | 4 | | | set_mo_source(\"home/me/ourcodes.xlsx\") #> NOTE: Created mo_source file '/Users/me/mo_source.rds' (0.3 kB) from #> '/Users/me/Documents/ourcodes.xlsx' (9 kB), columns #> \"Organisation XYZ\" and \"mo\" as.mo(\"lab_mo_ecoli\") #> Class #> [1] B_ESCHR_COLI mo_genus(\"lab_mo_kpneumoniae\") #> [1] \"Klebsiella\" # other input values still work too as.mo(c(\"Escherichia coli\", \"E. coli\", \"lab_mo_ecoli\")) #> NOTE: Translation to one microorganism was guessed with uncertainty. #> Use mo_uncertainties() to review it. #> Class #> [1] B_ESCHR_COLI B_ESCHR_COLI B_ESCHR_COLI | A | B | --|--------------------|-----------------------| 1 | Organisation XYZ | mo | 2 | lab_mo_ecoli | Escherichia coli | 3 | lab_mo_kpneumoniae | Klebsiella pneumoniae | 4 | lab_Staph_aureus | Staphylococcus aureus | 5 | | | as.mo(\"lab_mo_ecoli\") #> NOTE: Updated mo_source file '/Users/me/mo_source.rds' (0.3 kB) from #> '/Users/me/Documents/ourcodes.xlsx' (9 kB), columns #> \"Organisation XYZ\" and \"mo\" #> Class #> [1] B_ESCHR_COLI mo_genus(\"lab_Staph_aureus\") #> [1] \"Staphylococcus\" set_mo_source(NULL) #> Removed mo_source file '/Users/me/mo_source.rds'"},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":null,"dir":"Reference","previous_headings":"","what":"Principal Component Analysis (for AMR) — pca","title":"Principal Component Analysis (for AMR) — pca","text":"Performs principal component analysis (PCA) based data set automatic determination afterwards plotting groups labels, automatic filtering suitable (.e. non-empty numeric) variables.","code":""},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Principal Component Analysis (for AMR) — pca","text":"","code":"pca( x, ..., retx = TRUE, center = TRUE, scale. = TRUE, tol = NULL, rank. = NULL )"},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Principal Component Analysis (for AMR) — pca","text":"x data.frame containing numeric columns ... columns x selected PCA, can unquoted since supports quasiquotation. retx logical value indicating whether rotated variables returned. center logical value indicating whether variables shifted zero centered. Alternately, vector length equal number columns x can supplied. value passed scale. scale. logical value indicating whether variables scaled unit variance analysis takes place. default FALSE consistency S, general scaling advisable. Alternatively, vector length equal number columns x can supplied. value passed scale. tol value indicating magnitude components omitted. (Components omitted standard deviations less equal tol times standard deviation first component.) default null setting, components omitted (unless rank. specified less min(dim(x)).). settings tol tol = 0 tol = sqrt(.Machine$double.eps), omit essentially constant components. rank. optionally, number specifying maximal rank, .e., maximal number principal components used. Can set alternative addition tol, useful notably desired rank considerably smaller dimensions matrix.","code":""},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Principal Component Analysis (for AMR) — pca","text":"object classes pca prcomp","code":""},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Principal Component Analysis (for AMR) — pca","text":"pca() function takes data.frame input performs actual PCA R function prcomp(). result pca() function prcomp object, additional attribute non_numeric_cols vector column names columns contain numeric values. probably groups labels, used ggplot_pca().","code":""},{"path":"https://msberends.github.io/AMR/reference/pca.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Principal Component Analysis (for AMR) — pca","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. # \\donttest{ if (require(\"dplyr\")) { # calculate the resistance per group first resistance_data <- example_isolates %>% group_by( order = mo_order(mo), # group on anything, like order genus = mo_genus(mo) ) %>% # and genus as we do here; filter(n() >= 30) %>% # filter on only 30 results per group summarise_if(is.rsi, resistance) # then get resistance of all drugs # now conduct PCA for certain antimicrobial agents pca_result <- resistance_data %>% pca(AMC, CXM, CTX, CAZ, GEN, TOB, TMP, SXT) pca_result summary(pca_result) # old base R plotting method: biplot(pca_result) # new ggplot2 plotting method using this package: ggplot_pca(pca_result) if (require(\"ggplot2\")) { ggplot_pca(pca_result) + scale_colour_viridis_d() + labs(title = \"Title here\") } } #> Warning: Introducing NA: only 14 results available for PEN in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 13 results available for OXA in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 15 results available for OXA in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for OXA in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 13 results available for FLC in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FLC in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for TZP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 12 results available for CZO in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 5 results available for CZO in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for FEP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 23 results available for FEP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 29 results available for FOX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for AMK in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for AMK in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 17 results available for AMK in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for KAN in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for NIT in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 17 results available for NIT in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 8 results available for FOS in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for FOS in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for FOS in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for LNZ in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 5 results available for CIP in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 23 results available for CIP in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MFX in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MFX in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MFX in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for MFX in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MFX in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 6 results available for TEC in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 3 results available for TCY in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for TCY in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 18 results available for TGC in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 7 results available for TGC in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for DOX in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for DOX in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 27 results available for IPM in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: only 25 results available for MEM in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 26 results available for MEM in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Caryophanales\", genus = \"Staphylococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 2 results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MTR in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for CHL in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: only 9 results available for COL in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Escherichia\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Klebsiella\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Enterobacterales\", genus = \"Proteus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for MUP in group: order = #> \"Pseudomonadales\", genus = \"Pseudomonas\" (`minimum` = 30). #> Warning: Introducing NA: no results available for RIF in group: order = #> \"Lactobacillales\", genus = \"Enterococcus\" (`minimum` = 30). #> Warning: Introducing NA: no results available for RIF in group: order = #> \"Lactobacillales\", genus = \"Streptococcus\" (`minimum` = 30). #> ℹ Columns selected for PCA: \"AMC\", \"CAZ\", \"CTX\", \"CXM\", \"GEN\", \"SXT\", \"TMP\" #> and \"TOB\". Total observations available: 7. #> Groups (n=4, named as 'order'): #> [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\" #> # }"},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Plotting for Classes rsi, mic and disk — plot","title":"Plotting for Classes rsi, mic and disk — plot","text":"Functions plot classes rsi, mic disk, support base R ggplot2.","code":""},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plotting for Classes rsi, mic and disk — plot","text":"","code":"# S3 method for mic plot( x, mo = NULL, ab = NULL, guideline = \"EUCAST\", main = deparse(substitute(x)), ylab = \"Frequency\", xlab = \"Minimum Inhibitory Concentration (mg/L)\", colours_RSI = c(\"#ED553B\", \"#3CAEA3\", \"#F6D55C\"), language = get_AMR_locale(), expand = TRUE, ... ) # S3 method for mic autoplot( object, mo = NULL, ab = NULL, guideline = \"EUCAST\", title = deparse(substitute(object)), ylab = \"Frequency\", xlab = \"Minimum Inhibitory Concentration (mg/L)\", colours_RSI = c(\"#ED553B\", \"#3CAEA3\", \"#F6D55C\"), language = get_AMR_locale(), expand = TRUE, ... ) # S3 method for mic fortify(object, ...) # S3 method for disk plot( x, main = deparse(substitute(x)), ylab = \"Frequency\", xlab = \"Disk diffusion diameter (mm)\", mo = NULL, ab = NULL, guideline = \"EUCAST\", colours_RSI = c(\"#ED553B\", \"#3CAEA3\", \"#F6D55C\"), language = get_AMR_locale(), expand = TRUE, ... ) # S3 method for disk autoplot( object, mo = NULL, ab = NULL, title = deparse(substitute(object)), ylab = \"Frequency\", xlab = \"Disk diffusion diameter (mm)\", guideline = \"EUCAST\", colours_RSI = c(\"#ED553B\", \"#3CAEA3\", \"#F6D55C\"), language = get_AMR_locale(), expand = TRUE, ... ) # S3 method for disk fortify(object, ...) # S3 method for rsi plot( x, ylab = \"Percentage\", xlab = \"Antimicrobial Interpretation\", main = deparse(substitute(x)), language = get_AMR_locale(), ... ) # S3 method for rsi autoplot( object, title = deparse(substitute(object)), xlab = \"Antimicrobial Interpretation\", ylab = \"Frequency\", colours_RSI = c(\"#ED553B\", \"#3CAEA3\", \"#F6D55C\"), language = get_AMR_locale(), ... ) # S3 method for rsi fortify(object, ...)"},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plotting for Classes rsi, mic and disk — plot","text":"x, object values created .mic(), .disk() .rsi() (random_* variants, random_mic()) mo (vector ) text can coerced valid microorganism code .mo() ab (vector ) text can coerced valid antimicrobial code .ab() guideline interpretation guideline use, defaults latest included EUCAST guideline, see Details main, title title plot xlab, ylab axis title colours_RSI colours use filling bars, must vector three values (order R, S ). default colours colour-blind friendly. language language used translate 'Susceptible', 'Increased exposure'/'Intermediate' 'Resistant', defaults system language (see get_AMR_locale()) can overwritten setting option AMR_locale, e.g. options(AMR_locale = \"de\"), see translate. Use language = NULL language = \"\" prevent translation. expand logical indicate whether range x axis expanded lowest highest value. MIC values, intermediate values factors 2 starting highest MIC value. disk diameters, whole diameter range filled. ... arguments passed methods","code":""},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plotting for Classes rsi, mic and disk — plot","text":"autoplot() functions return ggplot model extendible ggplot2 function. fortify() functions return data.frame extension usage ggplot2::ggplot() function.","code":""},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plotting for Classes rsi, mic and disk — plot","text":"interpretation \"\" named \"Increased exposure\" EUCAST guidelines since 2019, named \"Intermediate\" cases. interpreting MIC values well disk diffusion diameters, supported guidelines used input guideline argument : \"EUCAST 2022\", \"EUCAST 2021\", \"EUCAST 2020\", \"EUCAST 2019\", \"EUCAST 2018\", \"EUCAST 2017\", \"EUCAST 2016\", \"EUCAST 2015\", \"EUCAST 2014\", \"EUCAST 2013\", \"EUCAST 2012\", \"EUCAST 2011\", \"CLSI 2022\", \"CLSI 2021\", \"CLSI 2020\", \"CLSI 2019\", \"CLSI 2018\", \"CLSI 2017\", \"CLSI 2016\", \"CLSI 2015\", \"CLSI 2014\", \"CLSI 2013\", \"CLSI 2012\" \"CLSI 2011\". Simply using \"CLSI\" \"EUCAST\" input automatically select latest version guideline.","code":""},{"path":"https://msberends.github.io/AMR/reference/plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plotting for Classes rsi, mic and disk — plot","text":"","code":"some_mic_values <- random_mic(size = 100) some_disk_values <- random_disk(size = 100, mo = \"Escherichia coli\", ab = \"cipro\") some_rsi_values <- random_rsi(50, prob_RSI = c(0.30, 0.55, 0.05)) plot(some_mic_values) plot(some_disk_values) plot(some_rsi_values) # when providing the microorganism and antibiotic, colours will show interpretations: plot(some_mic_values, mo = \"S. aureus\", ab = \"ampicillin\") plot(some_disk_values, mo = \"Escherichia coli\", ab = \"cipro\") plot(some_disk_values, mo = \"Escherichia coli\", ab = \"cipro\", language = \"uk\") # \\donttest{ if (require(\"ggplot2\")) { autoplot(some_mic_values) } if (require(\"ggplot2\")) { autoplot(some_disk_values, mo = \"Escherichia coli\", ab = \"cipro\") } if (require(\"ggplot2\")) { autoplot(some_rsi_values) } # }"},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate Microbial Resistance — proportion","title":"Calculate Microbial Resistance — proportion","text":"functions can used calculate (co-)resistance susceptibility microbial isolates (.e. percentage S, SI, , IR R). functions support quasiquotation pipes, can used summarise() dplyr package also support grouped variables, see Examples. resistance() used calculate resistance, susceptibility() used calculate susceptibility.","code":""},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate Microbial Resistance — proportion","text":"","code":"resistance(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) susceptibility(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_R(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_IR(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_I(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_SI(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_S(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) proportion_df( data, translate_ab = \"name\", language = get_AMR_locale(), minimum = 30, as_percent = FALSE, combine_SI = TRUE, combine_IR = FALSE ) rsi_df( data, translate_ab = \"name\", language = get_AMR_locale(), minimum = 30, as_percent = FALSE, combine_SI = TRUE, combine_IR = FALSE )"},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Calculate Microbial Resistance — proportion","text":"M39 Analysis Presentation Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.","code":""},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate Microbial Resistance — proportion","text":"... one vectors (columns) antibiotic interpretations. transformed internally .rsi() needed. Use multiple columns calculate (lack ) co-resistance: probability one two drugs resistant susceptible result. See Examples. minimum minimum allowed number available (tested) isolates. isolate count lower minimum return NA warning. default number 30 isolates advised Clinical Laboratory Standards Institute (CLSI) best practice, see Source. as_percent logical indicate whether output must returned hundred fold % sign (character). value 0.123456 returned \"12.3%\". only_all_tested (combination therapies, .e. using one variable ...): logical indicate isolates must tested antibiotics, see section Combination Therapy data data.frame containing columns class rsi (see .rsi()) translate_ab column name antibiotics data set translate antibiotic abbreviations , using ab_property() language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. combine_SI logical indicate whether values S must merged one, output consists S+vs. R (susceptible vs. resistant). used argument combine_IR, now follows redefinition EUCAST interpretation (increased exposure) 2019, see section 'Interpretation S, R' . Default TRUE. combine_IR logical indicate whether values R must merged one, output consists S vs. +R (susceptible vs. non-susceptible). outdated, see argument combine_SI.","code":""},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate Microbial Resistance — proportion","text":"double , as_percent = TRUE, character.","code":""},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate Microbial Resistance — proportion","text":"function resistance() equal function proportion_R(). function susceptibility() equal function proportion_SI(). Remember filter data let contain first isolates! needed exclude duplicates reduce selection bias. Use first_isolate() determine data set. functions meant count isolates, calculate proportion resistance/susceptibility. Use count() functions count isolates. function susceptibility() essentially equal count_susceptible() / count_all(). Low counts can influence outcome - proportion functions may camouflage , since return proportion (albeit dependent minimum argument). function proportion_df() takes variable data rsi class (created .rsi()) calculates proportions R, S. also supports grouped variables. function rsi_df() works exactly like proportion_df(), adds number isolates.","code":""},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"combination-therapy","dir":"Reference","previous_headings":"","what":"Combination Therapy","title":"Calculate Microbial Resistance — proportion","text":"using one variable ... (= combination therapy), use only_all_tested count isolates tested antibiotics/variables test . See example two antibiotics, Drug Drug B, susceptibility() works calculate %SI: Please note , combination therapies, only_all_tested = TRUE applies : , combination therapies, only_all_tested = FALSE applies : Using only_all_tested impact using one antibiotic input.","code":"-------------------------------------------------------------------- only_all_tested = FALSE only_all_tested = TRUE ----------------------- ----------------------- Drug A Drug B include as include as include as include as numerator denominator numerator denominator -------- -------- ---------- ----------- ---------- ----------- S or I S or I X X X X R S or I X X X X S or I X X - - S or I R X X X X R R - X - X R - - - - S or I X X - - R - - - - - - - - -------------------------------------------------------------------- count_S() + count_I() + count_R() = count_all() proportion_S() + proportion_I() + proportion_R() = 1 count_S() + count_I() + count_R() >= count_all() proportion_S() + proportion_I() + proportion_R() >= 1"},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"interpretation-of-r-and-s-i","dir":"Reference","previous_headings":"","what":"Interpretation of R and S/I","title":"Calculate Microbial Resistance — proportion","text":"2019, European Committee Antimicrobial Susceptibility Testing (EUCAST) decided change definitions susceptibility testing categories R S/shown (https://www.eucast.org/newsiandr/). R = Resistant microorganism categorised Resistant high likelihood therapeutic failure even increased exposure. Exposure function mode administration, dose, dosing interval, infusion time, well distribution excretion antimicrobial agent influence infecting organism site infection. S = Susceptible microorganism categorised Susceptible, standard dosing regimen, high likelihood therapeutic success using standard dosing regimen agent. = Susceptible, Increased exposure microorganism categorised Susceptible, Increased exposure high likelihood therapeutic success exposure agent increased adjusting dosing regimen concentration site infection. AMR package honours (new) insight. Use susceptibility() (equal proportion_SI()) determine antimicrobial susceptibility count_susceptible() (equal count_SI()) count susceptible isolates.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/proportion.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate Microbial Resistance — proportion","text":"","code":"# example_isolates is a data set available in the AMR package. # run ?example_isolates for more info. # base R ------------------------------------------------------------ resistance(example_isolates$AMX) # determines %R #> [1] 0.5955556 susceptibility(example_isolates$AMX) # determines %S+I #> [1] 0.4044444 # be more specific proportion_S(example_isolates$AMX) #> [1] 0.4022222 proportion_SI(example_isolates$AMX) #> [1] 0.4044444 proportion_I(example_isolates$AMX) #> [1] 0.002222222 proportion_IR(example_isolates$AMX) #> [1] 0.5977778 proportion_R(example_isolates$AMX) #> [1] 0.5955556 # dplyr ------------------------------------------------------------- # \\donttest{ if (require(\"dplyr\")) { example_isolates %>% group_by(ward) %>% summarise( r = resistance(CIP), n = n_rsi(CIP) ) # n_rsi works like n_distinct in dplyr, see ?n_rsi example_isolates %>% group_by(ward) %>% summarise( R = resistance(CIP, as_percent = TRUE), SI = susceptibility(CIP, as_percent = TRUE), n1 = count_all(CIP), # the actual total; sum of all three n2 = n_rsi(CIP), # same - analogous to n_distinct total = n() ) # NOT the number of tested isolates! # Calculate co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy: example_isolates %>% susceptibility(AMC) # %SI = 76.3% example_isolates %>% count_all(AMC) # n = 1879 example_isolates %>% susceptibility(GEN) # %SI = 75.4% example_isolates %>% count_all(GEN) # n = 1855 example_isolates %>% susceptibility(AMC, GEN) # %SI = 94.1% example_isolates %>% count_all(AMC, GEN) # n = 1939 # See Details on how `only_all_tested` works. Example: example_isolates %>% summarise( numerator = count_susceptible(AMC, GEN), denominator = count_all(AMC, GEN), proportion = susceptibility(AMC, GEN) ) example_isolates %>% summarise( numerator = count_susceptible(AMC, GEN, only_all_tested = TRUE), denominator = count_all(AMC, GEN, only_all_tested = TRUE), proportion = susceptibility(AMC, GEN, only_all_tested = TRUE) ) example_isolates %>% group_by(ward) %>% summarise( cipro_p = susceptibility(CIP, as_percent = TRUE), cipro_n = count_all(CIP), genta_p = susceptibility(GEN, as_percent = TRUE), genta_n = count_all(GEN), combination_p = susceptibility(CIP, GEN, as_percent = TRUE), combination_n = count_all(CIP, GEN) ) # Get proportions S/I/R immediately of all rsi columns example_isolates %>% select(AMX, CIP) %>% proportion_df(translate = FALSE) # It also supports grouping variables # (use rsi_df to also include the count) example_isolates %>% select(ward, AMX, CIP) %>% group_by(ward) %>% rsi_df(translate = FALSE) } #> # A tibble: 12 × 5 #> ward antibiotic interpretation value isolates #> * #> 1 Clinical AMX SI 0.423 357 #> 2 Clinical AMX R 0.577 487 #> 3 Clinical CIP SI 0.853 741 #> 4 Clinical CIP R 0.147 128 #> 5 ICU AMX SI 0.369 158 #> 6 ICU AMX R 0.631 270 #> 7 ICU CIP SI 0.810 362 #> 8 ICU CIP R 0.190 85 #> 9 Outpatient AMX SI 0.397 31 #> 10 Outpatient AMX R 0.603 47 #> 11 Outpatient CIP SI 0.839 78 #> 12 Outpatient CIP R 0.161 15 # }"},{"path":"https://msberends.github.io/AMR/reference/random.html","id":null,"dir":"Reference","previous_headings":"","what":"Random MIC Values/Disk Zones/RSI Generation — random","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"functions can used generating random MIC values disk diffusion diameters, AMR data analysis practice. providing microorganism antimicrobial agent, generated results reflect reality much possible.","code":""},{"path":"https://msberends.github.io/AMR/reference/random.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"","code":"random_mic(size = NULL, mo = NULL, ab = NULL, ...) random_disk(size = NULL, mo = NULL, ab = NULL, ...) random_rsi(size = NULL, prob_RSI = c(0.33, 0.33, 0.33), ...)"},{"path":"https://msberends.github.io/AMR/reference/random.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"size desired size returned vector. used data.frame call dplyr verb, get current (group) size left blank. mo character can coerced valid microorganism code .mo() ab character can coerced valid antimicrobial agent code .ab() ... ignored, place allow future extensions prob_RSI vector length 3: probabilities \"R\" (1st value), \"S\" (2nd value) \"\" (3rd value)","code":""},{"path":"https://msberends.github.io/AMR/reference/random.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"class random_mic() (see .mic()) class random_disk() (see .disk())","code":""},{"path":"https://msberends.github.io/AMR/reference/random.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"base R function sample() used generating values. Generated values based EUCAST 2022 guideline implemented rsi_translation data set. create specific generated values per bug drug, set mo /ab argument.","code":""},{"path":"https://msberends.github.io/AMR/reference/random.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Random MIC Values/Disk Zones/RSI Generation — random","text":"","code":"random_mic(25) #> Class #> [1] 0.25 0.025 2 32 128 32 0.5 2 32 #> [10] 0.002 0.005 <=0.001 >=256 2 128 0.5 <=0.001 8 #> [19] 128 0.125 0.125 2 8 1 8 random_disk(25) #> Class #> [1] 45 21 42 40 33 36 34 29 9 20 43 34 40 49 28 43 44 37 43 20 35 16 11 47 15 random_rsi(25) #> Class #> [1] R R S S I I S R R S R S S R R I I S S R I I S I I # \\donttest{ # make the random generation more realistic by setting a bug and/or drug: random_mic(25, \"Klebsiella pneumoniae\") # range 0.0625-64 #> Class #> [1] 2 2 0.0625 0.005 >=128 0.005 2 0.005 0.0625 1 #> [11] 0.001 0.01 0.5 0.001 8 0.001 16 16 16 0.01 #> [21] 8 1 32 64 8 random_mic(25, \"Klebsiella pneumoniae\", \"meropenem\") # range 0.0625-16 #> Class #> [1] 1 0.5 2 <=0.25 1 8 8 0.5 2 1 #> [11] 2 2 8 4 >=16 >=16 1 <=0.25 4 0.5 #> [21] 8 0.5 >=16 8 4 random_mic(25, \"Streptococcus pneumoniae\", \"meropenem\") # range 0.0625-4 #> Class #> [1] 0.0625 1 0.125 0.125 0.125 >=4 0.5 0.125 1 0.125 #> [11] 2 2 >=4 >=4 0.25 2 >=4 0.0625 1 2 #> [21] 0.0625 1 0.5 1 0.5 random_disk(25, \"Klebsiella pneumoniae\") # range 8-50 #> Class #> [1] 23 14 32 50 15 38 35 50 21 34 41 36 46 49 43 41 9 20 20 27 31 21 13 46 22 random_disk(25, \"Klebsiella pneumoniae\", \"ampicillin\") # range 11-17 #> Class #> [1] 15 13 11 14 12 14 15 15 17 14 17 13 11 16 17 12 14 17 17 17 12 14 13 15 16 random_disk(25, \"Streptococcus pneumoniae\", \"ampicillin\") # range 12-27 #> Class #> [1] 22 23 20 22 18 23 21 16 20 23 23 19 15 26 27 20 22 19 22 16 21 20 15 19 26 # }"},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":null,"dir":"Reference","previous_headings":"","what":"Predict Antimicrobial Resistance — resistance_predict","title":"Predict Antimicrobial Resistance — resistance_predict","text":"Create prediction model predict antimicrobial resistance next years statistical solid ground. Standard errors (SE) returned columns se_min se_max. See Examples real live example.","code":""},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Predict Antimicrobial Resistance — resistance_predict","text":"","code":"resistance_predict( x, col_ab, col_date = NULL, year_min = NULL, year_max = NULL, year_every = 1, minimum = 30, model = NULL, I_as_S = TRUE, preserve_measurements = TRUE, info = interactive(), ... ) rsi_predict( x, col_ab, col_date = NULL, year_min = NULL, year_max = NULL, year_every = 1, minimum = 30, model = NULL, I_as_S = TRUE, preserve_measurements = TRUE, info = interactive(), ... ) # S3 method for resistance_predict plot(x, main = paste(\"Resistance Prediction of\", x_name), ...) ggplot_rsi_predict( x, main = paste(\"Resistance Prediction of\", x_name), ribbon = TRUE, ... ) # S3 method for resistance_predict autoplot( object, main = paste(\"Resistance Prediction of\", x_name), ribbon = TRUE, ... )"},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Predict Antimicrobial Resistance — resistance_predict","text":"x data.frame containing isolates. Can left blank automatic determination, see Examples. col_ab column name x containing antimicrobial interpretations (\"R\", \"\" \"S\") col_date column name date, used calculate years column consist years already, defaults first column date class year_min lowest year use prediction model, dafaults lowest year col_date year_max highest year use prediction model, defaults 10 years today year_every unit sequence lowest year found data year_max minimum minimal amount available isolates per year include. Years containing less observations estimated model. model statistical model choice. generalised linear regression model binomial distribution (.e. using glm(..., family = binomial), assuming period zero resistance followed period increasing resistance leading slowly resistance. See Details valid options. I_as_S logical indicate whether values \"\" treated \"S\" (otherwise treated \"R\"). default, TRUE, follows redefinition EUCAST interpretation (increased exposure) 2019, see section Interpretation S, R . preserve_measurements logical indicate whether predictions years actually available data overwritten original data. standard errors years NA. info logical indicate whether textual analysis printed name summary() statistical model. ... arguments passed functions main title plot ribbon logical indicate whether ribbon shown (default) error bars object model data plotted","code":""},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Predict Antimicrobial Resistance — resistance_predict","text":"data.frame extra class resistance_predict columns: year value, estimated preserve_measurements = FALSE, combination observed estimated otherwise se_min, lower bound standard error minimum 0 (standard error never go 0%) se_max upper bound standard error maximum 1 (standard error never go 100%) observations, total number available observations year, .e. \\(S + + R\\) observed, original observed resistant percentages estimated, estimated resistant percentages, calculated model Furthermore, model available attribute: attributes(x)$model, see Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Predict Antimicrobial Resistance — resistance_predict","text":"Valid options statistical model (argument model) : \"binomial\" \"binom\" \"logit\": generalised linear regression model binomial distribution \"loglin\" \"poisson\": generalised log-linear regression model poisson distribution \"lin\" \"linear\": linear regression model","code":""},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"interpretation-of-r-and-s-i","dir":"Reference","previous_headings":"","what":"Interpretation of R and S/I","title":"Predict Antimicrobial Resistance — resistance_predict","text":"2019, European Committee Antimicrobial Susceptibility Testing (EUCAST) decided change definitions susceptibility testing categories R S/shown (https://www.eucast.org/newsiandr/). R = Resistant microorganism categorised Resistant high likelihood therapeutic failure even increased exposure. Exposure function mode administration, dose, dosing interval, infusion time, well distribution excretion antimicrobial agent influence infecting organism site infection. S = Susceptible microorganism categorised Susceptible, standard dosing regimen, high likelihood therapeutic success using standard dosing regimen agent. = Susceptible, Increased exposure microorganism categorised Susceptible, Increased exposure high likelihood therapeutic success exposure agent increased adjusting dosing regimen concentration site infection. AMR package honours (new) insight. Use susceptibility() (equal proportion_SI()) determine antimicrobial susceptibility count_susceptible() (equal count_SI()) count susceptible isolates.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/resistance_predict.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Predict Antimicrobial Resistance — resistance_predict","text":"","code":"x <- resistance_predict(example_isolates, col_ab = \"AMX\", year_min = 2010, model = \"binomial\" ) #> ℹ Using column 'date' as input for `col_date`. plot(x) # \\donttest{ if (require(\"ggplot2\")) { ggplot_rsi_predict(x) } # using dplyr: if (require(\"dplyr\")) { x <- example_isolates %>% filter_first_isolate() %>% filter(mo_genus(mo) == \"Staphylococcus\") %>% resistance_predict(\"PEN\", model = \"binomial\") print(plot(x)) # get the model from the object mymodel <- attributes(x)$model summary(mymodel) } #> Including isolates from ICU. #> ℹ Using column 'date' as input for `col_date`. #> NULL #> #> Call: #> glm(formula = df_matrix ~ year, family = binomial) #> #> Deviance Residuals: #> Min 1Q Median 3Q Max #> -1.4150 -0.1855 0.0000 0.4096 0.9277 #> #> Coefficients: #> Estimate Std. Error z value Pr(>|z|) #> (Intercept) 47.02915 72.98739 0.644 0.519 #> year -0.02280 0.03637 -0.627 0.531 #> #> (Dispersion parameter for binomial family taken to be 1) #> #> Null deviance: 5.9620 on 11 degrees of freedom #> Residual deviance: 5.5701 on 10 degrees of freedom #> AIC: 50.533 #> #> Number of Fisher Scoring iterations: 4 #> # create nice plots with ggplot2 yourself if (require(\"dplyr\") && require(\"ggplot2\")) { data <- example_isolates %>% filter(mo == as.mo(\"E. coli\")) %>% resistance_predict( col_ab = \"AMX\", col_date = \"date\", model = \"binomial\", info = FALSE, minimum = 15 ) head(data) autoplot(data) } # }"},{"path":"https://msberends.github.io/AMR/reference/rsi_translation.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set for R/SI Interpretation — rsi_translation","title":"Data Set for R/SI Interpretation — rsi_translation","text":"Data set containing reference data interpret MIC disk diffusion R/SI values, according international guidelines. Currently implemented guidelines EUCAST (2011-2022) CLSI (2011-2022). Use .rsi() transform MICs disks measurements R/SI values.","code":""},{"path":"https://msberends.github.io/AMR/reference/rsi_translation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set for R/SI Interpretation — rsi_translation","text":"","code":"rsi_translation"},{"path":"https://msberends.github.io/AMR/reference/rsi_translation.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set for R/SI Interpretation — rsi_translation","text":"tibble 20,369 observations 11 variables: guideline Name guideline method Either \"DISK\" \"MIC\" site Body site, e.g. \"Oral\" \"Respiratory\" mo Microbial ID, see .mo() rank_index Taxonomic rank index mo 1 (subspecies/infraspecies) 5 (unknown microorganism) ab Antibiotic ID, see .ab() ref_tbl Info guideline rule can found disk_dose Dose used disk diffusion method breakpoint_S Lowest MIC value highest number millimetres leads \"S\" breakpoint_R Highest MIC value lowest number millimetres leads \"R\" uti logical value (TRUE/FALSE) indicate whether rule applies urinary tract infection (UTI)","code":""},{"path":"https://msberends.github.io/AMR/reference/rsi_translation.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set for R/SI Interpretation — rsi_translation","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository. allow machine reading EUCAST CLSI guidelines, almost impossible MS Excel PDF files distributed EUCAST CLSI.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/rsi_translation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set for R/SI Interpretation — rsi_translation","text":"","code":"rsi_translation #> # A tibble: 20,369 × 11 #> guideline method site mo rank_in…¹ ab ref_tbl disk_…² break…³ #> #> 1 EUCAST 2022 MIC NA F_ASPRG_MGTS 2 AMB Aspergi… NA 1 #> 2 EUCAST 2022 MIC NA F_ASPRG_NIGR 2 AMB Aspergi… NA 1 #> 3 EUCAST 2022 MIC NA F_CANDD 3 AMB Candida NA 1 #> 4 EUCAST 2022 MIC NA F_CANDD_ALBC 2 AMB Candida NA 1 #> 5 EUCAST 2022 MIC NA F_CANDD_DBLN 2 AMB Candida NA 1 #> 6 EUCAST 2022 MIC NA F_CANDD_KRUS 2 AMB Candida NA 1 #> 7 EUCAST 2022 MIC NA F_CANDD_PRPS 2 AMB Candida NA 1 #> 8 EUCAST 2022 MIC NA F_CANDD_TRPC 2 AMB Candida NA 1 #> 9 EUCAST 2022 MIC NA F_CRYPT_NFRM 2 AMB Candida NA 1 #> 10 EUCAST 2022 MIC NA F_PICHI 3 AMB Candida NA 1 #> # … with 20,359 more rows, 2 more variables: breakpoint_R , uti , and #> # abbreviated variable names ¹​rank_index, ²​disk_dose, ³​breakpoint_S"},{"path":"https://msberends.github.io/AMR/reference/skewness.html","id":null,"dir":"Reference","previous_headings":"","what":"Skewness of the Sample — skewness","title":"Skewness of the Sample — skewness","text":"Skewness measure asymmetry probability distribution real-valued random variable mean. negative ('left-skewed'): left tail longer; mass distribution concentrated right histogram. positive ('right-skewed'): right tail longer; mass distribution concentrated left histogram. normal distribution skewness 0.","code":""},{"path":"https://msberends.github.io/AMR/reference/skewness.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skewness of the Sample — skewness","text":"","code":"skewness(x, na.rm = FALSE) # S3 method for default skewness(x, na.rm = FALSE) # S3 method for matrix skewness(x, na.rm = FALSE) # S3 method for data.frame skewness(x, na.rm = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/skewness.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skewness of the Sample — skewness","text":"x vector values, matrix data.frame na.rm logical value indicating whether NA values stripped computation proceeds","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/skewness.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skewness of the Sample — skewness","text":"","code":"skewness(runif(1000)) #> [1] -0.02662042"},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":null,"dir":"Reference","previous_headings":"","what":"Translate Strings from the AMR Package — translate","title":"Translate Strings from the AMR Package — translate","text":"language-dependent output AMR functions, like mo_name(), mo_gramstain(), mo_type() ab_name().","code":""},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Translate Strings from the AMR Package — translate","text":"","code":"get_AMR_locale() set_AMR_locale(language) reset_AMR_locale() translate_AMR(x, language = get_AMR_locale())"},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Translate Strings from the AMR Package — translate","text":"language language choose. Use one supported language names ISO-639-1 codes: English (en), Chinese (zh), Danish (da), Dutch (nl), French (fr), German (de), Greek (el), Italian (), Japanese (ja), Polish (pl), Portuguese (pt), Russian (ru), Spanish (es), Swedish (sv), Turkish (tr) Ukrainian (uk). x text translate","code":""},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Translate Strings from the AMR Package — translate","text":"currently 16 supported languages English (en), Chinese (zh), Danish (da), Dutch (nl), French (fr), German (de), Greek (el), Italian (), Japanese (ja), Polish (pl), Portuguese (pt), Russian (ru), Spanish (es), Swedish (sv), Turkish (tr) Ukrainian (uk). languages translations available antimicrobial agents colloquial microorganism names. silence language notes package loads non-English operating system, can set option AMR_locale .Rprofile file like : save file. Please read adding updating language Wiki.","code":"# Open .Rprofile file utils::file.edit(\"~/.Rprofile\") # Add e.g. Italian support to that file using: options(AMR_locale = \"Italian\")"},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":"changing-the-default-language","dir":"Reference","previous_headings":"","what":"Changing the Default Language","title":"Translate Strings from the AMR Package — translate","text":"system language used default (returned Sys.getenv(\"LANG\") , LANG set, Sys.getlocale(\"LC_COLLATE\")), language supported. language used can overwritten two ways checked order: Setting R option AMR_locale, either using e.g. set_AMR_locale(\"German\") running e.g. options(AMR_locale = \"German\"). Note setting R option works session. Save command options(AMR_locale = \"(language)\") .Rprofile file apply every session. Run utils::file.edit(\"~/.Rprofile\") edit .Rprofile file. Setting system variable LANGUAGE LANG, e.g. adding LANGUAGE=\"de_DE.utf8\" .Renviron file home directory. Thus, R option AMR_locale set, system variables LANGUAGE LANG ignored.","code":""},{"path":"https://msberends.github.io/AMR/reference/translate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Translate Strings from the AMR Package — translate","text":"","code":"# Current settings (based on system language) ab_name(\"Ciprofloxacin\") #> [1] \"Ciprofloxacin\" mo_name(\"Coagulase-negative Staphylococcus (CoNS)\") #> [1] \"Coagulase-negative Staphylococcus (CoNS)\" # setting another language set_AMR_locale(\"Spanish\") #> ℹ Using Spanish (Español) for the AMR package for this session. ab_name(\"Ciprofloxacin\") #> [1] \"Ciprofloxacina\" mo_name(\"Coagulase-negative Staphylococcus (CoNS)\") #> [1] \"Staphylococcus coagulasa negativo (SCN)\" # setting yet another language set_AMR_locale(\"Greek\") #> ℹ Using Greek (Ελληνικά) for the AMR package for this session. ab_name(\"Ciprofloxacin\") #> [1] \"Σιπροφλοξασίνη\" mo_name(\"Coagulase-negative Staphylococcus (CoNS)\") #> [1] \"Σταφυλόκοκκος με αρνητική πηκτικότητα (CoNS)\" # setting yet another language set_AMR_locale(\"Ukrainian\") #> ℹ Using Ukrainian (Українська) for the AMR package for this session. ab_name(\"Ciprofloxacin\") #> [1] \"Ципрофлоксацин\" mo_name(\"Coagulase-negative Staphylococcus (CoNS)\") #> [1] \"Коагулазонегативний стафілокок (КНС)\" # set_AMR_locale() understands endonyms, English exonyms, and ISO-639-1: set_AMR_locale(\"Deutsch\") #> ℹ Using German (Deutsch) for the AMR package for this session. set_AMR_locale(\"German\") #> ℹ Using German (Deutsch) for the AMR package for this session. set_AMR_locale(\"de\") #> ℹ Using German (Deutsch) for the AMR package for this session. # reset to system default reset_AMR_locale() #> ℹ Using the English language (English) for the AMR package for this #> session."},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-1829016","dir":"Changelog","previous_headings":"","what":"AMR 1.8.2.9016","title":"AMR 1.8.2.9016","text":"version eventually become v2.0! ’re happy reach new major milestone soon!","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-1-8-2-9016","dir":"Changelog","previous_headings":"","what":"Breaking","title":"AMR 1.8.2.9016","text":"CRAN allows packages around 5 MB maximum, packages exempted package one Chromista relevant comes antimicrobial resistance, thus lacking primary scope package Chromista almost never clinically relevant, thus lacking secondary scope package microorganisms longer relies Catalogue Life, now primarily List Prokaryotic names Standing Nomenclature (LPSN) supplemented Global Biodiversity Information Facility (GBIF). structure data set changed include separate LPSN GBIF identifiers. Almost previous MO codes retained. contains 1,000 taxonomic names 2022 already. microorganisms.old data set removed, previously accepted names now included microorganisms data set. new column status contains \"accepted\" currently accepted names \"synonym\" taxonomic synonyms; currently invalid names. previously accepted names now microorganisms ID - available - LPSN, GBIF SNOMED CT identifier. mo_matching_score() now count deletions substitutions 2 instead 1, impacts outcome .mo() mo_*() function","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-8-2-9016","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.8.2.9016","text":"EUCAST 2022 CLSI 2022 guidelines added .rsi(). EUCAST 2022 now new default guideline MIC disks diffusion interpretations. new argument keep_synonyms allows correct updated taxonomy, favour now deleted argument allow_uncertain increased tremendously speed returns generally consequent results Sequential coercion now extremely fast results stored package environment, although coercion unknown values must run per session. Previous results can reset/removed new mo_reset_session() function. Function mean_amr_distance() calculate mean AMR distance. mean AMR distance normalised numeric value compare AMR test results can help identify similar isolates, without comparing antibiograms hand. Function rsi_interpretation_history() view history previous runs .rsi(). returns ‘logbook’ selected guideline, reference table specific interpretation row data set .rsi() run. Function mo_current() get currently valid taxonomic name microorganism Function add_custom_antimicrobials() add custom antimicrobial codes names AMR package Support data.frame-enhancing R packages, specifically: data.table::data.table, janitor::tabyl, tibble::tibble, tsibble::tsibble. AMR package functions data set output (rsi_df() bug_drug_combinations()), now return data type input. data sets package now exported tibble, instead base R data.frames. Older R versions still supported. Support following languages: Chinese, Greek, Japanese, Polish, Turkish Ukrainian. grateful valuable input colleagues countries. AMR package now available 16 languages. data sets now also continually exported Apache Feather Apache Parquet formats. can find info article website.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-8-2-9016","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.8.2.9016","text":"Fix using .rsi() certain EUCAST breakpoints MIC values Fix using .rsi() NA values (e.g. .rsi(.disk(NA), ...)) Removed .integer() MIC values, since MIC integer values running table() MIC values consequently failed able retrieve level position (’s normally .integer() factors work) droplevels() MIC now return common factor default lose class. Use droplevels(..., .mic = TRUE) keep class. Small fix using ab_from_text() Fixes reading text files using set_mo_source(), now also allows source file contain valid taxonomic names instead valid microorganism ID package Using random_*() function (random_mic()) now possible directly calling package without loading first: AMR::random_mic(10) Added Toxoplasma gondii (P_TXPL_GOND) microorganisms data set, together genus, family, order Changed value column prevalence microorganisms data set 3 2 genera: Acholeplasma, Alistipes, Alloprevotella, Bergeyella, Borrelia, Brachyspira, Butyricimonas, Cetobacterium, Chlamydia, Chlamydophila, Deinococcus, Dysgonomonas, Elizabethkingia, Empedobacter, Haloarcula, Halobacterium, Halococcus, Myroides, Odoribacter, Ornithobacterium, Parabacteroides, Pedobacter, Phocaeicola, Porphyromonas, Riemerella, Sphingobacterium, Streptobacillus, Tenacibaculum, Terrimonas, Victivallis, Wautersiella, Weeksella Fix using form df[carbapenems() == \"R\", ] using latest vctrs package Fix using info = FALSE mdro() Automatic language determination give note session interpretation guidelines using .rsi() amoxicillin, rules ampicillin used amoxicillin rules available Fix using ab_atc() non-existing ATC codes Black white message texts now reversed colour using RStudio dark theme mo_snomed() now returns class character, numeric anymore (make long SNOMED codes readable) Fix using .ab() NA values","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-8-2-9016","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.8.2.9016","text":"New website make use new Bootstrap 5 pkgdown 2.0. website now contains results examples automatically regenerated every change repository, using GitHub Actions Added Peter Dutey-Magni, Dmytro Mykhailenko Anton Mymrikov contributors, thank valuable input R Rmd files project now styled using styler package Set scalar conditional expressions (&& ||) possible comply upcoming R 4.3 enormous lot code cleaning, fixing small bugs way","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-182","dir":"Changelog","previous_headings":"","what":"AMR 1.8.2","title":"AMR 1.8.2","text":"CRAN release: 2022-09-29 small intermediate update include reference publication Journal Statistical Software, DOI 10.18637/jss.v104.i03. major update released end 2022 early 2023 include recent EUCAST CLSI guidelines, updated microbial taxonomy, support 16 languages.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-181","dir":"Changelog","previous_headings":"","what":"AMR 1.8.1","title":"AMR 1.8.1","text":"CRAN release: 2022-03-24","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-8-1","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.8.1","text":"Fix using .rsi() values containing capped values (>=), sometimes leading NA Support antibiotic interpretations MIPS laboratory system: \"U\" S (‘susceptible urine’), \"D\" (‘susceptible dose-dependent’) Improved algorithm .mo(), especially ignoring non-taxonomic text, : informative warning messages Added 192 valid MIC Updated MIC printing tibbles Increased speed loading package","code":"mo_name(\"methicillin-resistant S. aureus (MRSA)\") #> [1] \"Staphylococcus aureus\""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-8-1","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.8.1","text":"Fix unit testing R 3.3 Fix size image elements, requested CRAN","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-180","dir":"Changelog","previous_headings":"","what":"AMR 1.8.0","title":"AMR 1.8.0","text":"CRAN release: 2022-01-07","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-changes-1-8-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"AMR 1.8.0","text":"Removed p_symbol() filter_*() functions (except filter_first_isolate()), deprecated previous package version Removed key_antibiotics() key_antibiotics_equal() functions, deprecated superseded key_antimicrobials() antimicrobials_equal() Removed previously implemented ggplot2::ggplot() generics classes , , follow ggplot2 logic. replaced ggplot2::autoplot() generics. Renamed function get_locale() get_AMR_locale() prevent conflicts packages","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-8-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.8.0","text":"Support CLSI 2021 guideline interpreting MIC/disk diffusion values, incorporated rsi_translation data set. data set now strictly follows WHONET software well. Support EUCAST Intrinsic Resistance Unusual Phenotypes v3.3 (October 2021). now default EUCAST guideline package (older guidelines still available) eucast_rules(), mo_is_intrinsic_resistant() mdro(). intrinsic_resistant data set also updated accordingly. Support antimicrobial drug (group) names colloquial microorganism names Danish, Dutch, English, French, German, Italian, Portuguese, Russian, Spanish Swedish Function set_ab_names() rename data set columns resemble antimicrobial drugs. allows quickly renaming columns official names, ATC codes, etc. second argument can tidyverse way selecting: Function mo_lpsn() retrieve LPSN record ID Function ab_ddd_units() get units DDDs (daily defined doses), deprecating use ab_ddd(..., units = TRUE) consistent data types function output","code":"example_isolates %>% set_ab_names(where(is.rsi)) example_isolates %>% set_ab_names(AMC:GEN, property = \"atc\")"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-8-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.8.0","text":"Updated bacterial taxonomy 5 October 2021 (according LPSN), including 11 new staphylococcal species named since 1 January last year drugs now contain multiple ATC codes (e.g., metronidazole contains 5) antibiotics$atc now list containing character vectors, atc column moved 5th position antibiotics data set ab_atc() always return character vector length 1, returns list input larger length 1 ab_info() slightly different output DDDs (daily defined doses) added updated according newly included ATC codes now also work R-3.0 R-3.1, supporting every version R since 2013 like rest package Added selectors antibiotic classes: aminopenicillins(), antifungals(), antimycobacterials(), lincosamides(), lipoglycopeptides(), polymyxins(), quinolones(), streptogramins(), trimethoprims() ureidopenicillins() Added specific selectors certain types treatment: administrable_per_os() administrable_iv(), based available Defined Daily Doses (DDDs), defined WHOCC. ideal e.g. analysing pathogens primary care IV treatment option. can combined AB selectors, e.g. select penicillins administrable per os (.e., orally): Added selector ab_selector(), accepts filter used internally antibiotics data set, yielding great flexibility drug properties, selecting antibiotic columns oral DDD least 1 gram: Added selector not_intrinsic_resistant(), keeps antibiotic columns intrinsic resistant microorganisms data set, based latest EUCAST guideline intrinsic resistance. example, data set contains microorganism codes names E. coli K. pneumoniae contains column “vancomycin”, column removed (rather, unselected) using function. Added argument only_treatable, defaults TRUE exclude drugs laboratory tests treating patients (imipenem/EDTA gentamicin-high) Fix using selectors multiple times one call (e.g., using dplyr::filter() immediately dplyr::select()) Fix using multiple columns coerced antibiotic agent Fixed using () () antibiotic selectors R Markdown file Added following antimicrobial agents now covered : aztreonam/nacubactam (ANC), cefepime/nacubactam (FNC), exebacase (EXE), ozenoxacin (OZN), zoliflodacin (ZFD), manogepix (MGX), ibrexafungerp (IBX), rezafungin (RZF). None agents ATC code yet. Fixed Gram stain (mo_gramstain()) determination taxonomic class Negativicutes within phylum Firmicutes - considered Gram-positives phylum actually Gram-negative. impacts 137 taxonomic species, genera families, Negativicoccus Veillonella. Dramatic speed improvement first_isolate() Fix prevent introducing NAs old MO codes running .mo() Added informative error messages proportion_*() count_*() functions fail printing tibble old MO code, warning thrown old codes updated using .mo() Improved automatic column selector col_* arguments left blank, e.g. first_isolate() right input types random_mic(), random_disk() random_rsi() now enforced .rsi() improved algorithm can now also correct textual input (“Susceptible”, “Resistant”) supported languages .mic() improved algorithm warnings thrown isolates count_*(), proportion_*() function (resistant() susceptible()), dplyr group shown, available Fix legends created scale_rsi_colours() using ggplot2 v3.3.4 higher (ggplot2 bug 4511, soon fixed) Fix minor translation errors Fix MIC interpretation Morganellaceae (Morganella Proteus) using EUCAST 2021 guideline Improved algorithm .mo() Improved algorithm generating random MICs random_mic() Improved plot legends MICs disk diffusion values Improved speed .ab() ab_*() functions Added fortify() extensions plotting methods NA values classes , now exported objects package, e.g. NA_mic_ NA class mic (just like base R NA_character_ NA class character) proportion_df(), count_df() rsi_df() functions now return additional S3 class ‘rsi_df’ can extended packages mdro() function now returns NA rows test results species_id column microorganisms data set now contains LPSN record numbers. reason, column now numeric instead character, mo_url() updated reflect change. Fixed small bug functions get_episode() is_new_episode() get_episode() is_new_episode() can now cope NAs","code":"example_isolates[, penicillins() & administrable_per_os()] # base R example_isolates %>% select(penicillins() & administrable_per_os()) # dplyr example_isolates[, ab_selector(oral_ddd > 1 & oral_units == \"g\")] # base R example_isolates %>% select(ab_selector(oral_ddd > 1 & oral_units == \"g\")) # dplyr"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-8-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.8.0","text":"package now maintained two epidemiologists data scientist two different non-profit healthcare organisations.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-171","dir":"Changelog","previous_headings":"","what":"AMR 1.7.1","title":"AMR 1.7.1","text":"CRAN release: 2021-06-03","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-change-1-7-1","dir":"Changelog","previous_headings":"","what":"Breaking change","title":"AMR 1.7.1","text":"antibiotic class selectors (carbapenems(), aminoglycosides()) can now used filtering well, making accompanying filter_*() functions redundant (filter_carbapenems(), filter_aminoglycosides()). functions now deprecated removed next release. Examples selectors can used filtering:","code":"# select columns with results for carbapenems example_isolates[, carbapenems()] # base R example_isolates %>% select(carbapenems()) # dplyr # filter rows for resistance in any carbapenem example_isolates[any(carbapenems() == \"R\"), ] # base R example_isolates %>% filter(any(carbapenems() == \"R\")) # dplyr example_isolates %>% filter(if_any(carbapenems(), ~.x == \"R\")) # dplyr (formal) # filter rows for resistance in all carbapenems example_isolates[all(carbapenems() == \"R\"), ] # base R example_isolates[carbapenems() == \"R\", ] example_isolates %>% filter(all(carbapenems() == \"R\")) # dplyr example_isolates %>% filter(carbapenems() == \"R\")"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-7-1","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.7.1","text":"Support CLSI 2020 guideline interpreting MICs disk diffusion values (using .rsi()) Function custom_eucast_rules() brings support custom AMR rules eucast_rules() Function italicise_taxonomy() make taxonomic names within string italic, support markdown ANSI first_isolate() function gained argument method “phenotype-based”, “episode-based”, “patient-based”, “isolate-based”. old behaviour equal “episode-based”. new default “phenotype-based” antimicrobial test results available, “episode-based” otherwise. new default yield slightly isolates selection (good thing). Since fungal isolates can also selected, functions key_antibiotics() key_antibiotics_equal() now deprecated favour key_antimicrobials() antimicrobials_equal() functions. Also, new all_antimicrobials() function works like old key_antibiotics() function, includes column antimicrobial test results. Using key_antimicrobials() still selects six preferred antibiotics Gram-negatives, six Gram-positives, six universal antibiotics. new antifungal argument set antifungal agents (antimycotics). Using type == \"points\" first_isolate() function phenotype-based selection now consider antimicrobial drugs data set, using new all_antimicrobials() first_isolate() function can now take vector values col_keyantibiotics can episode length Inf Since phenotype-based method new default, filter_first_isolate() renders filter_first_weighted_isolate() function redundant. reason, filter_first_weighted_isolate() now deprecated. documentation first_isolate() key_antimicrobials() functions completely rewritten. Function betalactams() additional antbiotic column selector function filter_betalactams() additional antbiotic column filter. group betalactams consists carbapenems, cephalosporins penicillins. ggplot() method resistance_predict()","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-7-1","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.7.1","text":"bug_drug_combinations() now supports grouping using dplyr package Custom MDRO guidelines can now combined custom MDRO guidelines using c() Fix applying rules; previous versions, rows interpreted according last matched rule. Now, rows interpreted according first matched rule Fix age_groups() persons aged zero example_isolates data set now contains (fictitious) zero-year old patients Fix minor translation errors Printing microbial codes data.frame tibble now gives warning data contains old microbial codes (previous AMR package version) Now checks pattern valid regular expression Added %unlike% %unlike_case% (negations existing %like% %like_case%). greatly improves readability: Altered RStudio addin, now iterates %like% -> %unlike% -> %like_case% -> %unlike_case% keep pressing keyboard shortcut Fixed installation error R-3.0 Added info argument .mo() turn /progress bar Fixed bug col_mo functions (esp. eucast_rules() mdro()) column name microorganisms data set throw error Fix transforming numeric values RSI (.rsi()) vctrs package loaded (.e., using tidyverse) Colour fix using barplot() RSI class Added 25 common system codes bacteria microorganisms.codes data set Added 16 common system codes antimicrobial agents antibiotics data set Fix using skimr::skim() classes mo, mic disk using just released dplyr v1.0.6 Updated skimr::skim() usage MIC values also include 25th 75th percentiles Fix plotting missing MIC/disk diffusion values Updated join functions always use dplyr join functions dplyr package installed - now also preserving grouped variables Antibiotic class selectors (cephalosporins()) now maintain column order original data Fix selecting columns using fluoroquinolones() age() now vectorises x reference","code":"if (!grepl(\"EUCAST\", guideline)) ... # same: if (guideline %unlike% \"EUCAST\") ..."},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-7-1","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.7.1","text":"requested CRAN administrators: decreased package size 3 MB costs slower loading time package unit tests now processed tinytest package, instead testthat package. testthat package unfortunately requires tons dependencies also heavy usable recent R versions, disallowing developers test package R 3.* version. contrary, tinytest package lightweight dependency-free.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-160","dir":"Changelog","previous_headings":"","what":"AMR 1.6.0","title":"AMR 1.6.0","text":"CRAN release: 2021-03-14","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-6-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.6.0","text":"Support EUCAST Clinical Breakpoints v11.0 (2021), effective eucast_rules() function .rsi() interpret MIC disk diffusion values. now default guideline package. Added function eucast_dosage() get data.frame advised dosages certain bug-drug combination, based new dosage data set Added data set dosage fuel new eucast_dosage() function make data available structured way Existing data set example_isolates now reflects latest EUCAST rules Added argument only_rsi_columns functions, defaults FALSE, indicate functions must applied columns class (.e., transformed .rsi()). increases speed since automatic determination antibiotic columns needed anymore. Affected functions : antibiotic selector functions (ab_class() wrappers, aminoglycosides(), carbapenems(), penicillins()) antibiotic filter functions (filter_ab_class() wrappers, filter_aminoglycosides(), filter_carbapenems(), filter_penicillins()) eucast_rules() mdro() (including wrappers brmo(), mrgn() eucast_exceptional_phenotypes()) guess_ab_col() Functions oxazolidinones() (antibiotic selector function) filter_oxazolidinones() (antibiotic filter function) select/filter e.g. linezolid tedizolid Support custom MDRO guidelines, using new custom_mdro_guideline() function, please see mdro() additional info ggplot() generics classes Function mo_is_yeast(), determines whether microorganism member taxonomic class Saccharomycetes taxonomic order Saccharomycetales: mo_type() function also updated reflect change: Added Pretomanid (PMD, J04AK08) antibiotics data set MIC values (see .mic()) can now used mathematical processing, usage inside functions min(), max(), range(), binary operators (+, -, etc.). allows easy distribution analysis fast filtering MIC values:","code":"library(dplyr) x <- example_isolates %>% select(date, ward, oxazolidinones()) #> Selecting oxazolidinones: column 'LNZ' (linezolid) x <- example_isolates %>% filter_oxazolidinones() #> Filtering on oxazolidinones: value in column `LNZ` (linezolid) is either \"R\", \"S\" or \"I\" mo_kingdom(c(\"Aspergillus\", \"Candida\")) #> [1] \"Fungi\" \"Fungi\" mo_is_yeast(c(\"Aspergillus\", \"Candida\")) #> [1] FALSE TRUE # usage for filtering data: example_isolates[which(mo_is_yeast()), ] # base R example_isolates %>% filter(mo_is_yeast()) # dplyr mo_type(c(\"Aspergillus\", \"Candida\")) # [1] \"Fungi\" \"Yeasts\" mo_type(c(\"Aspergillus\", \"Candida\"), language = \"es\") # also supported: de, nl, fr, it, pt #> [1] \"Hongos\" \"Levaduras\" x <- random_mic(10) x #> Class #> [1] 128 0.5 2 0.125 64 0.25 >=256 8 16 4 x[x > 4] #> Class #> [1] 128 64 >=256 8 16 range(x) #> [1] 0.125 256.000 range(log2(x)) #> [1] -3 8"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-6-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.6.0","text":"Added 3,372 new species 1,523 existing species became synomyms URL bacterial species (mo_url()) now lead https://lpsn.dsmz.de Plotting MIC disk diffusion values now support interpretation colouring supply microorganism antimicrobial agent colours updated colour-blind friendly versions values R, S plot methods (also applies tibble printing) Interpretation MIC disk diffusion values R/SI now translated system language German, Dutch Spanish (see translate) Plotting now possible base R using plot() ggplot2 using ggplot() vector MIC disk diffusion values Updated SNOMED codes US Edition SNOMED CT 1 September 2020 added source help page microorganisms data set .rsi() .rsi.eligible() now return vector TRUE/FALSE input data set, iterating columns Using functions without setting data set (e.g., mo_is_gram_negative(), mo_is_gram_positive(), mo_is_intrinsic_resistant(), first_isolate(), mdro()) now work dplyrs group_by() first_isolate() can used group_by() (also using dot . input data) now returns names groups Updated data set microorganisms.codes (contains popular LIS WHONET codes microorganisms) species Mycobacterium previously incorrectly returned M. africanum WHONET code \"PNV\" now correctly interpreted PHN, antibiotic code phenoxymethylpenicillin (‘peni V’) Fix verbose output mdro(..., verbose = TRUE) German guideline (3MGRN 4MGRN) Dutch guideline (BRMO, P. aeruginosa) .rsi.eligible() now detects column name resembles antibiotic name code now returns TRUE immediately input contains values “R”, “S” “”. drastically improves speed, also lot functions rely automatic determination antibiotic columns. Functions get_episode() is_new_episode() now support less day value argument episode_days (e.g., include one patient/test per hour) Argument ampc_cephalosporin_resistance eucast_rules() now also applies value “” (“S”) Functions print() summary() Principal Components Analysis object (pca()) now print additional group info original data grouped using dplyr::group_by() Improved speed reliability guess_ab_col(). also internally improves reliability first_isolate() mdro(), might slight impact results functions. Fix mo_name() used languages English like() function (fast alias %like%) now always use Perl compatibility, improving speed many functions package (e.g., .mo() now 4 times faster) Staphylococcus cornubiensis now correctly categorised coagulase-positive random_disk() random_mic() now expanded range randomisation Support GISA (glycopeptide-intermediate S. aureus), e.g. mo_genus(\"GISA\") return \"Staphylococcus\" Added translations German Spanish 200 antimicrobial drugs Speed improvement .ab() input official name ATC code Added argument include_untested_rsi first_isolate() functions (defaults TRUE keep existing behaviour), able exclude rows R/SI values (class , see .rsi()) empty","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-6-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.6.0","text":"Big documentation updates Loading package (.e., library(AMR)) now ~50 times faster , costs package size (increased ~3 MB)","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-150","dir":"Changelog","previous_headings":"","what":"AMR 1.5.0","title":"AMR 1.5.0","text":"CRAN release: 2021-01-06","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-5-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.5.0","text":"Functions get_episode() is_new_episode() determine (patient) episodes necessarily based microorganisms. get_episode() function returns index number episode per group, is_new_episode() function returns values TRUE/FALSE indicate whether item vector start new episode. also support dplyrs grouping (.e. using group_by()): Functions mo_is_gram_negative() mo_is_gram_positive() wrappers around mo_gramstain(). always return TRUE FALSE (except input NA MO code UNKNOWN), thus always return FALSE species outside taxonomic kingdom Bacteria. Function mo_is_intrinsic_resistant() test intrinsic resistance, based EUCAST Intrinsic Resistance Unusual Phenotypes v3.2 2020. Functions random_mic(), random_disk() random_rsi() random value generation. functions random_mic() random_disk() take microorganism names antibiotic names input make generation realistic.","code":"library(dplyr) example_isolates %>% group_by(patient_id, ward) %>% filter(is_new_episode(date, episode_days = 60))"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-5-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.5.0","text":"New argument ampc_cephalosporin_resistance eucast_rules() correct AmpC de-repressed cephalosporin-resistant mutants Interpretation antimicrobial resistance - .rsi(): Reference data used .rsi() can now set user, using reference_data argument. allows using interpretation guidelines. user-set data must structure rsi_translation. Better determination disk zones MIC values running .rsi() data.frame Fix using .rsi() data.frame older R versions .rsi() data.frame print message anymore values already clean R/SI values using .rsi() MICs disk diffusion intrinsic antimicrobial resistance, warning thrown remind Fix using .rsi() data.frame contains one column antibiotic interpretations functions now context-aware used inside dplyr verbs, filter(), mutate() summarise(). means data argument need set anymore. case new functions: mo_is_gram_negative() mo_is_gram_positive() mo_is_intrinsic_resistant() … existing functions: first_isolate(), key_antibiotics(), mdro(), brmo(), mrgn(), mdr_tb(), mdr_cmi2012(), eucast_exceptional_phenotypes() antibiotic selection functions (cephalosporins(), aminoglycosides()) select columns based certain antibiotic group, dependency tidyselect package removed, meaning can now also used without need package installed now also work base R function calls (rely R 3.2 later): function arguments code, now defined exact type user input (inspired typed package). user input certain function meet requirements specific argument (class length), informative error thrown. makes package robust use reproducible reliable. total, 420 arguments defined. Fix set_mo_source(), previously remember file location original file Deprecated function p_symbol() really fits scope package. removed future version. See source code preserve . Updated coagulase-negative staphylococci determination Becker et al. 2020 (PMID 32056452), meaning species S. argensis, S. caeli, S. debuckii, S. edaphicus S. pseudoxylosus now considered CoNS Fix using argument reference_df .mo() mo_*() functions contain old microbial codes (previous package versions) Fixed bug mo_uncertainties() return results based MO matching score Fixed bug .mo() return results known laboratory codes microorganisms Fixed bug .ab() sometimes fail Better tibble printing MIC values Fix plotting MIC values plot() Added plot() generic class LA-MRSA CA-MRSA now recognised abbreviation Staphylococcus aureus, meaning e.g. mo_genus(\"LA-MRSA\") return \"Staphylococcus\" mo_is_gram_positive(\"LA-MRSA\") return TRUE. Fix printing class tibbles values NA Fix mo_shortname() input contains NA .mo() takes 30 seconds, suggestions done improve speed","code":"# to select first isolates that are Gram-negative # and view results of cephalosporins and aminoglycosides: library(dplyr) example_isolates %>% filter(first_isolate(), mo_is_gram_negative()) %>% select(mo, cephalosporins(), aminoglycosides()) %>% as_tibble() # above example in base R: example_isolates[which(first_isolate() & mo_is_gram_negative()), c(\"mo\", cephalosporins(), aminoglycosides())]"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-5-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.5.0","text":"messages warnings thrown package now break sentences whole words extensive unit tests Internal calls options() removed favour new internal environment pkg_env Improved internal type setting (among things: replaced sapply() calls vapply()) Added CodeFactor continuous code review package: https://www.codefactor.io/repository/github/msberends/amr/ Added Dr. Rogier Schade contributor","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-140","dir":"Changelog","previous_headings":"","what":"AMR 1.4.0","title":"AMR 1.4.0","text":"CRAN release: 2020-10-08","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-4-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.4.0","text":"Support ‘EUCAST Expert Rules’ / ‘EUCAST Intrinsic Resistance Unusual Phenotypes’ version 3.2 May 2020. addition previously implemented version 3.1 2016, eucast_rules() function can now correct 180 different antibiotics mdro() function can determine multidrug resistance based 150 different antibiotics. previously implemented versions EUCAST rules now maintained kept available package. eucast_rules() function consequently gained arguments version_breakpoints (moment defaults v10.0, 2020) version_expertrules (moment defaults v3.2, 2020). example_isolates data set now also reflects change v3.1 v3.2. mdro() function now accepts guideline == \"EUCAST3.1\" guideline == \"EUCAST3.2\". new vignette website page info public freely available data sets, can downloaded flat files formats use R, SPSS, SAS, Stata Excel: https://msberends.github.io/AMR/articles/datasets.html Data set intrinsic_resistant. data set contains bug-drug combinations ‘bug’ intrinsic resistant ‘drug’ according latest EUCAST insights. contains just two columns: microorganism antibiotic. Curious enterococci actually intrinsic resistant vancomycin? Support veterinary ATC codes Support skimming classes , , skimr package","code":"library(AMR) library(dplyr) intrinsic_resistant %>% filter(antibiotic == \"Vancomycin\", microorganism %like% \"Enterococcus\") %>% pull(microorganism) #> [1] \"Enterococcus casseliflavus\" \"Enterococcus gallinarum\""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-4-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.4.0","text":"Although advertised package work R 3.0.0, still dependency R 3.6.0. fixed, meaning package now work R 3.0.0. Improvements .rsi(): Support using dplyr’s across() interpret MIC values disk zone diameters, also automatically determines column microorganism names codes. Cleaning columns data.frame now allows specify columns tidy selection, e.g. .rsi(df, col1:col9) Big speed improvement interpreting MIC values disk zone diameters. interpreting 5,000 MIC values two antibiotics (10,000 values total), benchmarks showed total run time going 80.7-85.1 seconds 1.8-2.0 seconds. Added argument ‘add_intrinsic_resistance’ (defaults FALSE), considers intrinsic resistance according EUCAST Fixed bug EUCAST rules breakpoint R interpreted “>=” “<” Added intelligent data cleaning .disk(), numbers can also extracted text decimal numbers always rounded : Improvements .mo(): completely new matching score ambiguous user input, using mo_matching_score(). user input value mean one taxonomic entry now considered ‘uncertain’. Instead warning, message thrown accompanying mo_uncertainties() changed completely; now prints possible candidates matching score. Big speed improvement already valid microorganism ID. also means significant speed improvement using mo_* functions like mo_name() microoganism IDs. Added argument ignore_pattern .mo() can also given mo_* functions like mo_name(), exclude known non-relevant input analysing. can also set option AMR_ignore_pattern. get_locale() now uses default Sys.getenv(\"LANG\") , LANG set, Sys.getlocale(). can overwritten setting option AMR_locale. Big speed improvement eucast_rules() Overall speed improvement tweaking joining functions Function mo_shortname() now returns genus input species unknown BORSA now recognised abbreviation Staphylococcus aureus, meaning e.g. mo_genus(\"BORSA\") return “Staphylococcus” Added feature AMR 1.1.0 earlier , now without package dependencies: tibble printing support classes , , , . using tibbles containing antimicrobial columns (class ), “S” print green, “” print yellow “R” print red. Microbial IDs (class ) emphasise genus species, kingdom. Names antiviral agents data set antivirals now starting capital letter, like case antibiotics data set Updated documentation WHONET data set clarify patient names fictitious Small .ab() algorithm improvements Fix combining MIC values raw numbers, .e. c(.mic(2), 2) previously failed now returns valid MIC class ggplot_rsi() geom_rsi() gained arguments minimum language, influence internal use rsi_df() Changes antibiotics data set: Updated oral parental DDDs WHOCC Added abbreviation “piptazo” ‘Piperacillin/tazobactam’ (TZP) ‘Penicillin G’ (intravenous use) now named ‘Benzylpenicillin’ (code PEN) ‘Penicillin V’ (oral use, code PNV) removed, since actual entry ‘Phenoxymethylpenicillin’ (code PHN) already existed group name (antibiotics$group) ‘Linezolid’ (LNZ), ‘Cycloserine’ (CYC), ‘Tedizolid’ (TZD) ‘Thiacetazone’ (THA) now “Oxazolidinones” instead “antibacterials” Added support using unique() classes , , , Added argument excess kurtosis() function (defaults FALSE), return excess kurtosis, defined kurtosis minus three.","code":"# until dplyr 1.0.0 your_data %>% mutate_if(is.mic, as.rsi) your_data %>% mutate_if(is.disk, as.rsi) # since dplyr 1.0.0 your_data %>% mutate(across(where(is.mic), as.rsi)) your_data %>% mutate(across(where(is.disk), as.rsi)) as.disk(c(\"disk zone: 23.4 mm\", 23.4)) #> Class #> [1] 24 24"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-4-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.4.0","text":"Removed functions portion_R(), portion_S() portion_I() deprecated since version 0.9.0 (November 2019) replaced proportion_R(), proportion_S() proportion_I() Removed unnecessary references base package Added packages useful functions Suggests field DESCRIPTION file","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-130","dir":"Changelog","previous_headings":"","what":"AMR 1.3.0","title":"AMR 1.3.0","text":"CRAN release: 2020-07-31","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-3-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.3.0","text":"Function ab_from_text() retrieve antimicrobial drug names, doses forms administration clinical texts e.g. health care records, also corrects misspelling since uses .ab() internally Tidyverse selection helpers antibiotic classes, help select columns antibiotics specific antibiotic class, without need define columns antibiotic abbreviations. can used function allows selection helpers, like dplyr::select() tidyr::pivot_longer(): Added mo_domain() alias mo_kingdom() Added function filter_penicillins() filter isolates specific result column name antimicrobial ‘penicillins’ class (specific: ATC subgroup Beta-lactam antibacterials, penicillins) Added official antimicrobial names filter_ab_class() functions, filter_aminoglycosides() Added antibiotics code “FOX1” cefoxitin screening (abbreviation “cfsc”) antibiotics data set Added Monuril trade name fosfomycin Added argument conserve_capped_values .rsi() interpreting MIC values - makes sure values starting “<” (“<=”) always return “S” values starting “>” (“>=”) always return “R”. default behaviour .rsi() changed, need specifically .rsi(..., conserve_capped_values = TRUE).","code":"library(dplyr) # Columns 'IPM' and 'MEM' are in the example_isolates data set example_isolates %>% select(carbapenems()) #> Selecting carbapenems: `IPM` (imipenem), `MEM` (meropenem)"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-3-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.3.0","text":"Big speed improvement using function microorganism codes earlier package versions (prior AMR v1.2.0), .mo(), mo_name(), first_isolate(), eucast_rules(), mdro(), etc. consequence, old microbial codes (AMR v0.5.0 lower) supported anymore. Use .mo() microorganism names codes transform current abbreviations used package. Improvements susceptibility() resistance() count_*(), proportion_*() functions: 95% speed improvement using base R functions calculation Using unexisting columns wil now return error instead dropping silently Using variables column names (well selectors like dplyr::all_of()) now works Improvements .ab(): Dramatic improvement algorithm behind .ab(), making many input errors translatable, digitalised health care records, using many vowels consonants many Added progress bar Fixed bug .ab() return error invalid input values .ab() function now throw note 1 antimicrobial drug retrieved single input value. Fixed bug eucast_rules() work tibble tibble dplyr package loaded Fixed bug CLSI 2019 guidelines (using .rsi()), also included results animals. now contains interpretation guidelines humans. *_join_microorganisms() functions bug_drug_combinations() now return original data class (e.g. tibbles data.tables) functions rsi_df(), proportion_df() count_df(): Fixed bug using grouped versions Fixed bug different antimicrobial results added rows Fixed bug calculating counts (count_df()) antibiotics data set NAs Improved auto-determination columns types Fixed bug bug_drug_combinations() one antibiotic input data Changed summary class , highlight %SI vs. %R Improved error handling, giving useful info functions return error progress bar now show interactive mode (.e. R Markdown) Speed improvement mdro() filter_ab_class() New option arrows_textangled ggplot_pca() indicate whether text end arrows angled (defaults TRUE, previous versions) Added parenteral DDD benzylpenicillin Fixed bug .mic() handle dots without leading zero (like \"<=.25)","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-3-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.3.0","text":"Moved primary location project GitLab GitHub, giving us native support automated syntax checking without dependent external services AppVeyor Travis CI.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-120","dir":"Changelog","previous_headings":"","what":"AMR 1.2.0","title":"AMR 1.2.0","text":"CRAN release: 2020-05-28","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-1-2-0","dir":"Changelog","previous_headings":"","what":"Breaking","title":"AMR 1.2.0","text":"Removed code dependency R packages, making package fully independent development process others. major code change, probably noticeable users. Making package independent especially tidyverse (e.g. packages dplyr tidyr) tremendously increases sustainability long term, since tidyverse functions change quite often. Good users, hard package maintainers. functions replaced versions rely base R, keeps package fully functional many years come, without requiring lot maintenance keep packages anymore. Another upside package can now used versions R since R-3.0.0 (April 2013). package used settings resources limited. Fewer dependencies newer software helpful settings. Negative effects change : Function freq() borrowed cleaner package removed. Use cleaner::freq(), run library(\"cleaner\") use freq(). Printing values class mo rsi tibble longer colour printing rsi tibble show class , anymore. purely visual effect. functions mo_* family (like mo_name() mo_gramstain()) noticeably slower running hundreds thousands rows. developers: classes mo ab now also inherit class character, support data transformation. change invalidates code checks class length == 1.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-2-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.2.0","text":"Updated taxonomy microorganisms May 2020, using Catalogue Life (CoL), Global Biodiversity Information Facility (GBIF) List Prokaryotic names Standing Nomenclature (LPSN, hosted DSMZ since February 2020). Note: taxonomic update may always impact determination first isolates (using first_isolate()), since bacterial names might renamed genera (sub)species. expected behaviour. Removed Catalogue Life IDs (like 776351), since now work species ID (hexadecimal string) eucast_rules() function longer applies “” rules default made available package (like setting ampicillin = R ampicillin + enzyme inhibitor = R). default input value rules now c(\"breakpoints\", \"expert\") instead \"\", can changed user. return old behaviour, set options(AMR.eucast_rules = \"\"). Fixed bug checking antimicrobial results original data regarded valid R/SI values drug enzyme inhibitor set S drug without enzyme inhibitor S drug without enzyme inhibitor set R drug enzyme inhibitor R Added official drug names verbose output eucast_rules() Added function ab_url() return direct URL antimicrobial agent official website Improvements algorithm .ab(), e.g. .ab(\"ampi sul\") ab_name(\"ampi sul\") work Functions ab_atc() ab_group() now return NA antimicrobial agent found Small fix text input coerced valid MIC values Fix interpretation generic CLSI interpretation rules (thanks Anthony Underwood) Fix set_mo_source() make sure column mo always second column Added abbreviation “cfsc” Cefoxitin “cfav” Ceftazidime/avibactam","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-2-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.2.0","text":"Removed previously deprecated function p.symbol() - replaced p_symbol() Removed function read.4d(), useful reading data old test database.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-110","dir":"Changelog","previous_headings":"","what":"AMR 1.1.0","title":"AMR 1.1.0","text":"CRAN release: 2020-04-15","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-1-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.1.0","text":"Support easy principal component analysis AMR, using new pca() function Plotting biplots principal component analysis using new ggplot_pca() function","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-1-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.1.0","text":"Support codes ending SPE species, like \"ESCSPE\" Escherichia coli Support encoding, means language-specific character accents can used input Support arbitrary IDs used laboratory information systems Small fix preventing viruses treated bacteria Small fix preventing contamination lack growth treated valid microorganisms Support abbreviations antibiotics antimycotics used Netherlands National Institute Public Health Environment (Rijksinstituut voor Volksgezondheid en Milieu; RIVM) Added abbreviations antibiotics data set Reloaded original EUCAST master tables 2019 (2020 already available). seems reliable data used WHONET. Added generic CLSI rules R/SI interpretation using .rsi() years 2010-2019 (thanks Anthony Underwood)","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-1-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.1.0","text":"Support upcoming dplyr version 1.0.0 robust assigning classes rsi mic","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-101","dir":"Changelog","previous_headings":"","what":"AMR 1.0.1","title":"AMR 1.0.1","text":"CRAN release: 2020-02-23","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-1-0-1","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 1.0.1","text":"Fixed important floating point error MIC comparisons EUCAST 2020 guideline Interpretation MIC values (disk zones) R/SI can now used mutate_at() dplyr package: Added antibiotic abbreviations laboratory manufacturer (GLIMS) cefuroxime, cefotaxime, ceftazidime, cefepime, cefoxitin trimethoprim/sulfamethoxazole Added uti (abbreviation urinary tract infections) argument .rsi(), interpretation MIC values disk zones can made dependent isolates specifically UTIs Info printing functions eucast_rules(), first_isolate(), mdro() resistance_predict() now default print R interactive mode (.e. RMarkdown)","code":"yourdata %>% mutate_at(vars(antibiotic1:antibiotic25), as.rsi, mo = \"E. coli\") yourdata %>% mutate_at(vars(antibiotic1:antibiotic25), as.rsi, mo = .$mybacteria)"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-100","dir":"Changelog","previous_headings":"","what":"AMR 1.0.0","title":"AMR 1.0.0","text":"CRAN release: 2020-02-17 software now beta considered stable. Nonetheless, package developed continually.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-1-0-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 1.0.0","text":"Support newest EUCAST Clinical Breakpoint Tables v.10.0, valid 1 January 2020. affects translation MIC disk zones using .rsi() inferred resistance susceptibility using eucast_rules(). repository package now contains clean version EUCAST CLSI guidelines 2011-2020 translate MIC disk diffusion values R/SI: https://github.com/msberends/AMR/blob/main/data-raw/rsi_translation.txt. allows machine reading guidelines, almost impossible Excel PDF files distributed EUCAST CLSI. file used process EUCAST Clinical Breakpoints Excel file can found . Support LOINC codes antibiotics data set. Use ab_loinc() retrieve LOINC codes, use LOINC code input ab_* function: Support SNOMED CT codes microorganisms data set. Use mo_snomed() retrieve SNOMED codes, use SNOMED code input mo_* function:","code":"ab_loinc(\"ampicillin\") #> [1] \"21066-6\" \"3355-5\" \"33562-0\" \"33919-2\" \"43883-8\" \"43884-6\" \"87604-5\" ab_name(\"21066-6\") #> [1] \"Ampicillin\" ab_atc(\"21066-6\") #> [1] \"J01CA01\" mo_snomed(\"S. aureus\") #> [1] 115329001 3092008 113961008 mo_name(115329001) #> [1] \"Staphylococcus aureus\" mo_gramstain(115329001) #> [1] \"Gram-positive\""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changes-1-0-0","dir":"Changelog","previous_headings":"","what":"Changes","title":"AMR 1.0.0","text":".mo() function previously wrote package folder improve calculation speed previously calculated results. longer case, comply CRAN policies. Consequently, function clear_mo_history() removed. Bugfix WHONET microorganism codes interpreted correctly using .rsi() Support missing spaces, e.g. .mo(\"Methicillin-resistant S.aureus\") Better support determination Salmonella biovars Speed improvements, especially G. species format (G genus), like E. coli K pneumoniae Support common codes used laboratory information systems Input values .disk() limited maximum 50 millimeters Added lifecycle state every function, following lifecycle circle tidyverse .ab(): support drugs starting “co-” like co-amoxiclav, co-trimoxazole, co-trimazine co-trimazole (thanks Peter Dutey) Added synonyms colistin, imipenem piperacillin/tazobactam Moved synonyms Rifinah Rimactazid rifampicin (RIF) rifampicin/isoniazid (RFI). Please note combination rifampicin/isoniazid DDDs defined, e.g. ab_ddd(\"Rimactazid\") now return NA. Moved synonyms Bactrimel Cotrimazole sulfamethoxazole (SMX) trimethoprim/sulfamethoxazole (SXT)","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-1-0-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 1.0.0","text":"Add CITATION file Full support upcoming R 4.0 Removed unnecessary AMR:: calls","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-090","dir":"Changelog","previous_headings":"","what":"AMR 0.9.0","title":"AMR 0.9.0","text":"CRAN release: 2019-11-29","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-0-9-0","dir":"Changelog","previous_headings":"","what":"Breaking","title":"AMR 0.9.0","text":"dependent old Enterobacteriaceae family e.g. using code: please adjust :","code":"if (mo_family(somebugs) == \"Enterobacteriaceae\") ... if (mo_order(somebugs) == \"Enterobacterales\") ..."},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-9-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.9.0","text":"Functions susceptibility() resistance() aliases proportion_SI() proportion_R(), respectively. functions added make clear “” considered susceptible resistant. Support new MDRO guideline: Magiorakos AP, Srinivasan et al. “Multidrug-resistant, extensively drug-resistant pandrug-resistant bacteria: international expert proposal interim standard definitions acquired resistance.” Clinical Microbiology Infection (2012). now new default guideline mdro() function new Verbose mode (mdro(...., verbose = TRUE)) returns informative data set reason MDRO determination given every isolate, list resistant antimicrobial agents Data set antivirals, containing entries ATC J05 group DDDs oral parenteral treatment","code":"library(dplyr) example_isolates %>% group_by(bug = mo_name(mo)) %>% summarise(amoxicillin = resistance(AMX), amox_clav = resistance(AMC)) %>% filter(!is.na(amoxicillin) | !is.na(amox_clav))"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changes-0-9-0","dir":"Changelog","previous_headings":"","what":"Changes","title":"AMR 0.9.0","text":"Now allows “ou” “au” used vice versa intelligent way coping consonants like “l” “r” Added score (certainty percentage) mo_uncertainties(), calculated using Levenshtein distance: Removed previously deprecated function .atc() - function replaced ab_atc() Renamed portion_* functions proportion_*. portion_* functions still available deprecated functions, return warning used. running .rsi() data set, now print guideline used specified user Fix Stenotrophomonas maltophilia always become ceftazidime R (following EUCAST v3.1) Fix Leuconostoc Pediococcus always become glycopeptides R non-EUCAST rules eucast_rules() now applied first last anymore. improve dependency certain antibiotics official EUCAST rules. Please see ?eucast_rules. Fix interpreting MIC values .rsi() input NA Added “imi” “imp” allowed abbreviation Imipenem (IPM) Fix automatically determining columns antibiotic results mdro() eucast_rules() Added ATC codes ceftaroline, ceftobiprole faropenem fixed two typos antibiotics data set robust way determining valid MIC values Small changed example_isolates data set better reflect reality Added microorganisms codes laboratory systems (esp. species Pseudescherichia Rodentibacter) Added Gram-stain mo_info()","code":"as.mo(c(\"Stafylococcus aureus\", \"staphylokok aureuz\")) #> Warning: #> Results of two values were guessed with uncertainty. Use mo_uncertainties() to review them. #> Class 'mo' #> [1] B_STPHY_AURS B_STPHY_AURS mo_uncertainties() #> \"Stafylococcus aureus\" -> Staphylococcus aureus (B_STPHY_AURS, score: 95.2%) #> \"staphylokok aureuz\" -> Staphylococcus aureus (B_STPHY_AURS, score: 85.7%)"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-9-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.9.0","text":"Rewrote complete documentation markdown format, able use latest version great Roxygen2, released November 2019. tremously improved documentation quality, since rewrite forced us go texts make changes needed. Change dependency clean cleaner, package renamed accordingly upon CRAN request Added Dr. Sofia Ny contributor","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-080","dir":"Changelog","previous_headings":"","what":"AMR 0.8.0","title":"AMR 0.8.0","text":"CRAN release: 2019-10-15","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"breaking-0-8-0","dir":"Changelog","previous_headings":"","what":"Breaking","title":"AMR 0.8.0","text":"Determination first isolates now excludes ‘unknown’ microorganisms default, .e. microbial code \"UNKNOWN\". can included new argument include_unknown: WHONET users, means records/isolates organism code \"con\" (contamination) excluded default, since .mo(\"con\") = \"UNKNOWN\". function always shows note number ‘unknown’ microorganisms included excluded. code consistency, classes ab mo now preserved subsetting assignment. sake data integrity, means invalid assignments now result NA: important, value like \"testvalue\" never understood e.g. mo_name(), although class suggest valid microbial code. Function freq() moved new package, clean (CRAN link), since creating frequency tables actually fit scope package. freq() function still works, since re-exported clean package (installed automatically upon updating AMR package). Renamed data set septic_patients example_isolates","code":"first_isolate(..., include_unknown = TRUE) # how it works in base R: x <- factor(\"A\") x[1] <- \"B\" #> Warning message: #> invalid factor level, NA generated # how it now works similarly for classes 'mo' and 'ab': x <- as.mo(\"E. coli\") x[1] <- \"testvalue\" #> Warning message: #> invalid microorganism code, NA generated"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-8-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.8.0","text":"Function bug_drug_combinations() quickly get data.frame results bug-drug combinations data set. column containing microorganism codes guessed automatically input transformed mo_shortname() default: can format printable format, ready reporting exporting e.g. Excel base R format() function: Additional way calculate co-resistance, .e. using multiple antimicrobials input portion_* functions count_* functions. can used determine empiric susceptibility combination therapy. new argument only_all_tested (defaults FALSE) replaces old also_single_tested can used select one two methods count isolates calculate portions. difference can seen example table (also portion count help pages), %SI determined: Since major change, usage old also_single_tested throw informative error replaced only_all_tested. tibble printing support classes rsi, mic, disk, ab mo. using tibbles containing antimicrobial columns, values S print green, values print yellow values R print red. Microbial IDs (class mo) emphasise genus species, kingdom.","code":"x <- bug_drug_combinations(example_isolates) #> NOTE: Using column `mo` as input for `col_mo`. x[1:4, ] #> mo ab S I R total #> 1 A. baumannii AMC 0 0 3 3 #> 2 A. baumannii AMK 0 0 0 0 #> 3 A. baumannii AMP 0 0 3 3 #> 4 A. baumannii AMX 0 0 3 3 #> NOTE: Use 'format()' on this result to get a publicable/printable format. # change the transformation with the FUN argument to anything you like: x <- bug_drug_combinations(example_isolates, FUN = mo_gramstain) #> NOTE: Using column `mo` as input for `col_mo`. x[1:4, ] #> mo ab S I R total #> 1 Gram-negative AMC 469 89 174 732 #> 2 Gram-negative AMK 251 0 2 253 #> 3 Gram-negative AMP 227 0 405 632 #> 4 Gram-negative AMX 227 0 405 632 #> NOTE: Use 'format()' on this result to get a publicable/printable format. format(x, combine_IR = FALSE) # -------------------------------------------------------------------- # only_all_tested = FALSE only_all_tested = TRUE # ----------------------- ----------------------- # Drug A Drug B include as include as include as include as # numerator denominator numerator denominator # -------- -------- ---------- ----------- ---------- ----------- # S or I S or I X X X X # R S or I X X X X # S or I X X - - # S or I R X X X X # R R - X - X # R - - - - # S or I X X - - # R - - - - # - - - - # -------------------------------------------------------------------- # (run this on your own console, as this page does not support colour printing) library(dplyr) example_isolates %>% select(mo:AMC) %>% as_tibble()"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-8-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.8.0","text":"Self-learning algorithm - function now gains experience previously determined microorganism IDs learns (yielding 80-95% speed improvement guess first try) Big improvement misspelled input new trivial names known field now understood: meningococcus, gonococcus, pneumococcus Updated latest taxonomic data (updated August 2019, International Journal Systematic Evolutionary Microbiology Added support Viridans Group Streptococci (VGS) Milleri Group Streptococci (MGS) Added support Blastocystis Added support 5,000 new fungi Added support unknown yeasts fungi Changed microorganism IDs improve readability. example, old code B_ENTRC_FAE E. faecalis E. faecium. new code B_ENTRC_FCLS E. faecium become B_ENTRC_FACM. Also, Latin character ae now preserved start genus species abbreviation. example, old code Aerococcus urinae B_ARCCC_NAE. now B_AERCC_URIN. IMPORTANT: Old microorganism IDs still supported, support dropped future version. Use .mo() old codes transform new format. Using functions mo_* family (like mo_name() mo_gramstain()) old codes, throw warning. intelligent guessing .ab(), including bidirectional language support Added support German national guideline (3MRGN/4MRGN) mdro() function, determine multi-drug resistant organisms Fixed bug Yersinia pseudotuberculosis Added informative errors warnings Printed info now distinguishes added changes values Using Verbose mode (.e. eucast_rules(..., verbose = TRUE)) returns informative readable output Using factors input now adds missing factors levels function changes antibiotic results Improved internal auto-guessing function determining antimicrobials data set (AMR:::get_column_abx()) Removed class atc - using .atc() now deprecated favour ab_atc() return character, atc class anymore Removed deprecated functions abname(), ab_official(), atc_name(), atc_official(), atc_property(), atc_tradenames(), atc_trivial_nl() Fix speed improvement mo_shortname() Fix using mo_* functions coercion uncertainties failures available mo_uncertainties() mo_failures() anymore Deprecated country argument mdro() favour already existing guideline argument support multiple guidelines within one country name RIF now Rifampicin instead Rifampin antibiotics data set now sorted name cephalosporins now generation brackets Speed improvement guess_ab_col() now 30 times faster antibiotic abbreviations Improved filter_ab_class() reliable support 5th generation cephalosporins Function availability() now uses portion_R() instead portion_IR(), comply EUCAST insights Functions age() age_groups() now na.rm argument remove empty values Renamed function p.symbol() p_symbol() (former now deprecated removed future version) Using negative values x age_groups() now introduce NAs return error anymore Fix determining system’s language Fix key_antibiotics() foreign systems Added 80 new LIS codes microorganisms Relabeled factor levels mdr_tb() Added MIC factor levels (.mic())","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-8-0","dir":"Changelog","previous_headings":"Changed","what":"Other","title":"AMR 0.8.0","text":"Added Prof. Dr. Casper Albers doctoral advisor added Dr. Judith Fonville, Eric Hazenberg, Dr. Bart Meijer, Dr. Dennis Souverein Annick Lenglet contributors Cleaned coding style every single syntax line package help lintr package","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-071","dir":"Changelog","previous_headings":"","what":"AMR 0.7.1","title":"AMR 0.7.1","text":"CRAN release: 2019-06-23","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-7-1","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.7.1","text":"Function rsi_df() transform data.frame data set containing microbial interpretation (S, , R), antibiotic, percentage S//R number available isolates. convenient combination existing functions count_df() portion_df() immediately show resistance percentages number available isolates: Support scientifically published pathotypes E. coli date (find). Supported : AIEC (Adherent-Invasive E. coli) ATEC (Atypical Entero-pathogenic E. coli) DAEC (Diffusely Adhering E. coli) EAEC (Entero-Aggresive E. coli) EHEC (Entero-Haemorrhagic E. coli) EIEC (Entero-Invasive E. coli) EPEC (Entero-Pathogenic E. coli) ETEC (Entero-Toxigenic E. coli) NMEC (Neonatal Meningitis-causing E. coli) STEC (Shiga-toxin producing E. coli) UPEC (Uropathogenic E. coli) lead microbial ID E. coli: Function mo_info() analogy ab_info(). mo_info() prints list full taxonomy, authors, URL online database microorganism Function mo_synonyms() get previously accepted taxonomic names microorganism","code":"septic_patients %>% select(AMX, CIP) %>% rsi_df() # antibiotic interpretation value isolates # 1 Amoxicillin SI 0.4442636 546 # 2 Amoxicillin R 0.5557364 683 # 3 Ciprofloxacin SI 0.8381831 1181 # 4 Ciprofloxacin R 0.1618169 228 as.mo(\"UPEC\") # B_ESCHR_COL mo_name(\"UPEC\") # \"Escherichia coli\" mo_gramstain(\"EHEC\") # \"Gram-negative\""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-7-1","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.7.1","text":"Column names output count_df() portion_df() now lowercase Fixed bug translation microorganism names Fixed bug determining taxonomic kingdoms Algorithm improvements .ab() .mo() understand even severely misspelled input Function .ab() now allows spaces coercing antibiotics names Added ggplot2 methods automatically determining scale type classes mo ab Added names object header frequency tables, even using pipes Prevented \"bacteria\" getting coerced .ab() Bacterial brand name trimethoprim (TMP) Fixed bug setting antibiotic work eucast_rules() mdro() Fixed EUCAST rule Staphylococci, amikacin resistance inferred tobramycin Removed latest_annual_release catalogue_of_life_version() function Removed antibiotic code PVM1 antibiotics data set duplicate PME Fixed bug old taxonomic names printed, using vector input .mo() Manually added Trichomonas vaginalis kingdom Protozoa, missing Catalogue Life Small improvements plot() barplot() MIC RSI classes Allow Catalogue Life IDs coerced .mo()","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-7-1","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.7.1","text":"Fixed note thrown CRAN tests","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-070","dir":"Changelog","previous_headings":"","what":"AMR 0.7.0","title":"AMR 0.7.0","text":"CRAN release: 2019-06-03","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-7-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.7.0","text":"Support translation disk diffusion MIC values RSI values (.e. antimicrobial interpretations). Supported guidelines EUCAST (2011 2019) CLSI (2011 2019). Use .rsi() MIC value (created .mic()), disk diffusion value (created new .disk()) complete date set containing columns MIC disk diffusion values. Function mo_name() alias mo_fullname() Added guidelines determine multi-drug resistance (MDR) TB (mdr_tb()) added new vignette MDR. Read tutorial website.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-7-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.7.0","text":"Fixed critical bug first_isolate() missing species lead incorrect FALSEs. bug present AMR v0.5.0, v0.6.0 v0.6.1. Fixed bug eucast_rules() antibiotics WHONET software recognised Column ab contains human readable EARS-Net code, used ECDC /WHONET - primary identifier used package Column atc contains ATC code, used /WHOCC Column cid contains CID code (Compound ID), used PubChem Based Compound ID, almost 5,000 official brand names added many different countries references antibiotics package now use EARS-Net codes, like AMX amoxicillin Functions atc_certe, ab_umcg atc_trivial_nl removed atc_* functions superseded ab_* functions output translated using included translation file can viewed New argument colours set bar colours New arguments title, subtitle, caption, x.title y.title set titles axis descriptions Improved intelligence looking antibiotic columns data set using guess_ab_col() Added ~5,000 old taxonomic names microorganisms.old data set, leads better results finding using .mo() function package now honours new EUCAST insight (2019) S classified susceptible, defined ‘increased exposure’ ‘intermediate’ anymore. functions like portion_df() count_df() means new argument combine_SI TRUE default. plotting function ggplot_rsi() also reflects change since uses count_df() internally. age() function gained new argument exact determine ages decimals Removed deprecated functions guess_mo(), guess_atc(), EUCAST_rules(), interpretive_reading(), rsi() speed improvement microbial IDs fixed factor level names R Markdown values unique now shows message instead warning support boxplots: Removed hardcoded EUCAST rules replaced new reference file can viewed Added ceftazidim intrinsic resistance Streptococci Changed default settings age_groups(), let groups fives tens end 100+ instead 120+ Fix freq() values NA Fix first_isolate() dates missing Improved speed guess_ab_col() Function .mo() now gently interprets number whitespace characters (like tabs) one space Function .mo() now returns UNKNOWN \"con\" (WHONET ID ‘contamination’) returns NA \"xxx\"(WHONET ID ‘growth’) Small algorithm fix .mo() Removed viruses data set microorganisms.codes cleaned Fix mo_shortname() species determined correctly","code":"septic_patients %>% freq(age) %>% boxplot() # grouped boxplots: septic_patients %>% group_by(ward) %>% freq(age) %>% boxplot()"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-7-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.7.0","text":"Support R 3.6.0 later providing support staged install","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-061","dir":"Changelog","previous_headings":"","what":"AMR 0.6.1","title":"AMR 0.6.1","text":"CRAN release: 2019-03-29","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-6-1","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.6.1","text":"Fixed critical bug using eucast_rules() verbose = TRUE Coercion microbial IDs now written package namespace instead user’s home folder, comply CRAN policy","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-060","dir":"Changelog","previous_headings":"","what":"AMR 0.6.0","title":"AMR 0.6.0","text":"CRAN release: 2019-03-27 New website! ’ve got new website: https://msberends.gitlab.io/AMR (built great pkgdown) Contains complete manual package functions explanation arguments Contains comprehensive tutorial conduct AMR data analysis, import data WHONET SPSS many .","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-6-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.6.0","text":"BREAKING: removed deprecated functions, arguments references ‘bactid’. Use .mo() identify MO code. Catalogue Life new taxonomic source data microorganisms, also contains ITIS data used previously. microorganisms data set now contains: ~55,000 (sub)species kingdoms Archaea, Bacteria Protozoa ~3,000 (sub)species orders kingdom Fungi: Eurotiales, Onygenales, Pneumocystales, Saccharomycetales Schizosaccharomycetales (covering least like species Aspergillus, Candida, Pneumocystis, Saccharomyces Trichophyton) ~2,000 (sub)species ~100 relevant genera, kingdoms Animalia Plantae (like Strongyloides Taenia) ~15,000 previously accepted names included (sub)species taxonomically renamed responsible author(s) year scientific publication data updated annually - check included version new function catalogue_of_life_version(). Due change, mo codes changed (e.g. Streptococcus changed B_STRPTC B_STRPT). translation table used internally support older microorganism IDs, users notice difference. New function mo_rank() taxonomic rank (genus, species, infraspecies, etc.) New function mo_url() get direct URL species Catalogue Life Support data WHONET EARS-Net (European Antimicrobial Resistance Surveillance Network): Exported files WHONET can read used package. functions like first_isolate() eucast_rules(), arguments filled automatically. package now knows antibiotic abbrevations EARS-Net (also used WHONET) - antibiotics data set now contains column ears_net. function .mo() now knows WHONET species abbreviations , almost 2,000 microbial abbreviations added microorganisms.codes data set. New filters antimicrobial classes. Use functions filter isolates results one antibiotics specific class: antibiotics data set searched, input data checked column names value abbreviations, codes official names found antibiotics data set. example: ab_* functions deprecated replaced atc_* functions: functions use .atc() internally. old atc_property renamed atc_online_property(). done two reasons: firstly, ATC codes antibiotics (ab) can also antivirals antifungals. Secondly, input must class atc must coerable class. Properties classes start class name, analogous .mo() e.g. mo_genus. New functions set_mo_source() get_mo_source() use predefined MO codes input .mo() consequently mo_* functions Support upcoming dplyr version 0.8.0 New function guess_ab_col() find antibiotic column table New function mo_failures() review values coerced valid MO code, using .mo(). latter function now show maximum 10 uncoerced values refer mo_failures(). New function mo_uncertainties() review values coerced valid MO code using .mo(), uncertainty. New function mo_renamed() get list returned values .mo() taxonomic renaming New function age() calculate (patients) age years New function age_groups() split ages custom predefined groups (like children elderly). allows easier demographic AMR data analysis per age group. New function ggplot_rsi_predict() well base R plot() function can now used resistance prediction calculated resistance_predict(): Functions filter_first_isolate() filter_first_weighted_isolate() shorten fasten filtering data sets antimicrobial results, e.g.: equal : New function availability() check number available (non-empty) results data.frame New vignettes conduct AMR analysis, predict antimicrobial resistance, use G-test . also available (even easier readable) website: https://msberends.gitlab.io/AMR.","code":"filter_aminoglycosides() filter_carbapenems() filter_cephalosporins() filter_1st_cephalosporins() filter_2nd_cephalosporins() filter_3rd_cephalosporins() filter_4th_cephalosporins() filter_fluoroquinolones() filter_glycopeptides() filter_macrolides() filter_tetracyclines() septic_patients %>% filter_glycopeptides(result = \"R\") # Filtering on glycopeptide antibacterials: any of `vanc` or `teic` is R septic_patients %>% filter_glycopeptides(result = \"R\", scope = \"all\") # Filtering on glycopeptide antibacterials: all of `vanc` and `teic` is R ab_property -> atc_property() ab_name -> atc_name() ab_official -> atc_official() ab_trivial_nl -> atc_trivial_nl() ab_certe -> atc_certe() ab_umcg -> atc_umcg() ab_tradenames -> atc_tradenames() x <- resistance_predict(septic_patients, col_ab = \"amox\") plot(x) ggplot_rsi_predict(x) septic_patients %>% filter_first_isolate(...) # or filter_first_isolate(septic_patients, ...) septic_patients %>% mutate(only_firsts = first_isolate(septic_patients, ...)) %>% filter(only_firsts == TRUE) %>% select(-only_firsts)"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-6-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.6.0","text":"Updated EUCAST Clinical breakpoints version 9.0 1 January 2019, data set septic_patients now reflects changes Fixed critical bug rules depend previous applied rules applied adequately Emphasised manual penicillin meant benzylpenicillin (ATC J01CE01) New info returned running function, stating exactly changed added. Use eucast_rules(..., verbose = TRUE) get data set changed per bug drug combination. Removed data sets microorganisms.oldDT, microorganisms.prevDT, microorganisms.unprevDT microorganismsDT since longer needed contained info already available microorganisms data set Added 65 antibiotics antibiotics data set, Pharmaceuticals Community Register European Commission Removed columns atc_group1_nl atc_group2_nl antibiotics data set Functions atc_ddd() atc_groups() renamed atc_online_ddd() atc_online_groups(). old functions deprecated removed future version. Function guess_mo() now deprecated favour .mo() removed future versions Function guess_atc() now deprecated favour .atc() removed future versions Now handles incorrect spelling, like instead y f instead ph: Uncertainty algorithm now divided four levels, 0 3, default allow_uncertain = TRUE equal uncertainty level 2. Run ?.mo info levels. Using .mo(..., allow_uncertain = 3) lead unreliable results. Implemented latest publication Becker et al. (2019), categorising coagulase-negative Staphylococci microbial IDs found now saved local file ~/.Rhistory_mo. Use new function clean_mo_history() delete file, resets algorithms. Incoercible results now considered ‘unknown’, MO code UNKNOWN. foreign systems, properties translated languages already previously supported: German, Dutch, French, Italian, Spanish Portuguese. Fix vector containing empty values Finds better results input languages Better handling subspecies Better handling Salmonellae, especially ‘city like’ serovars like Salmonella London Understanding highly virulent E. coli strains like EIEC, EPEC STEC looked uncertain results default - results returned informative warning Manual (help page) now contains info algorithms Progress bar shown takes 3 seconds get results Support formatted console text Console return percentage uncoercable input Fixed bug distances dates calculated right - septic_patients data set yielded difference 0.15% isolates now use column named like “patid” patient ID (argument col_patientid), argument left blank now use column named like “key(…)ab” “key(…)antibiotics” key antibiotics (argument col_keyantibiotics()), argument left blank Removed argument output_logical, function now always return logical value Renamed argument filter_specimen specimen_group, although using filter_specimen still work note manual pages portion functions, low counts can influence outcome portion functions may camouflage , since return portion (albeit dependent minimum argument) Merged data sets microorganisms.certe microorganisms.umcg microorganisms.codes Function mo_taxonomy() now contains kingdom Reduce false positives .rsi.eligible() using new threshold argument New colours scale_rsi_colours() Summaries class mo now return top 3 unique count, e.g. using summary(mo) Small text updates summaries class rsi mic Now gives warning inputting MIC values Now accepts high low resistance: \"HIGH S\" return S Support tidyverse quasiquotation! Now can create frequency tables function outcomes: Header info now available list, header function argument header now set TRUE default, even markdown Added header info class mo show unique count families, genera species Now honours decimal.mark setting, just like format defaults getOption(\"OutDec\") new big.mark argument default \",\" decimal.mark = \".\" \".\" otherwise Fix header text observations NA New argument droplevels exclude empty factor levels input factor Factor levels header present input data (maximum 5) Fix using select() frequency tables Function scale_y_percent() now contains limits argument Automatic argument filling mdro(), key_antibiotics() eucast_rules() Updated examples resistance prediction (resistance_predict() function) Fix .mic() support values ending (several) zeroes using different lengths pattern x %like%, now return call","code":"# mo_fullname() uses as.mo() internally mo_fullname(\"Sthafilokockus aaureuz\") #> [1] \"Staphylococcus aureus\" mo_fullname(\"S. klossi\") #> [1] \"Staphylococcus kloosii\" # equal: as.mo(..., allow_uncertain = TRUE) as.mo(..., allow_uncertain = 2) # also equal: as.mo(..., allow_uncertain = FALSE) as.mo(..., allow_uncertain = 0) # Determine genus of microorganisms (mo) in `septic_patients` data set: # OLD WAY septic_patients %>% mutate(genus = mo_genus(mo)) %>% freq(genus) # NEW WAY septic_patients %>% freq(mo_genus(mo)) # Even supports grouping variables: septic_patients %>% group_by(gender) %>% freq(mo_genus(mo))"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-6-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.6.0","text":"Updated licence text emphasise GPL 2.0 R package.","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-050","dir":"Changelog","previous_headings":"","what":"AMR 0.5.0","title":"AMR 0.5.0","text":"CRAN release: 2018-11-30","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-5-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.5.0","text":"Repository moved GitLab Function count_all get available isolates (like portion_* count_* functions also supports summarise group_by), old n_rsi now alias count_all Function get_locale determine language language-dependent output mo_* functions. now default value language argument, system language used default. Data sets microorganismsDT, microorganisms.prevDT, microorganisms.unprevDT microorganisms.oldDT improve speed .mo. reference , since primarily internal use .mo. Function read.4D read 4D database MMB department UMCG Functions mo_authors mo_year get specific values scientific reference taxonomic entry","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-5-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.5.0","text":"Functions MDRO, BRMO, MRGN EUCAST_exceptional_phenotypes renamed mdro, brmo, mrgn eucast_exceptional_phenotypes EUCAST_rules renamed eucast_rules, old function still exists deprecated function Big changes eucast_rules function: Now also applies rules EUCAST ‘Breakpoint tables bacteria’, version 8.1, 2018, https://www.eucast.org/clinical_breakpoints/ (see Source function) New argument rules specify rules applied (expert rules, breakpoints, others ) New argument verbose can set TRUE get specific messages columns rows affected Better error handling rules applied (.e. new values inserted) number affected values now measured per row/column combination Data set septic_patients now reflects changes Added argument pipe piperacillin (J01CA12), also mdro function Small fixes EUCAST clinical breakpoint rules Added column kingdom microorganisms data set, function mo_kingdom look values Tremendous speed improvement .mo (subsequently mo_* functions), empty values wil ignored priori Fewer 3 characters input .mo return NA Function .mo (mo_* wrappers) now supports genus abbreviations “species” attached Added argument combine_IR (TRUE/FALSE) functions portion_df count_df, indicate values R must merged one, output consists S vs. IR (susceptible vs. non-susceptible) Fix portion_*(..., as_percent = TRUE) minimal number isolates met Added argument also_single_tested portion_* count_* functions also include cases antibiotics tested least one tested antibiotics includes target antimicribial interpretation, see ?portion Using portion_* functions now throws warning total available isolate argument minimum Functions .mo, .rsi, .mic, .atc freq set package name attribute anymore Frequency tables - freq(): Support grouping variables, test : Support (un)selecting columns: Check hms::.hms Now prints markdown default non-interactive sessions longer adds factor level column sorts factors count Support class difftime New argument na, choose character print empty values New argument header turn header info (default markdown = TRUE) New argument title manually setbthe title frequency table first_isolate now tries find columns use input arguments left blank Improvements MDRO algorithm (function mdro) Data set septic_patients now data.frame, tibble anymore Removed diacritics authors (columns microorganisms$ref microorganisms.old$ref) comply CRAN policy allow ASCII characters Fix mo_property working properly Fix eucast_rules Streptococci become ceftazidime R EUCAST rule 4.5 Support named vectors class mo, useful top_freq() ggplot_rsi scale_y_percent breaks argument AI improvements .mo: \"CRS\" -> Stenotrophomonas maltophilia \"CRSM\" -> Stenotrophomonas maltophilia \"MSSA\" -> Staphylococcus aureus \"MSSE\" -> Staphylococcus epidermidis Fix join functions Speed improvement .rsi.eligible, now 15-20 times faster g.test, sum(x) 1000 expected values 5, Fisher’s Exact Test suggested ab_name try fall back .atc results found Removed addin view data sets Percentages now rounded logically (e.g. freq function)","code":"as.mo(\"E. species\") # B_ESCHR mo_fullname(\"E. spp.\") # \"Escherichia species\" as.mo(\"S. spp\") # B_STPHY mo_fullname(\"S. species\") # \"Staphylococcus species\" septic_patients %>% group_by(ward) %>% freq(gender) septic_patients %>% freq(ward) %>% select(-count, -cum_count) # only get item, percent, cum_percent"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-5-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.5.0","text":"New dependency package crayon, support formatted text console Dependency tidyr now mandatory (went Import field) since portion_df count_df rely Updated vignettes comply README","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-040","dir":"Changelog","previous_headings":"","what":"AMR 0.4.0","title":"AMR 0.4.0","text":"CRAN release: 2018-10-01","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-4-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.4.0","text":"data set microorganisms now contains microbial taxonomic data ITIS (kingdoms Bacteria, Fungi Protozoa), Integrated Taxonomy Information System, available via https://itis.gov. data set now contains 18,000 microorganisms known bacteria, fungi protozoa according ITIS genus, species, subspecies, family, order, class, phylum subkingdom. new data set microorganisms.old contains previously known taxonomic names kingdoms. New functions based existing function mo_property: Taxonomic names: mo_phylum, mo_class, mo_order, mo_family, mo_genus, mo_species, mo_subspecies Semantic names: mo_fullname, mo_shortname Microbial properties: mo_type, mo_gramstain Author year: mo_ref also come support German, Dutch, French, Italian, Spanish Portuguese: Furthermore, former taxonomic names give note current taxonomic name: Functions count_R, count_IR, count_I, count_SI count_S selectively count resistant susceptible isolates Extra function count_df (works like portion_df) get counts S, R data set antibiotic columns, support grouped variables Function .rsi.eligible check columns valid antimicrobial results, rsi class yet. Transform columns raw data : data %>% mutate_if(.rsi.eligible, .rsi) Functions .mo .mo replacements .bactid .bactid (since microoganisms data set contains bacteria). last two functions deprecated removed future release. .mo function determines microbial IDs using intelligent rules: great speed - quite regular Linux server 2007 takes us less 0.02 seconds transform 25,000 items: Added argument reference_df .mo, users can supply microbial IDs, name codes reference table Renamed previous references bactid mo, like: Column names inputs EUCAST_rules, first_isolate key_antibiotics Column names datasets microorganisms septic_patients old syntaxes still work version, throw warnings Function labels_rsi_count print datalabels RSI ggplot2 model Functions .atc .atc transform/look antibiotic ATC codes defined . existing function guess_atc now alias .atc. Function ab_property aliases: ab_name, ab_tradenames, ab_certe, ab_umcg ab_trivial_nl Introduction AMR vignette Removed clipboard functions violated CRAN policy Renamed septic_patients$sex septic_patients$gender","code":"mo_gramstain(\"E. coli\") # [1] \"Gram negative\" mo_gramstain(\"E. coli\", language = \"de\") # German # [1] \"Gramnegativ\" mo_gramstain(\"E. coli\", language = \"es\") # Spanish # [1] \"Gram negativo\" mo_fullname(\"S. group A\", language = \"pt\") # Portuguese # [1] \"Streptococcus grupo A\" mo_gramstain(\"Esc blattae\") # Note: 'Escherichia blattae' (Burgess et al., 1973) was renamed 'Shimwellia blattae' (Priest and Barker, 2010) # [1] \"Gram negative\" as.mo(\"E. coli\") # [1] B_ESCHR_COL as.mo(\"MRSA\") # [1] B_STPHY_AUR as.mo(\"S group A\") # [1] B_STRPTC_GRA thousands_of_E_colis <- rep(\"E. coli\", 25000) microbenchmark::microbenchmark(as.mo(thousands_of_E_colis), unit = \"s\") # Unit: seconds # min median max neval # 0.01817717 0.01843957 0.03878077 100"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-4-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.4.0","text":"Added three antimicrobial agents antibiotics data set: Terbinafine (D01BA02), Rifaximin (A07AA11) Isoconazole (D01AC05) Added 163 trade names antibiotics data set, now contains 298 different trade names total, e.g.: first_isolate, rows ignored ’s species available Function ratio now deprecated removed future release, really scope package Fix .mic values ending zeroes real number Small fix B. fragilis found microorganisms.umcg data set Added prevalence column microorganisms data set Added arguments minimum as_percent portion_df Support quasiquotation functions series count_* portions_*, n_rsi. allows check 2 vectors columns. Edited ggplot_rsi geom_rsi can cope count_df. new fun argument value portion_df default, can set count_df. Fix ggplot_rsi ggplot2 package loaded Added datalabels function labels_rsi_count ggplot_rsi Added possibility set argument geom_rsi (ggplot_rsi) can set preferences Fix joins, predefined suffices honoured Added argument quote freq function Added generic function diff frequency tables Added longest en shortest character length frequency table (freq) header class character Support types (classes) list matrix freq lists, subsetting possible:","code":"ab_official(\"Bactroban\") # [1] \"Mupirocin\" ab_name(c(\"Bactroban\", \"Amoxil\", \"Zithromax\", \"Floxapen\")) # [1] \"Mupirocin\" \"Amoxicillin\" \"Azithromycin\" \"Flucloxacillin\" ab_atc(c(\"Bactroban\", \"Amoxil\", \"Zithromax\", \"Floxapen\")) # [1] \"R01AX06\" \"J01CA04\" \"J01FA10\" \"J01CF05\" septic_patients %>% select(amox, cipr) %>% count_IR() # which is the same as: septic_patients %>% count_IR(amox, cipr) septic_patients %>% portion_S(amcl) septic_patients %>% portion_S(amcl, gent) septic_patients %>% portion_S(amcl, gent, pita) my_matrix = with(septic_patients, matrix(c(age, gender), ncol = 2)) freq(my_matrix) my_list = list(age = septic_patients$age, gender = septic_patients$gender) my_list %>% freq(age) my_list %>% freq(gender)"},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-4-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.4.0","text":"unit tests ensure better integrity functions","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-030","dir":"Changelog","previous_headings":"","what":"AMR 0.3.0","title":"AMR 0.3.0","text":"CRAN release: 2018-08-14","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-3-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.3.0","text":"New function portion_df get portions S, R data set antibiotic columns, support grouped variables Universal: amoxicillin, amoxicillin/clavlanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole Gram-positive: vancomycin, teicoplanin, tetracycline, erythromycin, oxacillin, rifampicin Gram-negative: gentamicin, tobramycin, colistin, cefotaxime, ceftazidime, meropenem New functions geom_rsi, facet_rsi, scale_y_percent, scale_rsi_colours theme_rsi septic_patients %>% select(tobr, gent) %>% ggplot_rsi show portions S, R immediately pretty plot Support grouped variables, see ?ggplot_rsi New functions .bactid .bactid transform/ look microbial ID’s. existing function guess_bactid now alias .bactid New Becker classification Staphylococcus categorise Coagulase Negative Staphylococci (CoNS) Coagulase Positve Staphylococci (CoPS) New Lancefield classification Streptococcus categorise Lancefield groups convience, new descriptive statistical functions kurtosis skewness lacking base R - generic functions support vectors, data.frames matrices Function g.test perform X2 distributed G-test, use chisq.test example: ratio(c(10, 500, 10), ratio = \"1:2:1\") return 130, 260, 130 Support Addins menu RStudio quickly insert %% %like% (give keyboard shortcuts), view datasets come package Function p.symbol transform p values related symbols: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Functions clipboard_import clipboard_export helper functions quickly copy paste /software like Excel SPSS. functions use clipr package, little altered also support headless Linux servers (can use RStudio Server) vignette explain usage Support rsi (antimicrobial resistance) use input Support table use input: freq(table(x, y)) Support existing functions hist plot use frequency table input: hist(freq(df$age)) Support .vector, .data.frame, as_tibble format Support quasiquotation: freq(mydata, mycolumn) mydata %>% freq(mycolumn) Function top_freq function return top/n items vector Header frequency tables now also show Mean Absolute Deviaton (MAD) Interquartile Range (IQR) Possibility globally set default amount items print, options(max.print.freq = n) n preset value","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-3-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.3.0","text":"Improvements forecasting resistance_predict added examples antibiotics added arguments EUCAST rules Updated version septic_patients data set better reflect reality Pretty printing tibbles removed really scope package Printing mic rsi classes now returns values - use freq check distributions Improved speed key antibiotics comparison determining first isolates Column names key_antibiotics function now generic: 6 broadspectrum ABs, 6 Gram-positive specific 6 Gram-negative specific ABs Speed improvement abname function %like% now supports multiple patterns Frequency tables now actual data.frames altered console printing make look like frequency table. , argument toConsole longer needed. Fix freq class item lost Small translational improvements septic_patients dataset column bactid now new class \"bactid\" Small improvements microorganisms dataset (especially Salmonella) column bactid now new class \"bactid\" .rsi(\"<=0.002; S\") return S .mic(\"<=0.002; S\") return <=0.002 Now possible coerce MIC values space operator value, .e. .mic(\"<= 0.002\") now works Classes rsi mic add attribute package.version anymore Added \"groups\" option atc_property(..., property). return vector ATC hierarchy defined . new function atc_groups convenient wrapper around . Build-host check atc_property requires host set url responsive Improved first_isolate algorithm exclude isolates bacteria ID genus unavailable Fix warning hybrid evaluation forced row_number (924b62) dplyr package v0.7.5 yourdata %>% select(genus, species) %>% .bactid() now also works small fixes","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-3-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.3.0","text":"Linux macOS: https://travis-ci.org/msberends/AMR Windows: https://ci.appveyor.com/project/msberends/amr Added thesis advisors DESCRIPTION file","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-020","dir":"Changelog","previous_headings":"","what":"AMR 0.2.0","title":"AMR 0.2.0","text":"CRAN release: 2018-05-03","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"new-0-2-0","dir":"Changelog","previous_headings":"","what":"New","title":"AMR 0.2.0","text":"Full support Windows, Linux macOS Full support old R versions, R-3.0.0 (April 2013) later needed (needed packages may dependencies) Function n_rsi count cases antibiotic test results available, used conjunction dplyr::summarise, see ?rsi Function guess_bactid determine ID microorganism based genus/species known abbreviations like MRSA Function guess_atc determine ATC antibiotic based name, trade name, known abbreviations Function freq create frequency tables, additional info header Exceptional resistances defined EUCAST also supported instead countries alone Functions BRMO MRGN wrappers Dutch German guidelines, respectively New algorithm determine weighted isolates, can now \"points\" \"keyantibiotics\", see ?first_isolate New print format tibbles data.tables","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"changed-0-2-0","dir":"Changelog","previous_headings":"","what":"Changed","title":"AMR 0.2.0","text":"Fixed rsi class vectors contain invalid antimicrobial interpretations Renamed dataset ablist antibiotics Renamed dataset bactlist microorganisms Added common abbreviations trade names antibiotics dataset Added microorganisms microorganisms dataset Added analysis examples help page dataset septic_patients Added support character vector join functions Added warnings join results rows join Altered %like% make case insensitive arguments functions first_isolate EUCAST_rules column names now case-insensitive Functions .rsi .mic now add package name version attributes","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"other-0-2-0","dir":"Changelog","previous_headings":"","what":"Other","title":"AMR 0.2.0","text":"Expanded README.md examples Added ORCID authors DESCRIPTION file Added unit testing testthat package Added build tests Linux macOS using Travis CI (https://travis-ci.org/msberends/AMR) Added line coverage checking using CodeCov (https://codecov.io/gh/msberends/AMR/tree/main/R)","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-011","dir":"Changelog","previous_headings":"","what":"AMR 0.1.1","title":"AMR 0.1.1","text":"CRAN release: 2018-03-14 EUCAST_rules applies amoxicillin even ampicillin missing Edited column names comply GLIMS, laboratory information system Added valid MIC values Renamed ‘Daily Defined Dose’ ‘Defined Daily Dose’ Added barplots rsi mic classes","code":""},{"path":"https://msberends.github.io/AMR/news/index.html","id":"amr-010","dir":"Changelog","previous_headings":"","what":"AMR 0.1.0","title":"AMR 0.1.0","text":"CRAN release: 2018-02-22 First submission CRAN.","code":""}]