Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e522cd988 |
@@ -1,106 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>Page not found (404) • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="https://msberends.github.io/AMR/favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="https://msberends.github.io/AMR/favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="https://msberends.github.io/AMR/apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="https://msberends.github.io/AMR/apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="https://msberends.github.io/AMR/apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="https://msberends.github.io/AMR/apple-touch-icon-60x60.png">
|
|
||||||
<script src="https://msberends.github.io/AMR/deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="https://msberends.github.io/AMR/deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="https://msberends.github.io/AMR/deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="https://msberends.github.io/AMR/deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="https://msberends.github.io/AMR/deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="https://msberends.github.io/AMR/deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="https://msberends.github.io/AMR/deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="https://msberends.github.io/AMR/deps/headroom-0.11.0/headroom.min.js"></script><script src="https://msberends.github.io/AMR/deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="https://msberends.github.io/AMR/deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="https://msberends.github.io/AMR/deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="https://msberends.github.io/AMR/deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="https://msberends.github.io/AMR/deps/search-1.0.0/fuse.min.js"></script><script src="https://msberends.github.io/AMR/deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="https://msberends.github.io/AMR/pkgdown.js"></script><link href="https://msberends.github.io/AMR/extra.css" rel="stylesheet">
|
|
||||||
<script src="https://msberends.github.io/AMR/extra.js"></script><meta property="og:title" content="Page not found (404)">
|
|
||||||
<meta property="og:image" content="https://msberends.github.io/AMR/logo.svg">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="https://msberends.github.io/AMR/#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="https://msberends.github.io/AMR/index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="https://msberends.github.io/AMR/reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="https://msberends.github.io/AMR/articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="https://msberends.github.io/AMR/reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="https://msberends.github.io/AMR/authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="https://msberends.github.io/AMR/news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-title-body">
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="https://msberends.github.io/AMR/logo.svg" class="logo" alt=""><h1>Page not found (404)</h1>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
Content not found. Please use links in the navbar.
|
|
||||||
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -0,0 +1,254 @@
|
|||||||
|
Metadata-Version: 2.4
|
||||||
|
Name: AMR
|
||||||
|
Version: 3.0.1.9091
|
||||||
|
Summary: A Python wrapper for the AMR R package
|
||||||
|
Home-page: https://github.com/msberends/AMR
|
||||||
|
Author: Matthijs Berends
|
||||||
|
Author-email: m.s.berends@umcg.nl
|
||||||
|
License: GPL 2
|
||||||
|
Project-URL: Bug Tracker, https://github.com/msberends/AMR/issues
|
||||||
|
Classifier: Programming Language :: Python :: 3
|
||||||
|
Classifier: Operating System :: OS Independent
|
||||||
|
Requires-Python: >=3.6
|
||||||
|
Description-Content-Type: text/markdown
|
||||||
|
Requires-Dist: rpy2
|
||||||
|
Requires-Dist: numpy
|
||||||
|
Requires-Dist: pandas
|
||||||
|
Dynamic: author
|
||||||
|
Dynamic: author-email
|
||||||
|
Dynamic: classifier
|
||||||
|
Dynamic: description
|
||||||
|
Dynamic: description-content-type
|
||||||
|
Dynamic: home-page
|
||||||
|
Dynamic: license
|
||||||
|
Dynamic: project-url
|
||||||
|
Dynamic: requires-dist
|
||||||
|
Dynamic: requires-python
|
||||||
|
Dynamic: summary
|
||||||
|
|
||||||
|
|
||||||
|
The `AMR` package for R is a powerful tool for antimicrobial resistance (AMR) analysis. It provides extensive features for handling microbial and antimicrobial data. However, for those who work primarily in Python, we now have a more intuitive option available: the [`AMR` Python package](https://pypi.org/project/AMR/).
|
||||||
|
|
||||||
|
This Python package is a wrapper around the `AMR` R package. It uses the `rpy2` package internally. Despite the need to have R installed, Python users can now easily work with AMR data directly through Python code.
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
This package was only tested with a [virtual environment (venv)](https://docs.python.org/3/library/venv.html). You can set up such an environment by running:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# linux and macOS:
|
||||||
|
python -m venv /path/to/new/virtual/environment
|
||||||
|
|
||||||
|
# Windows:
|
||||||
|
python -m venv C:\path\to\new\virtual\environment
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you can [activate the environment](https://docs.python.org/3/library/venv.html#how-venvs-work), after which the venv is ready to work with.
|
||||||
|
|
||||||
|
# Install AMR
|
||||||
|
|
||||||
|
1. Since the Python package is available on the official [Python Package Index](https://pypi.org/project/AMR/), you can just run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install AMR
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Make sure you have R installed. There is **no need to install the `AMR` R package**, as it will be installed automatically.
|
||||||
|
|
||||||
|
For Linux:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Ubuntu / Debian
|
||||||
|
sudo apt install r-base
|
||||||
|
# Fedora:
|
||||||
|
sudo dnf install R
|
||||||
|
# CentOS/RHEL
|
||||||
|
sudo yum install R
|
||||||
|
```
|
||||||
|
|
||||||
|
For macOS (using [Homebrew](https://brew.sh)):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew install r
|
||||||
|
```
|
||||||
|
|
||||||
|
For Windows, visit the [CRAN download page](https://cran.r-project.org) to download and install R.
|
||||||
|
|
||||||
|
# Examples of Usage
|
||||||
|
|
||||||
|
## Cleaning Taxonomy
|
||||||
|
|
||||||
|
Here’s an example that demonstrates how to clean microorganism and drug names using the `AMR` Python package:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import pandas as pd
|
||||||
|
import AMR
|
||||||
|
|
||||||
|
# Sample data
|
||||||
|
data = {
|
||||||
|
"MOs": ['E. coli', 'ESCCOL', 'esco', 'Esche coli'],
|
||||||
|
"Drug": ['Cipro', 'CIP', 'J01MA02', 'Ciproxin']
|
||||||
|
}
|
||||||
|
df = pd.DataFrame(data)
|
||||||
|
|
||||||
|
# Use AMR functions to clean microorganism and drug names
|
||||||
|
df['MO_clean'] = AMR.mo_name(df['MOs'])
|
||||||
|
df['Drug_clean'] = AMR.ab_name(df['Drug'])
|
||||||
|
|
||||||
|
# Display the results
|
||||||
|
print(df)
|
||||||
|
```
|
||||||
|
|
||||||
|
| MOs | Drug | MO_clean | Drug_clean |
|
||||||
|
|-------------|-----------|--------------------|---------------|
|
||||||
|
| E. coli | Cipro | Escherichia coli | Ciprofloxacin |
|
||||||
|
| ESCCOL | CIP | Escherichia coli | Ciprofloxacin |
|
||||||
|
| esco | J01MA02 | Escherichia coli | Ciprofloxacin |
|
||||||
|
| Esche coli | Ciproxin | Escherichia coli | Ciprofloxacin |
|
||||||
|
|
||||||
|
### Explanation
|
||||||
|
|
||||||
|
* **mo_name:** This function standardises microorganism names. Here, different variations of *Escherichia coli* (such as "E. coli", "ESCCOL", "esco", and "Esche coli") are all converted into the correct, standardised form, "Escherichia coli".
|
||||||
|
|
||||||
|
* **ab_name**: Similarly, this function standardises antimicrobial names. The different representations of ciprofloxacin (e.g., "Cipro", "CIP", "J01MA02", and "Ciproxin") are all converted to the standard name, "Ciprofloxacin".
|
||||||
|
|
||||||
|
## Calculating AMR
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
df = AMR.example_isolates
|
||||||
|
result = AMR.resistance(df["AMX"])
|
||||||
|
print(result)
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
[0.59555556]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Generating Antibiograms
|
||||||
|
|
||||||
|
One of the core functions of the `AMR` package is generating an antibiogram, a table that summarises the antimicrobial susceptibility of bacterial isolates. Here’s how you can generate an antibiogram from Python:
|
||||||
|
|
||||||
|
```python
|
||||||
|
result2a = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]])
|
||||||
|
print(result2a)
|
||||||
|
```
|
||||||
|
|
||||||
|
| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam |
|
||||||
|
|-----------------|-----------------|-----------------|--------------------------|
|
||||||
|
| CoNS | 7% (10/142) | 73% (183/252) | 30% (10/33) |
|
||||||
|
| E. coli | 50% (196/392) | 88% (399/456) | 94% (393/416) |
|
||||||
|
| K. pneumoniae | 0% (0/58) | 96% (53/55) | 89% (47/53) |
|
||||||
|
| P. aeruginosa | 0% (0/30) | 100% (30/30) | None |
|
||||||
|
| P. mirabilis | None | 94% (34/36) | None |
|
||||||
|
| S. aureus | 6% (8/131) | 90% (171/191) | None |
|
||||||
|
| S. epidermidis | 1% (1/91) | 64% (87/136) | None |
|
||||||
|
| S. hominis | None | 80% (56/70) | None |
|
||||||
|
| S. pneumoniae | 100% (112/112) | None | 100% (112/112) |
|
||||||
|
|
||||||
|
|
||||||
|
```python
|
||||||
|
result2b = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]], mo_transform = "gramstain")
|
||||||
|
print(result2b)
|
||||||
|
```
|
||||||
|
|
||||||
|
| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam |
|
||||||
|
|----------------|-----------------|------------------|--------------------------|
|
||||||
|
| Gram-negative | 36% (226/631) | 91% (621/684) | 88% (565/641) |
|
||||||
|
| Gram-positive | 43% (305/703) | 77% (560/724) | 86% (296/345) |
|
||||||
|
|
||||||
|
|
||||||
|
In this example, we generate an antibiogram by selecting various antibiotics.
|
||||||
|
|
||||||
|
## Taxonomic Data Sets Now in Python!
|
||||||
|
|
||||||
|
As a Python user, you might like that the most important data sets of the `AMR` R package, `microorganisms`, `antimicrobials`, `clinical_breakpoints`, and `example_isolates`, are now available as regular Python data frames:
|
||||||
|
|
||||||
|
```python
|
||||||
|
AMR.microorganisms
|
||||||
|
```
|
||||||
|
|
||||||
|
| mo | fullname | status | kingdom | gbif | gbif_parent | gbif_renamed_to | prevalence |
|
||||||
|
|--------------|------------------------------------|----------|----------|-----------|-------------|-----------------|------------|
|
||||||
|
| B_GRAMN | (unknown Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_GRAMP | (unknown Gram-positives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER-NEG | (unknown anaerobic Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER-POS | (unknown anaerobic Gram-positives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER | (unknown anaerobic bacteria) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| ... | ... | ... | ... | ... | ... | ... | ... |
|
||||||
|
| B_ZYMMN_POMC | Zymomonas pomaceae | accepted | Bacteria | 10744418 | 3221412 | None | 2.0 |
|
||||||
|
| B_ZYMPH | Zymophilus | synonym | Bacteria | None | 9475166 | None | 2.0 |
|
||||||
|
| B_ZYMPH_PCVR | Zymophilus paucivorans | synonym | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ZYMPH_RFFN | Zymophilus raffinosivorans | synonym | Bacteria | None | None | None | 2.0 |
|
||||||
|
| F_ZYZYG | Zyzygomyces | unknown | Fungi | None | 7581 | None | 2.0 |
|
||||||
|
|
||||||
|
```python
|
||||||
|
AMR.antimicrobials
|
||||||
|
```
|
||||||
|
|
||||||
|
| ab | cid | name | group | oral_ddd | oral_units | iv_ddd | iv_units |
|
||||||
|
|-----|-------------|----------------------|----------------------------|----------|------------|--------|----------|
|
||||||
|
| AMA | 4649.0 | 4-aminosalicylic acid| Antimycobacterials | 12.00 | g | NaN | None |
|
||||||
|
| ACM | 6450012.0 | Acetylmidecamycin | Macrolides/lincosamides | NaN | None | NaN | None |
|
||||||
|
| ASP | 49787020.0 | Acetylspiramycin | Macrolides/lincosamides | NaN | None | NaN | None |
|
||||||
|
| ALS | 8954.0 | Aldesulfone sodium | Other antibacterials | 0.33 | g | NaN | None |
|
||||||
|
| AMK | 37768.0 | Amikacin | Aminoglycosides | NaN | None | 1.0 | g |
|
||||||
|
| ... | ... | ... | ... | ... | ... | ... | ... |
|
||||||
|
| VIR | 11979535.0 | Virginiamycine | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| VOR | 71616.0 | Voriconazole | Antifungals/antimycotics | 0.40 | g | 0.4 | g |
|
||||||
|
| XBR | 72144.0 | Xibornol | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| ZID | 77846445.0 | Zidebactam | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| ZFD | NaN | Zoliflodacin | None | NaN | None | NaN | None |
|
||||||
|
|
||||||
|
|
||||||
|
# Installation Channels
|
||||||
|
|
||||||
|
## Stable Release (CRAN)
|
||||||
|
|
||||||
|
The default `AMR` Python package uses the latest stable version of the `AMR` R package, published on CRAN. After running `pip install AMR`, import it as usual:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR
|
||||||
|
|
||||||
|
AMR.example_isolates
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development Version (GitHub)
|
||||||
|
|
||||||
|
To use the latest development version of the `AMR` R package (sourced directly from GitHub), import the `beta` sub-package and alias it as `AMR`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR.beta as AMR
|
||||||
|
|
||||||
|
AMR.example_isolates
|
||||||
|
```
|
||||||
|
|
||||||
|
Aliasing with `as AMR` keeps all downstream code identical to the stable import. Switching between the stable release and the development version requires changing only the import line — nothing else in your script needs to change.
|
||||||
|
|
||||||
|
# SIR Classification with `as_sir()`
|
||||||
|
|
||||||
|
## Using `enforce_method`
|
||||||
|
|
||||||
|
The `as_sir()` function in R uses S3 method dispatch to select the correct calculation method based on the input class: `<mic>` for MIC values and `<disk>` for disk diffusion values. Because Python objects do not carry R class attributes through the `rpy2` bridge, this automatic dispatch may not resolve correctly.
|
||||||
|
|
||||||
|
To explicitly specify the input type, use the `enforce_method` argument:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Treat the column as MIC values — maps to R's as.sir.mic()
|
||||||
|
AMR.as_sir(df["MIC_col"], mo="E. coli", ab="AMX", guideline="EUCAST", enforce_method="mic")
|
||||||
|
|
||||||
|
# Treat the column as disk diffusion values — maps to R's as.sir.disk()
|
||||||
|
AMR.as_sir(df["disk_col"], mo="E. coli", ab="AMX", guideline="EUCAST", enforce_method="disk")
|
||||||
|
```
|
||||||
|
|
||||||
|
Without `enforce_method`, R falls back to class-based dispatch on the raw Python input, which may fail or return unexpected results. Always supply `enforce_method` when calling `as_sir()` from Python.
|
||||||
|
|
||||||
|
# Conclusion
|
||||||
|
|
||||||
|
With the `AMR` Python package, Python users can now effortlessly call R functions from the `AMR` R package. This eliminates the need for complex `rpy2` configurations and provides a clean, easy-to-use interface for antimicrobial resistance analysis. The examples provided above demonstrate how this can be applied to typical workflows, such as standardising microorganism and antimicrobial names or calculating resistance.
|
||||||
|
|
||||||
|
By just running `import AMR`, users can seamlessly integrate the robust features of the R `AMR` package into Python workflows.
|
||||||
|
|
||||||
|
Whether you're cleaning data or analysing resistance patterns, the `AMR` Python package makes it easy to work with AMR data in Python.
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
README.md
|
||||||
|
setup.py
|
||||||
|
AMR/__init__.py
|
||||||
|
AMR/_engine.py
|
||||||
|
AMR/beta.py
|
||||||
|
AMR/datasets.py
|
||||||
|
AMR/functions.py
|
||||||
|
AMR.egg-info/PKG-INFO
|
||||||
|
AMR.egg-info/SOURCES.txt
|
||||||
|
AMR.egg-info/dependency_links.txt
|
||||||
|
AMR.egg-info/requires.txt
|
||||||
|
AMR.egg-info/top_level.txt
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
rpy2
|
||||||
|
numpy
|
||||||
|
pandas
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
AMR
|
||||||
@@ -0,0 +1,249 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
_DATASETS = frozenset({
|
||||||
|
'example_isolates', 'microorganisms',
|
||||||
|
'antimicrobials', 'clinical_breakpoints'
|
||||||
|
})
|
||||||
|
|
||||||
|
class _AMRModule(type(sys.modules[__name__])):
|
||||||
|
"""Lazy-loading module: nothing runs until an attribute is accessed."""
|
||||||
|
|
||||||
|
def __getattr__(self, name):
|
||||||
|
if name in _DATASETS:
|
||||||
|
from .datasets import get
|
||||||
|
return get(name, source="cran")
|
||||||
|
try:
|
||||||
|
from . import functions
|
||||||
|
return getattr(functions, name)
|
||||||
|
except AttributeError:
|
||||||
|
raise AttributeError(
|
||||||
|
f"module 'AMR' has no attribute '{name}'")
|
||||||
|
|
||||||
|
sys.modules[__name__].__class__ = _AMRModule
|
||||||
|
from .functions import custom_eucast_rules
|
||||||
|
from .functions import ab_class
|
||||||
|
from .functions import ab_selector
|
||||||
|
from .functions import ab_from_text
|
||||||
|
from .functions import ab_name
|
||||||
|
from .functions import ab_cid
|
||||||
|
from .functions import ab_synonyms
|
||||||
|
from .functions import ab_tradenames
|
||||||
|
from .functions import ab_group
|
||||||
|
from .functions import ab_atc
|
||||||
|
from .functions import ab_atc_group1
|
||||||
|
from .functions import ab_atc_group2
|
||||||
|
from .functions import ab_loinc
|
||||||
|
from .functions import ab_ddd
|
||||||
|
from .functions import ab_ddd_units
|
||||||
|
from .functions import ab_info
|
||||||
|
from .functions import ab_url
|
||||||
|
from .functions import ab_property
|
||||||
|
from .functions import add_custom_antimicrobials
|
||||||
|
from .functions import clear_custom_antimicrobials
|
||||||
|
from .functions import add_custom_microorganisms
|
||||||
|
from .functions import clear_custom_microorganisms
|
||||||
|
from .functions import age
|
||||||
|
from .functions import age_groups
|
||||||
|
from .functions import all_sir
|
||||||
|
from .functions import all_sir_predictors
|
||||||
|
from .functions import all_mic
|
||||||
|
from .functions import all_mic_predictors
|
||||||
|
from .functions import all_disk
|
||||||
|
from .functions import all_disk_predictors
|
||||||
|
from .functions import step_mic_log2
|
||||||
|
from .functions import step_sir_numeric
|
||||||
|
from .functions import amr_course
|
||||||
|
from .functions import wisca
|
||||||
|
from .functions import antibiogram
|
||||||
|
from .functions import retrieve_wisca_parameters
|
||||||
|
from .functions import wisca_plot
|
||||||
|
from .functions import aminoglycosides
|
||||||
|
from .functions import aminopenicillins
|
||||||
|
from .functions import antifungals
|
||||||
|
from .functions import antimycobacterials
|
||||||
|
from .functions import betalactams
|
||||||
|
from .functions import betalactams_with_inhibitor
|
||||||
|
from .functions import carbapenems
|
||||||
|
from .functions import cephalosporins
|
||||||
|
from .functions import cephalosporins_1st
|
||||||
|
from .functions import cephalosporins_2nd
|
||||||
|
from .functions import cephalosporins_3rd
|
||||||
|
from .functions import cephalosporins_4th
|
||||||
|
from .functions import cephalosporins_5th
|
||||||
|
from .functions import fluoroquinolones
|
||||||
|
from .functions import glycopeptides
|
||||||
|
from .functions import ionophores
|
||||||
|
from .functions import isoxazolylpenicillins
|
||||||
|
from .functions import lincosamides
|
||||||
|
from .functions import lipoglycopeptides
|
||||||
|
from .functions import macrolides
|
||||||
|
from .functions import monobactams
|
||||||
|
from .functions import nitrofurans
|
||||||
|
from .functions import oxazolidinones
|
||||||
|
from .functions import penicillins
|
||||||
|
from .functions import peptides
|
||||||
|
from .functions import phenicols
|
||||||
|
from .functions import phosphonics
|
||||||
|
from .functions import polymyxins
|
||||||
|
from .functions import quinolones
|
||||||
|
from .functions import rifamycins
|
||||||
|
from .functions import spiropyrimidinetriones
|
||||||
|
from .functions import streptogramins
|
||||||
|
from .functions import sulfonamides
|
||||||
|
from .functions import tetracyclines
|
||||||
|
from .functions import trimethoprims
|
||||||
|
from .functions import ureidopenicillins
|
||||||
|
from .functions import amr_class
|
||||||
|
from .functions import amr_selector
|
||||||
|
from .functions import administrable_per_os
|
||||||
|
from .functions import administrable_iv
|
||||||
|
from .functions import not_intrinsic_resistant
|
||||||
|
from .functions import as_ab
|
||||||
|
from .functions import is_ab
|
||||||
|
from .functions import ab_reset_session
|
||||||
|
from .functions import as_av
|
||||||
|
from .functions import is_av
|
||||||
|
from .functions import as_disk
|
||||||
|
from .functions import is_disk
|
||||||
|
from .functions import as_mic
|
||||||
|
from .functions import is_mic
|
||||||
|
from .functions import rescale_mic
|
||||||
|
from .functions import mic_p50
|
||||||
|
from .functions import mic_p90
|
||||||
|
from .functions import as_mo
|
||||||
|
from .functions import is_mo
|
||||||
|
from .functions import mo_uncertainties
|
||||||
|
from .functions import mo_renamed
|
||||||
|
from .functions import mo_failures
|
||||||
|
from .functions import mo_reset_session
|
||||||
|
from .functions import mo_cleaning_regex
|
||||||
|
from .functions import as_sir
|
||||||
|
from .functions import is_sir
|
||||||
|
from .functions import is_sir_eligible
|
||||||
|
from .functions import sir_interpretation_history
|
||||||
|
from .functions import atc_online_property
|
||||||
|
from .functions import atc_online_groups
|
||||||
|
from .functions import atc_online_ddd
|
||||||
|
from .functions import atc_online_ddd_units
|
||||||
|
from .functions import av_from_text
|
||||||
|
from .functions import av_name
|
||||||
|
from .functions import av_cid
|
||||||
|
from .functions import av_synonyms
|
||||||
|
from .functions import av_tradenames
|
||||||
|
from .functions import av_group
|
||||||
|
from .functions import av_atc
|
||||||
|
from .functions import av_loinc
|
||||||
|
from .functions import av_ddd
|
||||||
|
from .functions import av_ddd_units
|
||||||
|
from .functions import av_info
|
||||||
|
from .functions import av_url
|
||||||
|
from .functions import av_property
|
||||||
|
from .functions import availability
|
||||||
|
from .functions import bug_drug_combinations
|
||||||
|
from .functions import count_resistant
|
||||||
|
from .functions import count_susceptible
|
||||||
|
from .functions import count_S
|
||||||
|
from .functions import count_SI
|
||||||
|
from .functions import count_I
|
||||||
|
from .functions import count_IR
|
||||||
|
from .functions import count_R
|
||||||
|
from .functions import count_all
|
||||||
|
from .functions import n_sir
|
||||||
|
from .functions import count_df
|
||||||
|
from .functions import custom_interpretive_rules
|
||||||
|
from .functions import custom_mdro_guideline
|
||||||
|
from .functions import export_ncbi_biosample
|
||||||
|
from .functions import first_isolate
|
||||||
|
from .functions import filter_first_isolate
|
||||||
|
from .functions import g_test
|
||||||
|
from .functions import is_new_episode
|
||||||
|
from .functions import ggplot_pca
|
||||||
|
from .functions import ggplot_sir
|
||||||
|
from .functions import geom_sir
|
||||||
|
from .functions import guess_ab_col
|
||||||
|
from .functions import interpretive_rules
|
||||||
|
from .functions import eucast_rules
|
||||||
|
from .functions import clsi_rules
|
||||||
|
from .functions import eucast_dosage
|
||||||
|
from .functions import italicise_taxonomy
|
||||||
|
from .functions import italicize_taxonomy
|
||||||
|
from .functions import inner_join_microorganisms
|
||||||
|
from .functions import left_join_microorganisms
|
||||||
|
from .functions import right_join_microorganisms
|
||||||
|
from .functions import full_join_microorganisms
|
||||||
|
from .functions import semi_join_microorganisms
|
||||||
|
from .functions import anti_join_microorganisms
|
||||||
|
from .functions import key_antimicrobials
|
||||||
|
from .functions import all_antimicrobials
|
||||||
|
from .functions import kurtosis
|
||||||
|
from .functions import like
|
||||||
|
from .functions import mdro
|
||||||
|
from .functions import brmo
|
||||||
|
from .functions import mrgn
|
||||||
|
from .functions import mdr_tb
|
||||||
|
from .functions import mdr_cmi2012
|
||||||
|
from .functions import eucast_exceptional_phenotypes
|
||||||
|
from .functions import mean_amr_distance
|
||||||
|
from .functions import amr_distance_from_row
|
||||||
|
from .functions import mo_matching_score
|
||||||
|
from .functions import mo_name
|
||||||
|
from .functions import mo_fullname
|
||||||
|
from .functions import mo_shortname
|
||||||
|
from .functions import mo_subspecies
|
||||||
|
from .functions import mo_species
|
||||||
|
from .functions import mo_genus
|
||||||
|
from .functions import mo_family
|
||||||
|
from .functions import mo_order
|
||||||
|
from .functions import mo_class
|
||||||
|
from .functions import mo_phylum
|
||||||
|
from .functions import mo_kingdom
|
||||||
|
from .functions import mo_domain
|
||||||
|
from .functions import mo_type
|
||||||
|
from .functions import mo_status
|
||||||
|
from .functions import mo_pathogenicity
|
||||||
|
from .functions import mo_gramstain
|
||||||
|
from .functions import mo_is_gram_negative
|
||||||
|
from .functions import mo_is_gram_positive
|
||||||
|
from .functions import mo_is_yeast
|
||||||
|
from .functions import mo_is_intrinsic_resistant
|
||||||
|
from .functions import mo_oxygen_tolerance
|
||||||
|
from .functions import mo_is_anaerobic
|
||||||
|
from .functions import mo_morphology
|
||||||
|
from .functions import mo_snomed
|
||||||
|
from .functions import mo_ref
|
||||||
|
from .functions import mo_authors
|
||||||
|
from .functions import mo_year
|
||||||
|
from .functions import mo_lpsn
|
||||||
|
from .functions import mo_mycobank
|
||||||
|
from .functions import mo_gbif
|
||||||
|
from .functions import mo_rank
|
||||||
|
from .functions import mo_taxonomy
|
||||||
|
from .functions import mo_synonyms
|
||||||
|
from .functions import mo_current
|
||||||
|
from .functions import mo_group_members
|
||||||
|
from .functions import mo_info
|
||||||
|
from .functions import mo_url
|
||||||
|
from .functions import mo_property
|
||||||
|
from .functions import pca
|
||||||
|
from .functions import theme_sir
|
||||||
|
from .functions import labels_sir_count
|
||||||
|
from .functions import resistance
|
||||||
|
from .functions import susceptibility
|
||||||
|
from .functions import sir_confidence_interval
|
||||||
|
from .functions import proportion_R
|
||||||
|
from .functions import proportion_IR
|
||||||
|
from .functions import proportion_I
|
||||||
|
from .functions import proportion_SI
|
||||||
|
from .functions import proportion_S
|
||||||
|
from .functions import proportion_df
|
||||||
|
from .functions import sir_df
|
||||||
|
from .functions import random_mic
|
||||||
|
from .functions import random_disk
|
||||||
|
from .functions import random_sir
|
||||||
|
from .functions import resistance_predict
|
||||||
|
from .functions import sir_predict
|
||||||
|
from .functions import ggplot_sir_predict
|
||||||
|
from .functions import skewness
|
||||||
|
from .functions import top_n_microorganisms
|
||||||
|
from .functions import reset_AMR_locale
|
||||||
|
from .functions import translate_AMR
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import importlib.metadata as metadata
|
||||||
|
|
||||||
|
# Get the path to the virtual environment
|
||||||
|
venv_path = sys.prefix
|
||||||
|
r_lib_path = os.path.join(venv_path, "R_libs")
|
||||||
|
os.makedirs(r_lib_path, exist_ok=True)
|
||||||
|
|
||||||
|
# Set environment variable before importing rpy2
|
||||||
|
os.environ['R_LIBS_SITE'] = r_lib_path
|
||||||
|
|
||||||
|
from rpy2 import robjects
|
||||||
|
from rpy2.robjects.vectors import StrVector
|
||||||
|
from rpy2.robjects.packages import importr, isinstalled
|
||||||
|
|
||||||
|
# Import base and utils once
|
||||||
|
base = importr('base')
|
||||||
|
utils = importr('utils')
|
||||||
|
|
||||||
|
# Silence R console output entirely
|
||||||
|
robjects.r('suppressMessages(suppressWarnings(sink(tempfile())))')
|
||||||
|
base._libPaths(r_lib_path)
|
||||||
|
|
||||||
|
_installed_source = None
|
||||||
|
|
||||||
|
def _r_version():
|
||||||
|
"""Return the currently installed AMR R package version, or None."""
|
||||||
|
try:
|
||||||
|
return str(robjects.r(
|
||||||
|
f'as.character(packageVersion("AMR", lib.loc = "{r_lib_path}"))')[0])
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def _py_version():
|
||||||
|
"""Return the Python AMR package version from metadata, or empty string."""
|
||||||
|
try:
|
||||||
|
return str(metadata.version('AMR'))
|
||||||
|
except metadata.PackageNotFoundError:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
def _install_cran():
|
||||||
|
"""Install AMR from CRAN into the isolated library."""
|
||||||
|
print("AMR: Installing from CRAN...", flush=True)
|
||||||
|
utils.install_packages(
|
||||||
|
'AMR',
|
||||||
|
repos='https://cloud.r-project.org',
|
||||||
|
lib=r_lib_path,
|
||||||
|
quiet=True
|
||||||
|
)
|
||||||
|
|
||||||
|
def _install_github():
|
||||||
|
"""Install AMR development version from GitHub into the isolated library."""
|
||||||
|
print("AMR: Installing development version from GitHub...", flush=True)
|
||||||
|
utils.install_packages(
|
||||||
|
StrVector(['remotes', 'desc']),
|
||||||
|
repos='https://cloud.r-project.org',
|
||||||
|
lib=r_lib_path,
|
||||||
|
quiet=True
|
||||||
|
)
|
||||||
|
remotes = importr('remotes', lib_loc=r_lib_path)
|
||||||
|
remotes.install_github('msberends/AMR', lib=r_lib_path, quiet=True)
|
||||||
|
|
||||||
|
def ensure_amr(source="cran"):
|
||||||
|
"""Ensure AMR is installed from the requested source. Idempotent per source."""
|
||||||
|
global _installed_source
|
||||||
|
|
||||||
|
if _installed_source == source:
|
||||||
|
return
|
||||||
|
|
||||||
|
install_fn = _install_github if source == "github" else _install_cran
|
||||||
|
|
||||||
|
if not isinstalled('AMR', lib_loc=r_lib_path):
|
||||||
|
install_fn()
|
||||||
|
else:
|
||||||
|
# Check for version mismatch and update if needed
|
||||||
|
r_ver = _r_version()
|
||||||
|
py_ver = _py_version()
|
||||||
|
if r_ver != py_ver:
|
||||||
|
try:
|
||||||
|
install_fn()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"AMR: Could not update ({e})", flush=True)
|
||||||
|
|
||||||
|
print(f"AMR: R package version {_r_version()} ready.", flush=True)
|
||||||
|
_installed_source = source
|
||||||
|
|
||||||
|
def restore_sink():
|
||||||
|
"""Restore R console output after setup is complete."""
|
||||||
|
try:
|
||||||
|
robjects.r('sink()')
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
_DATASETS = frozenset({
|
||||||
|
'example_isolates', 'microorganisms',
|
||||||
|
'antimicrobials', 'clinical_breakpoints'
|
||||||
|
})
|
||||||
|
|
||||||
|
class _BetaModule(type(sys.modules[__name__])):
|
||||||
|
"""Lazy-loading module: installs AMR from GitHub on first access."""
|
||||||
|
|
||||||
|
def __getattr__(self, name):
|
||||||
|
if name in _DATASETS:
|
||||||
|
from .datasets import get
|
||||||
|
return get(name, source="github")
|
||||||
|
try:
|
||||||
|
from . import functions
|
||||||
|
return getattr(functions, name)
|
||||||
|
except AttributeError:
|
||||||
|
raise AttributeError(
|
||||||
|
f"module 'AMR.beta' has no attribute '{name}'")
|
||||||
|
|
||||||
|
sys.modules[__name__].__class__ = _BetaModule
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
import pandas as pd
|
||||||
|
from rpy2 import robjects
|
||||||
|
from rpy2.robjects.conversion import localconverter
|
||||||
|
from rpy2.robjects import default_converter, numpy2ri, pandas2ri
|
||||||
|
|
||||||
|
from ._engine import ensure_amr, restore_sink
|
||||||
|
|
||||||
|
_cache = {}
|
||||||
|
_loaded_source = None
|
||||||
|
|
||||||
|
def _load_datasets(source="cran"):
|
||||||
|
"""Load all AMR datasets into the module cache."""
|
||||||
|
global _loaded_source
|
||||||
|
|
||||||
|
if _cache and _loaded_source == source:
|
||||||
|
return
|
||||||
|
|
||||||
|
if _cache and _loaded_source != source:
|
||||||
|
_cache.clear()
|
||||||
|
|
||||||
|
ensure_amr(source)
|
||||||
|
|
||||||
|
with localconverter(default_converter + numpy2ri.converter + pandas2ri.converter):
|
||||||
|
_cache['example_isolates'] = _load_example_isolates()
|
||||||
|
_cache['microorganisms'] = robjects.r(
|
||||||
|
'AMR::microorganisms[, !sapply(AMR::microorganisms, is.list)]')
|
||||||
|
_cache['antimicrobials'] = robjects.r(
|
||||||
|
'AMR::antimicrobials[, !sapply(AMR::antimicrobials, is.list)]')
|
||||||
|
_cache['clinical_breakpoints'] = robjects.r(
|
||||||
|
'AMR::clinical_breakpoints[, !sapply(AMR::clinical_breakpoints, is.list)]')
|
||||||
|
|
||||||
|
restore_sink()
|
||||||
|
_loaded_source = source
|
||||||
|
|
||||||
|
def _load_example_isolates():
|
||||||
|
df = robjects.r('''
|
||||||
|
df <- AMR::example_isolates
|
||||||
|
df[] <- lapply(df, function(x) {
|
||||||
|
if (inherits(x, c("Date", "POSIXt", "factor"))) {
|
||||||
|
as.character(x)
|
||||||
|
} else {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
})
|
||||||
|
df <- df[, !sapply(df, is.list)]
|
||||||
|
df
|
||||||
|
''')
|
||||||
|
df['date'] = pd.to_datetime(df['date'])
|
||||||
|
return df
|
||||||
|
|
||||||
|
def get(name, source="cran"):
|
||||||
|
"""Retrieve a dataset by name, installing AMR if needed."""
|
||||||
|
_load_datasets(source)
|
||||||
|
return _cache[name]
|
||||||
@@ -0,0 +1,984 @@
|
|||||||
|
import functools
|
||||||
|
import rpy2.robjects as robjects
|
||||||
|
from rpy2.robjects.packages import importr
|
||||||
|
from rpy2.robjects.vectors import StrVector, FactorVector, IntVector, FloatVector, DataFrame
|
||||||
|
from rpy2.robjects.conversion import localconverter
|
||||||
|
from rpy2.robjects import default_converter, numpy2ri, pandas2ri
|
||||||
|
import pandas as pd
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
from ._engine import ensure_amr
|
||||||
|
|
||||||
|
# Ensure AMR is available before importing it in R
|
||||||
|
ensure_amr("cran")
|
||||||
|
amr_r = importr('AMR')
|
||||||
|
|
||||||
|
def convert_to_r(value):
|
||||||
|
"""Convert Python lists/tuples to typed R vectors.
|
||||||
|
|
||||||
|
rpy2's default_converter passes Python lists to R as R lists, not as
|
||||||
|
character/numeric vectors. This causes element-wise type-check functions
|
||||||
|
such as is.mic(), is.sir(), and is.disk() to return a logical vector
|
||||||
|
rather than a single logical, breaking R's scalar && operator.
|
||||||
|
|
||||||
|
This helper converts Python lists and tuples to the appropriate R vector
|
||||||
|
type based on the element types, so R always receives a proper vector."""
|
||||||
|
if isinstance(value, (list, tuple)):
|
||||||
|
if len(value) == 0:
|
||||||
|
return StrVector([])
|
||||||
|
# bool must be checked before int because bool is a subclass of int
|
||||||
|
if all(isinstance(v, bool) for v in value):
|
||||||
|
return robjects.vectors.BoolVector(value)
|
||||||
|
if all(isinstance(v, int) for v in value):
|
||||||
|
return IntVector(value)
|
||||||
|
if all(isinstance(v, float) for v in value):
|
||||||
|
return FloatVector(value)
|
||||||
|
if all(isinstance(v, str) for v in value):
|
||||||
|
return StrVector(value)
|
||||||
|
# Mixed types: coerce all to string
|
||||||
|
return StrVector([str(v) for v in value])
|
||||||
|
return value
|
||||||
|
|
||||||
|
def convert_to_python(r_output):
|
||||||
|
# Check if it's a StrVector (R character vector)
|
||||||
|
if isinstance(r_output, StrVector):
|
||||||
|
return list(r_output) # Convert to a Python list of strings
|
||||||
|
|
||||||
|
# Check if it's a FactorVector (R factor)
|
||||||
|
elif isinstance(r_output, FactorVector):
|
||||||
|
return list(r_output) # Convert to a list of integers (factor levels)
|
||||||
|
|
||||||
|
# Check if it's an IntVector or FloatVector (numeric R vectors)
|
||||||
|
elif isinstance(r_output, (IntVector, FloatVector)):
|
||||||
|
return list(r_output) # Convert to a Python list of integers or floats
|
||||||
|
|
||||||
|
# Check if it's a pandas-compatible R data frame
|
||||||
|
elif isinstance(r_output, (pd.DataFrame, DataFrame)):
|
||||||
|
return r_output # Return as pandas DataFrame (already converted by pandas2ri)
|
||||||
|
|
||||||
|
# Check if the input is a NumPy array and has a string data type
|
||||||
|
if isinstance(r_output, np.ndarray) and np.issubdtype(r_output.dtype, np.str_):
|
||||||
|
return r_output.tolist() # Convert to a regular Python list
|
||||||
|
|
||||||
|
# Fall-back
|
||||||
|
return r_output
|
||||||
|
|
||||||
|
def r_to_python(r_func):
|
||||||
|
"""Decorator that converts Python list/tuple inputs to typed R vectors,
|
||||||
|
runs the rpy2 function under a localconverter, and converts the output
|
||||||
|
to a Python type."""
|
||||||
|
@functools.wraps(r_func)
|
||||||
|
def wrapper(*args, **kwargs):
|
||||||
|
args = tuple(convert_to_r(a) for a in args)
|
||||||
|
kwargs = {k: convert_to_r(v) for k, v in kwargs.items()}
|
||||||
|
with localconverter(default_converter + numpy2ri.converter + pandas2ri.converter):
|
||||||
|
return convert_to_python(r_func(*args, **kwargs))
|
||||||
|
return wrapper
|
||||||
|
@r_to_python
|
||||||
|
def custom_eucast_rules(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.custom_eucast_rules(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_class(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_class(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_selector(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_selector(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_from_text(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_from_text(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_name(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_name(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_cid(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_cid(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_synonyms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_synonyms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_tradenames(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_tradenames(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_group(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_group(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_atc(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_atc(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_atc_group1(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_atc_group1(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_atc_group2(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_atc_group2(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_loinc(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_loinc(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_ddd(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_ddd(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_ddd_units(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_ddd_units(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_info(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_info(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_url(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_url(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ab_property(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_property(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def add_custom_antimicrobials(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.add_custom_antimicrobials(x)
|
||||||
|
@r_to_python
|
||||||
|
def clear_custom_antimicrobials(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.clear_custom_antimicrobials(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def add_custom_microorganisms(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.add_custom_microorganisms(x)
|
||||||
|
@r_to_python
|
||||||
|
def clear_custom_microorganisms(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.clear_custom_microorganisms(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def age(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.age(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def age_groups(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.age_groups(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_sir(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_sir(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_sir_predictors(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_sir_predictors(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_mic(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_mic(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_mic_predictors(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_mic_predictors(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_disk(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_disk(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_disk_predictors(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_disk_predictors(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def step_mic_log2(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.step_mic_log2(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def step_sir_numeric(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.step_sir_numeric(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def amr_course(github_repo, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.amr_course(github_repo, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def wisca(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.wisca(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def antibiogram(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.antibiogram(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def retrieve_wisca_parameters(wisca_model, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.retrieve_wisca_parameters(wisca_model, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def wisca_plot(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.wisca_plot(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def aminoglycosides(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.aminoglycosides(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def aminopenicillins(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.aminopenicillins(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def antifungals(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.antifungals(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def antimycobacterials(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.antimycobacterials(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def betalactams(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.betalactams(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def betalactams_with_inhibitor(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.betalactams_with_inhibitor(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def carbapenems(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.carbapenems(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins_1st(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins_1st(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins_2nd(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins_2nd(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins_3rd(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins_3rd(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins_4th(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins_4th(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def cephalosporins_5th(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.cephalosporins_5th(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def fluoroquinolones(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.fluoroquinolones(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def glycopeptides(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.glycopeptides(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ionophores(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ionophores(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def isoxazolylpenicillins(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.isoxazolylpenicillins(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def lincosamides(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.lincosamides(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def lipoglycopeptides(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.lipoglycopeptides(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def macrolides(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.macrolides(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def monobactams(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.monobactams(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def nitrofurans(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.nitrofurans(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def oxazolidinones(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.oxazolidinones(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def penicillins(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.penicillins(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def peptides(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.peptides(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def phenicols(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.phenicols(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def phosphonics(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.phosphonics(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def polymyxins(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.polymyxins(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def quinolones(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.quinolones(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def rifamycins(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.rifamycins(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def spiropyrimidinetriones(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.spiropyrimidinetriones(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def streptogramins(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.streptogramins(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def sulfonamides(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.sulfonamides(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def tetracyclines(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.tetracyclines(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def trimethoprims(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.trimethoprims(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ureidopenicillins(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ureidopenicillins(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def amr_class(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.amr_class(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def amr_selector(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.amr_selector(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def administrable_per_os(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.administrable_per_os(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def administrable_iv(only_sir_columns = False, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.administrable_iv(only_sir_columns = False, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def not_intrinsic_resistant(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.not_intrinsic_resistant(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def as_ab(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_ab(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_ab(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_ab(x)
|
||||||
|
@r_to_python
|
||||||
|
def ab_reset_session(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ab_reset_session(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def as_av(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_av(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_av(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_av(x)
|
||||||
|
@r_to_python
|
||||||
|
def as_disk(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_disk(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_disk(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_disk(x)
|
||||||
|
@r_to_python
|
||||||
|
def as_mic(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_mic(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_mic(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_mic(x)
|
||||||
|
@r_to_python
|
||||||
|
def rescale_mic(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.rescale_mic(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mic_p50(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mic_p50(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mic_p90(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mic_p90(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def as_mo(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_mo(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_mo(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_mo(x)
|
||||||
|
@r_to_python
|
||||||
|
def mo_uncertainties(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_uncertainties(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_renamed(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_renamed(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_failures(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_failures(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_reset_session(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_reset_session(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_cleaning_regex(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_cleaning_regex(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def as_sir(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.as_sir(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_sir(x):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_sir(x)
|
||||||
|
@r_to_python
|
||||||
|
def is_sir_eligible(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_sir_eligible(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def sir_interpretation_history(clean):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.sir_interpretation_history(clean)
|
||||||
|
@r_to_python
|
||||||
|
def atc_online_property(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.atc_online_property(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def atc_online_groups(atc_code, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.atc_online_groups(atc_code, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def atc_online_ddd(atc_code, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.atc_online_ddd(atc_code, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def atc_online_ddd_units(atc_code, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.atc_online_ddd_units(atc_code, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_from_text(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_from_text(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_name(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_name(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_cid(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_cid(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_synonyms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_synonyms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_tradenames(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_tradenames(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_group(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_group(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_atc(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_atc(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_loinc(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_loinc(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_ddd(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_ddd(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_ddd_units(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_ddd_units(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_info(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_info(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_url(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_url(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def av_property(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.av_property(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def availability(tbl, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.availability(tbl, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def bug_drug_combinations(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.bug_drug_combinations(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_resistant(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_resistant(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_susceptible(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_susceptible(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_S(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_S(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_SI(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_SI(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_I(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_I(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_IR(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_IR(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_R(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_R(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_all(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_all(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def n_sir(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.n_sir(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def count_df(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.count_df(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def custom_interpretive_rules(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.custom_interpretive_rules(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def custom_mdro_guideline(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.custom_mdro_guideline(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def export_ncbi_biosample(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.export_ncbi_biosample(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def first_isolate(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.first_isolate(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def filter_first_isolate(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.filter_first_isolate(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def g_test(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.g_test(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def is_new_episode(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.is_new_episode(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ggplot_pca(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ggplot_pca(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ggplot_sir(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ggplot_sir(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def geom_sir(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.geom_sir(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def guess_ab_col(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.guess_ab_col(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def interpretive_rules(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.interpretive_rules(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def eucast_rules(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.eucast_rules(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def clsi_rules(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.clsi_rules(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def eucast_dosage(ab, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.eucast_dosage(ab, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def italicise_taxonomy(string, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.italicise_taxonomy(string, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def italicize_taxonomy(string, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.italicize_taxonomy(string, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def inner_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.inner_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def left_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.left_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def right_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.right_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def full_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.full_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def semi_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.semi_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def anti_join_microorganisms(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.anti_join_microorganisms(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def key_antimicrobials(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.key_antimicrobials(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def all_antimicrobials(x = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.all_antimicrobials(x = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def kurtosis(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.kurtosis(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def like(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.like(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mdro(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mdro(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def brmo(x = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.brmo(x = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mrgn(x = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mrgn(x = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mdr_tb(x = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mdr_tb(x = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mdr_cmi2012(x = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mdr_cmi2012(x = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def eucast_exceptional_phenotypes(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.eucast_exceptional_phenotypes(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mean_amr_distance(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mean_amr_distance(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def amr_distance_from_row(amr_distance, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.amr_distance_from_row(amr_distance, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_matching_score(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_matching_score(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_name(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_name(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_fullname(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_fullname(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_shortname(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_shortname(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_subspecies(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_subspecies(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_species(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_species(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_genus(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_genus(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_family(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_family(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_order(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_order(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_class(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_class(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_phylum(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_phylum(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_kingdom(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_kingdom(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_domain(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_domain(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_type(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_type(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_status(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_status(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_pathogenicity(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_pathogenicity(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_gramstain(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_gramstain(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_is_gram_negative(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_is_gram_negative(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_is_gram_positive(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_is_gram_positive(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_is_yeast(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_is_yeast(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_is_intrinsic_resistant(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_is_intrinsic_resistant(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_oxygen_tolerance(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_oxygen_tolerance(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_is_anaerobic(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_is_anaerobic(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_morphology(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_morphology(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_snomed(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_snomed(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_ref(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_ref(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_authors(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_authors(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_year(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_year(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_lpsn(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_lpsn(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_mycobank(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_mycobank(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_gbif(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_gbif(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_rank(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_rank(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_taxonomy(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_taxonomy(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_synonyms(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_synonyms(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_current(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_current(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_group_members(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_group_members(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_info(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_info(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_url(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_url(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def mo_property(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.mo_property(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def pca(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.pca(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def theme_sir(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.theme_sir(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def labels_sir_count(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.labels_sir_count(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def resistance(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.resistance(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def susceptibility(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.susceptibility(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def sir_confidence_interval(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.sir_confidence_interval(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_R(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_R(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_IR(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_IR(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_I(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_I(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_SI(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_SI(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_S(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_S(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def proportion_df(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.proportion_df(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def sir_df(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.sir_df(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def random_mic(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.random_mic(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def random_disk(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.random_disk(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def random_sir(size = None, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.random_sir(size = None, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def resistance_predict(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.resistance_predict(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def sir_predict(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.sir_predict(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def ggplot_sir_predict(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.ggplot_sir_predict(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def skewness(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.skewness(x, *args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def top_n_microorganisms(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.top_n_microorganisms(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def reset_AMR_locale(*args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.reset_AMR_locale(*args, **kwargs)
|
||||||
|
@r_to_python
|
||||||
|
def translate_AMR(x, *args, **kwargs):
|
||||||
|
"""Please see our website of the R package for the full manual: https://amr-for-r.org"""
|
||||||
|
return amr_r.translate_AMR(x, *args, **kwargs)
|
||||||
|
Before Width: | Height: | Size: 330 KiB |
|
Before Width: | Height: | Size: 384 KiB |
@@ -1,320 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>License • AMR (for R)</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="apple-touch-icon-60x60.png"><script src="deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="deps/Lato-0.4.9/font.css" rel="stylesheet"><link href="deps/Fira_Code-0.4.9/font.css" rel="stylesheet"><link href="deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="deps/headroom-0.11.0/headroom.min.js"></script><script src="deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="deps/search-1.0.0/fuse.min.js"></script><script src="deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="pkgdown.js"></script><link href="extra.css" rel="stylesheet"><script src="extra.js"></script><meta property="og:title" content="License"><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></head><body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto"><li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to"><li><a class="dropdown-item" href="articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="search.json"></form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-title-body">
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="logo.svg" class="logo" alt=""><h1>License</h1>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<pre>GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
A SUMMARY OF THIS LICENSE BY THE ORIGINAL AUTHORS OF THE AMR R PACKAGE
|
|
||||||
|
|
||||||
This R package, with package name 'AMR':
|
|
||||||
- May be used for commercial purposes
|
|
||||||
- May be used for private purposes
|
|
||||||
- May NOT be used for patent purposes
|
|
||||||
- May be modified, although:
|
|
||||||
- Modifications MUST be released under the same license when distributing the package
|
|
||||||
- Changes made to the code MUST be documented
|
|
||||||
- May be distributed, although:
|
|
||||||
- Source code MUST be made available when the package is distributed
|
|
||||||
- A copy of the license and copyright notice MUST be included with the package.
|
|
||||||
- Comes with a LIMITATION of liability
|
|
||||||
- Comes with NO warranty
|
|
||||||
|
|
||||||
END OF THE SUMMARY
|
|
||||||
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
</main></div>
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body></html>
|
|
||||||
|
|
||||||
@@ -0,0 +1,226 @@
|
|||||||
|
|
||||||
|
The `AMR` package for R is a powerful tool for antimicrobial resistance (AMR) analysis. It provides extensive features for handling microbial and antimicrobial data. However, for those who work primarily in Python, we now have a more intuitive option available: the [`AMR` Python package](https://pypi.org/project/AMR/).
|
||||||
|
|
||||||
|
This Python package is a wrapper around the `AMR` R package. It uses the `rpy2` package internally. Despite the need to have R installed, Python users can now easily work with AMR data directly through Python code.
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
This package was only tested with a [virtual environment (venv)](https://docs.python.org/3/library/venv.html). You can set up such an environment by running:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# linux and macOS:
|
||||||
|
python -m venv /path/to/new/virtual/environment
|
||||||
|
|
||||||
|
# Windows:
|
||||||
|
python -m venv C:\path\to\new\virtual\environment
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you can [activate the environment](https://docs.python.org/3/library/venv.html#how-venvs-work), after which the venv is ready to work with.
|
||||||
|
|
||||||
|
# Install AMR
|
||||||
|
|
||||||
|
1. Since the Python package is available on the official [Python Package Index](https://pypi.org/project/AMR/), you can just run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install AMR
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Make sure you have R installed. There is **no need to install the `AMR` R package**, as it will be installed automatically.
|
||||||
|
|
||||||
|
For Linux:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Ubuntu / Debian
|
||||||
|
sudo apt install r-base
|
||||||
|
# Fedora:
|
||||||
|
sudo dnf install R
|
||||||
|
# CentOS/RHEL
|
||||||
|
sudo yum install R
|
||||||
|
```
|
||||||
|
|
||||||
|
For macOS (using [Homebrew](https://brew.sh)):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew install r
|
||||||
|
```
|
||||||
|
|
||||||
|
For Windows, visit the [CRAN download page](https://cran.r-project.org) to download and install R.
|
||||||
|
|
||||||
|
# Examples of Usage
|
||||||
|
|
||||||
|
## Cleaning Taxonomy
|
||||||
|
|
||||||
|
Here’s an example that demonstrates how to clean microorganism and drug names using the `AMR` Python package:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import pandas as pd
|
||||||
|
import AMR
|
||||||
|
|
||||||
|
# Sample data
|
||||||
|
data = {
|
||||||
|
"MOs": ['E. coli', 'ESCCOL', 'esco', 'Esche coli'],
|
||||||
|
"Drug": ['Cipro', 'CIP', 'J01MA02', 'Ciproxin']
|
||||||
|
}
|
||||||
|
df = pd.DataFrame(data)
|
||||||
|
|
||||||
|
# Use AMR functions to clean microorganism and drug names
|
||||||
|
df['MO_clean'] = AMR.mo_name(df['MOs'])
|
||||||
|
df['Drug_clean'] = AMR.ab_name(df['Drug'])
|
||||||
|
|
||||||
|
# Display the results
|
||||||
|
print(df)
|
||||||
|
```
|
||||||
|
|
||||||
|
| MOs | Drug | MO_clean | Drug_clean |
|
||||||
|
|-------------|-----------|--------------------|---------------|
|
||||||
|
| E. coli | Cipro | Escherichia coli | Ciprofloxacin |
|
||||||
|
| ESCCOL | CIP | Escherichia coli | Ciprofloxacin |
|
||||||
|
| esco | J01MA02 | Escherichia coli | Ciprofloxacin |
|
||||||
|
| Esche coli | Ciproxin | Escherichia coli | Ciprofloxacin |
|
||||||
|
|
||||||
|
### Explanation
|
||||||
|
|
||||||
|
* **mo_name:** This function standardises microorganism names. Here, different variations of *Escherichia coli* (such as "E. coli", "ESCCOL", "esco", and "Esche coli") are all converted into the correct, standardised form, "Escherichia coli".
|
||||||
|
|
||||||
|
* **ab_name**: Similarly, this function standardises antimicrobial names. The different representations of ciprofloxacin (e.g., "Cipro", "CIP", "J01MA02", and "Ciproxin") are all converted to the standard name, "Ciprofloxacin".
|
||||||
|
|
||||||
|
## Calculating AMR
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
df = AMR.example_isolates
|
||||||
|
result = AMR.resistance(df["AMX"])
|
||||||
|
print(result)
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
[0.59555556]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Generating Antibiograms
|
||||||
|
|
||||||
|
One of the core functions of the `AMR` package is generating an antibiogram, a table that summarises the antimicrobial susceptibility of bacterial isolates. Here’s how you can generate an antibiogram from Python:
|
||||||
|
|
||||||
|
```python
|
||||||
|
result2a = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]])
|
||||||
|
print(result2a)
|
||||||
|
```
|
||||||
|
|
||||||
|
| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam |
|
||||||
|
|-----------------|-----------------|-----------------|--------------------------|
|
||||||
|
| CoNS | 7% (10/142) | 73% (183/252) | 30% (10/33) |
|
||||||
|
| E. coli | 50% (196/392) | 88% (399/456) | 94% (393/416) |
|
||||||
|
| K. pneumoniae | 0% (0/58) | 96% (53/55) | 89% (47/53) |
|
||||||
|
| P. aeruginosa | 0% (0/30) | 100% (30/30) | None |
|
||||||
|
| P. mirabilis | None | 94% (34/36) | None |
|
||||||
|
| S. aureus | 6% (8/131) | 90% (171/191) | None |
|
||||||
|
| S. epidermidis | 1% (1/91) | 64% (87/136) | None |
|
||||||
|
| S. hominis | None | 80% (56/70) | None |
|
||||||
|
| S. pneumoniae | 100% (112/112) | None | 100% (112/112) |
|
||||||
|
|
||||||
|
|
||||||
|
```python
|
||||||
|
result2b = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]], mo_transform = "gramstain")
|
||||||
|
print(result2b)
|
||||||
|
```
|
||||||
|
|
||||||
|
| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam |
|
||||||
|
|----------------|-----------------|------------------|--------------------------|
|
||||||
|
| Gram-negative | 36% (226/631) | 91% (621/684) | 88% (565/641) |
|
||||||
|
| Gram-positive | 43% (305/703) | 77% (560/724) | 86% (296/345) |
|
||||||
|
|
||||||
|
|
||||||
|
In this example, we generate an antibiogram by selecting various antibiotics.
|
||||||
|
|
||||||
|
## Taxonomic Data Sets Now in Python!
|
||||||
|
|
||||||
|
As a Python user, you might like that the most important data sets of the `AMR` R package, `microorganisms`, `antimicrobials`, `clinical_breakpoints`, and `example_isolates`, are now available as regular Python data frames:
|
||||||
|
|
||||||
|
```python
|
||||||
|
AMR.microorganisms
|
||||||
|
```
|
||||||
|
|
||||||
|
| mo | fullname | status | kingdom | gbif | gbif_parent | gbif_renamed_to | prevalence |
|
||||||
|
|--------------|------------------------------------|----------|----------|-----------|-------------|-----------------|------------|
|
||||||
|
| B_GRAMN | (unknown Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_GRAMP | (unknown Gram-positives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER-NEG | (unknown anaerobic Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER-POS | (unknown anaerobic Gram-positives) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ANAER | (unknown anaerobic bacteria) | unknown | Bacteria | None | None | None | 2.0 |
|
||||||
|
| ... | ... | ... | ... | ... | ... | ... | ... |
|
||||||
|
| B_ZYMMN_POMC | Zymomonas pomaceae | accepted | Bacteria | 10744418 | 3221412 | None | 2.0 |
|
||||||
|
| B_ZYMPH | Zymophilus | synonym | Bacteria | None | 9475166 | None | 2.0 |
|
||||||
|
| B_ZYMPH_PCVR | Zymophilus paucivorans | synonym | Bacteria | None | None | None | 2.0 |
|
||||||
|
| B_ZYMPH_RFFN | Zymophilus raffinosivorans | synonym | Bacteria | None | None | None | 2.0 |
|
||||||
|
| F_ZYZYG | Zyzygomyces | unknown | Fungi | None | 7581 | None | 2.0 |
|
||||||
|
|
||||||
|
```python
|
||||||
|
AMR.antimicrobials
|
||||||
|
```
|
||||||
|
|
||||||
|
| ab | cid | name | group | oral_ddd | oral_units | iv_ddd | iv_units |
|
||||||
|
|-----|-------------|----------------------|----------------------------|----------|------------|--------|----------|
|
||||||
|
| AMA | 4649.0 | 4-aminosalicylic acid| Antimycobacterials | 12.00 | g | NaN | None |
|
||||||
|
| ACM | 6450012.0 | Acetylmidecamycin | Macrolides/lincosamides | NaN | None | NaN | None |
|
||||||
|
| ASP | 49787020.0 | Acetylspiramycin | Macrolides/lincosamides | NaN | None | NaN | None |
|
||||||
|
| ALS | 8954.0 | Aldesulfone sodium | Other antibacterials | 0.33 | g | NaN | None |
|
||||||
|
| AMK | 37768.0 | Amikacin | Aminoglycosides | NaN | None | 1.0 | g |
|
||||||
|
| ... | ... | ... | ... | ... | ... | ... | ... |
|
||||||
|
| VIR | 11979535.0 | Virginiamycine | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| VOR | 71616.0 | Voriconazole | Antifungals/antimycotics | 0.40 | g | 0.4 | g |
|
||||||
|
| XBR | 72144.0 | Xibornol | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| ZID | 77846445.0 | Zidebactam | Other antibacterials | NaN | None | NaN | None |
|
||||||
|
| ZFD | NaN | Zoliflodacin | None | NaN | None | NaN | None |
|
||||||
|
|
||||||
|
|
||||||
|
# Installation Channels
|
||||||
|
|
||||||
|
## Stable Release (CRAN)
|
||||||
|
|
||||||
|
The default `AMR` Python package uses the latest stable version of the `AMR` R package, published on CRAN. After running `pip install AMR`, import it as usual:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR
|
||||||
|
|
||||||
|
AMR.example_isolates
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development Version (GitHub)
|
||||||
|
|
||||||
|
To use the latest development version of the `AMR` R package (sourced directly from GitHub), import the `beta` sub-package and alias it as `AMR`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import AMR.beta as AMR
|
||||||
|
|
||||||
|
AMR.example_isolates
|
||||||
|
```
|
||||||
|
|
||||||
|
Aliasing with `as AMR` keeps all downstream code identical to the stable import. Switching between the stable release and the development version requires changing only the import line — nothing else in your script needs to change.
|
||||||
|
|
||||||
|
# SIR Classification with `as_sir()`
|
||||||
|
|
||||||
|
## Using `enforce_method`
|
||||||
|
|
||||||
|
The `as_sir()` function in R uses S3 method dispatch to select the correct calculation method based on the input class: `<mic>` for MIC values and `<disk>` for disk diffusion values. Because Python objects do not carry R class attributes through the `rpy2` bridge, this automatic dispatch may not resolve correctly.
|
||||||
|
|
||||||
|
To explicitly specify the input type, use the `enforce_method` argument:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Treat the column as MIC values — maps to R's as.sir.mic()
|
||||||
|
AMR.as_sir(df["MIC_col"], mo="E. coli", ab="AMX", guideline="EUCAST", enforce_method="mic")
|
||||||
|
|
||||||
|
# Treat the column as disk diffusion values — maps to R's as.sir.disk()
|
||||||
|
AMR.as_sir(df["disk_col"], mo="E. coli", ab="AMX", guideline="EUCAST", enforce_method="disk")
|
||||||
|
```
|
||||||
|
|
||||||
|
Without `enforce_method`, R falls back to class-based dispatch on the raw Python input, which may fail or return unexpected results. Always supply `enforce_method` when calling `as_sir()` from Python.
|
||||||
|
|
||||||
|
# Conclusion
|
||||||
|
|
||||||
|
With the `AMR` Python package, Python users can now effortlessly call R functions from the `AMR` R package. This eliminates the need for complex `rpy2` configurations and provides a clean, easy-to-use interface for antimicrobial resistance analysis. The examples provided above demonstrate how this can be applied to typical workflows, such as standardising microorganism and antimicrobial names or calculating resistance.
|
||||||
|
|
||||||
|
By just running `import AMR`, users can seamlessly integrate the robust features of the R `AMR` package into Python workflows.
|
||||||
|
|
||||||
|
Whether you're cleaning data or analysing resistance patterns, the `AMR` Python package makes it easy to work with AMR data in Python.
|
||||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 51 KiB |
@@ -1,662 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>AMR for Python • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="AMR for Python">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="active nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>AMR for Python</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/AMR_for_Python.Rmd" class="external-link"><code>vignettes/AMR_for_Python.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>AMR_for_Python.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a>
|
|
||||||
</h2>
|
|
||||||
<p>The <code>AMR</code> package for R is a powerful tool for
|
|
||||||
antimicrobial resistance (AMR) analysis. It provides extensive features
|
|
||||||
for handling microbial and antimicrobial data. However, for those who
|
|
||||||
work primarily in Python, we now have a more intuitive option available:
|
|
||||||
the <a href="https://pypi.org/project/AMR/" class="external-link"><code>AMR</code> Python
|
|
||||||
package</a>.</p>
|
|
||||||
<p>This Python package is a wrapper around the <code>AMR</code> R
|
|
||||||
package. It uses the <code>rpy2</code> package internally. Despite the
|
|
||||||
need to have R installed, Python users can now easily work with AMR data
|
|
||||||
directly through Python code.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="prerequisites">Prerequisites<a class="anchor" aria-label="anchor" href="#prerequisites"></a>
|
|
||||||
</h2>
|
|
||||||
<p>This package was only tested with a <a href="https://docs.python.org/3/library/venv.html" class="external-link">virtual environment
|
|
||||||
(venv)</a>. You can set up such an environment by running:</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="co"># linux and macOS:</span></span>
|
|
||||||
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a>python <span class="op">-</span>m venv <span class="op">/</span>path<span class="op">/</span>to<span class="op">/</span>new<span class="op">/</span>virtual<span class="op">/</span>environment</span>
|
|
||||||
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a></span>
|
|
||||||
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="co"># Windows:</span></span>
|
|
||||||
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a>python <span class="op">-</span>m venv C:\path\to\new\virtual\environment</span></code></pre></div>
|
|
||||||
<p>Then you can <a href="https://docs.python.org/3/library/venv.html#how-venvs-work" class="external-link">activate
|
|
||||||
the environment</a>, after which the venv is ready to work with.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="install-amr">Install AMR<a class="anchor" aria-label="anchor" href="#install-amr"></a>
|
|
||||||
</h2>
|
|
||||||
<ol style="list-style-type: decimal">
|
|
||||||
<li>
|
|
||||||
<p>Since the Python package is available on the official <a href="https://pypi.org/project/AMR/" class="external-link">Python Package Index</a>, you can
|
|
||||||
just run:</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a><span class="ex">pip</span> install AMR</span></code></pre></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Make sure you have R installed. There is <strong>no need to
|
|
||||||
install the <code>AMR</code> R package</strong>, as it will be installed
|
|
||||||
automatically.</p>
|
|
||||||
<p>For Linux:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" tabindex="-1"></a><span class="co"># Ubuntu / Debian</span></span>
|
|
||||||
<span id="cb3-2"><a href="#cb3-2" tabindex="-1"></a><span class="fu">sudo</span> apt install r-base</span>
|
|
||||||
<span id="cb3-3"><a href="#cb3-3" tabindex="-1"></a><span class="co"># Fedora:</span></span>
|
|
||||||
<span id="cb3-4"><a href="#cb3-4" tabindex="-1"></a><span class="fu">sudo</span> dnf install R</span>
|
|
||||||
<span id="cb3-5"><a href="#cb3-5" tabindex="-1"></a><span class="co"># CentOS/RHEL</span></span>
|
|
||||||
<span id="cb3-6"><a href="#cb3-6" tabindex="-1"></a><span class="fu">sudo</span> yum install R</span></code></pre></div>
|
|
||||||
<p>For macOS (using <a href="https://brew.sh" class="external-link">Homebrew</a>):</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" tabindex="-1"></a><span class="ex">brew</span> install r</span></code></pre></div>
|
|
||||||
<p>For Windows, visit the <a href="https://cran.r-project.org" class="external-link">CRAN
|
|
||||||
download page</a> to download and install R.</p>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="examples-of-usage">Examples of Usage<a class="anchor" aria-label="anchor" href="#examples-of-usage"></a>
|
|
||||||
</h2>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="cleaning-taxonomy">Cleaning Taxonomy<a class="anchor" aria-label="anchor" href="#cleaning-taxonomy"></a>
|
|
||||||
</h3>
|
|
||||||
<p>Here’s an example that demonstrates how to clean microorganism and
|
|
||||||
drug names using the <code>AMR</code> Python package:</p>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb5-1"><a href="#cb5-1" tabindex="-1"></a><span class="im">import</span> pandas <span class="im">as</span> pd</span>
|
|
||||||
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a><span class="im">import</span> AMR</span>
|
|
||||||
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a></span>
|
|
||||||
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a><span class="co"># Sample data</span></span>
|
|
||||||
<span id="cb5-5"><a href="#cb5-5" tabindex="-1"></a>data <span class="op">=</span> {</span>
|
|
||||||
<span id="cb5-6"><a href="#cb5-6" tabindex="-1"></a> <span class="st">"MOs"</span>: [<span class="st">'E. coli'</span>, <span class="st">'ESCCOL'</span>, <span class="st">'esco'</span>, <span class="st">'Esche coli'</span>],</span>
|
|
||||||
<span id="cb5-7"><a href="#cb5-7" tabindex="-1"></a> <span class="st">"Drug"</span>: [<span class="st">'Cipro'</span>, <span class="st">'CIP'</span>, <span class="st">'J01MA02'</span>, <span class="st">'Ciproxin'</span>]</span>
|
|
||||||
<span id="cb5-8"><a href="#cb5-8" tabindex="-1"></a>}</span>
|
|
||||||
<span id="cb5-9"><a href="#cb5-9" tabindex="-1"></a>df <span class="op">=</span> pd.DataFrame(data)</span>
|
|
||||||
<span id="cb5-10"><a href="#cb5-10" tabindex="-1"></a></span>
|
|
||||||
<span id="cb5-11"><a href="#cb5-11" tabindex="-1"></a><span class="co"># Use AMR functions to clean microorganism and drug names</span></span>
|
|
||||||
<span id="cb5-12"><a href="#cb5-12" tabindex="-1"></a>df[<span class="st">'MO_clean'</span>] <span class="op">=</span> AMR.mo_name(df[<span class="st">'MOs'</span>])</span>
|
|
||||||
<span id="cb5-13"><a href="#cb5-13" tabindex="-1"></a>df[<span class="st">'Drug_clean'</span>] <span class="op">=</span> AMR.ab_name(df[<span class="st">'Drug'</span>])</span>
|
|
||||||
<span id="cb5-14"><a href="#cb5-14" tabindex="-1"></a></span>
|
|
||||||
<span id="cb5-15"><a href="#cb5-15" tabindex="-1"></a><span class="co"># Display the results</span></span>
|
|
||||||
<span id="cb5-16"><a href="#cb5-16" tabindex="-1"></a><span class="bu">print</span>(df)</span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>MOs</th>
|
|
||||||
<th>Drug</th>
|
|
||||||
<th>MO_clean</th>
|
|
||||||
<th>Drug_clean</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>E. coli</td>
|
|
||||||
<td>Cipro</td>
|
|
||||||
<td>Escherichia coli</td>
|
|
||||||
<td>Ciprofloxacin</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>ESCCOL</td>
|
|
||||||
<td>CIP</td>
|
|
||||||
<td>Escherichia coli</td>
|
|
||||||
<td>Ciprofloxacin</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>esco</td>
|
|
||||||
<td>J01MA02</td>
|
|
||||||
<td>Escherichia coli</td>
|
|
||||||
<td>Ciprofloxacin</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>Esche coli</td>
|
|
||||||
<td>Ciproxin</td>
|
|
||||||
<td>Escherichia coli</td>
|
|
||||||
<td>Ciprofloxacin</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="section level4">
|
|
||||||
<h4 id="explanation">Explanation<a class="anchor" aria-label="anchor" href="#explanation"></a>
|
|
||||||
</h4>
|
|
||||||
<ul>
|
|
||||||
<li><p><strong>mo_name:</strong> This function standardises
|
|
||||||
microorganism names. Here, different variations of <em>Escherichia
|
|
||||||
coli</em> (such as “E. coli”, “ESCCOL”, “esco”, and “Esche coli”) are
|
|
||||||
all converted into the correct, standardised form, “Escherichia
|
|
||||||
coli”.</p></li>
|
|
||||||
<li><p><strong>ab_name</strong>: Similarly, this function standardises
|
|
||||||
antimicrobial names. The different representations of ciprofloxacin
|
|
||||||
(e.g., “Cipro”, “CIP”, “J01MA02”, and “Ciproxin”) are all converted to
|
|
||||||
the standard name, “Ciprofloxacin”.</p></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="calculating-amr">Calculating AMR<a class="anchor" aria-label="anchor" href="#calculating-amr"></a>
|
|
||||||
</h3>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb6-1"><a href="#cb6-1" tabindex="-1"></a><span class="im">import</span> AMR</span>
|
|
||||||
<span id="cb6-2"><a href="#cb6-2" tabindex="-1"></a><span class="im">import</span> pandas <span class="im">as</span> pd</span>
|
|
||||||
<span id="cb6-3"><a href="#cb6-3" tabindex="-1"></a></span>
|
|
||||||
<span id="cb6-4"><a href="#cb6-4" tabindex="-1"></a>df <span class="op">=</span> AMR.example_isolates</span>
|
|
||||||
<span id="cb6-5"><a href="#cb6-5" tabindex="-1"></a>result <span class="op">=</span> AMR.resistance(df[<span class="st">"AMX"</span>])</span>
|
|
||||||
<span id="cb6-6"><a href="#cb6-6" tabindex="-1"></a><span class="bu">print</span>(result)</span></code></pre></div>
|
|
||||||
<pre><code>[0.59555556]</code></pre>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="generating-antibiograms">Generating Antibiograms<a class="anchor" aria-label="anchor" href="#generating-antibiograms"></a>
|
|
||||||
</h3>
|
|
||||||
<p>One of the core functions of the <code>AMR</code> package is
|
|
||||||
generating an antibiogram, a table that summarises the antimicrobial
|
|
||||||
susceptibility of bacterial isolates. Here’s how you can generate an
|
|
||||||
antibiogram from Python:</p>
|
|
||||||
<div class="sourceCode" id="cb8"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" tabindex="-1"></a>result2a <span class="op">=</span> AMR.antibiogram(df[[<span class="st">"mo"</span>, <span class="st">"AMX"</span>, <span class="st">"CIP"</span>, <span class="st">"TZP"</span>]])</span>
|
|
||||||
<span id="cb8-2"><a href="#cb8-2" tabindex="-1"></a><span class="bu">print</span>(result2a)</span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="22%">
|
|
||||||
<col width="22%">
|
|
||||||
<col width="22%">
|
|
||||||
<col width="33%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>Pathogen</th>
|
|
||||||
<th>Amoxicillin</th>
|
|
||||||
<th>Ciprofloxacin</th>
|
|
||||||
<th>Piperacillin/tazobactam</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>CoNS</td>
|
|
||||||
<td>7% (10/142)</td>
|
|
||||||
<td>73% (183/252)</td>
|
|
||||||
<td>30% (10/33)</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>E. coli</td>
|
|
||||||
<td>50% (196/392)</td>
|
|
||||||
<td>88% (399/456)</td>
|
|
||||||
<td>94% (393/416)</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>K. pneumoniae</td>
|
|
||||||
<td>0% (0/58)</td>
|
|
||||||
<td>96% (53/55)</td>
|
|
||||||
<td>89% (47/53)</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>P. aeruginosa</td>
|
|
||||||
<td>0% (0/30)</td>
|
|
||||||
<td>100% (30/30)</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>P. mirabilis</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>94% (34/36)</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>S. aureus</td>
|
|
||||||
<td>6% (8/131)</td>
|
|
||||||
<td>90% (171/191)</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>S. epidermidis</td>
|
|
||||||
<td>1% (1/91)</td>
|
|
||||||
<td>64% (87/136)</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>S. hominis</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>80% (56/70)</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>S. pneumoniae</td>
|
|
||||||
<td>100% (112/112)</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>100% (112/112)</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="sourceCode" id="cb9"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb9-1"><a href="#cb9-1" tabindex="-1"></a>result2b <span class="op">=</span> AMR.antibiogram(df[[<span class="st">"mo"</span>, <span class="st">"AMX"</span>, <span class="st">"CIP"</span>, <span class="st">"TZP"</span>]], mo_transform <span class="op">=</span> <span class="st">"gramstain"</span>)</span>
|
|
||||||
<span id="cb9-2"><a href="#cb9-2" tabindex="-1"></a><span class="bu">print</span>(result2b)</span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="20%">
|
|
||||||
<col width="22%">
|
|
||||||
<col width="23%">
|
|
||||||
<col width="33%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>Pathogen</th>
|
|
||||||
<th>Amoxicillin</th>
|
|
||||||
<th>Ciprofloxacin</th>
|
|
||||||
<th>Piperacillin/tazobactam</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>Gram-negative</td>
|
|
||||||
<td>36% (226/631)</td>
|
|
||||||
<td>91% (621/684)</td>
|
|
||||||
<td>88% (565/641)</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>Gram-positive</td>
|
|
||||||
<td>43% (305/703)</td>
|
|
||||||
<td>77% (560/724)</td>
|
|
||||||
<td>86% (296/345)</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>In this example, we generate an antibiogram by selecting various
|
|
||||||
antibiotics.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="taxonomic-data-sets-now-in-python">Taxonomic Data Sets Now in Python!<a class="anchor" aria-label="anchor" href="#taxonomic-data-sets-now-in-python"></a>
|
|
||||||
</h3>
|
|
||||||
<p>As a Python user, you might like that the most important data sets of
|
|
||||||
the <code>AMR</code> R package, <code>microorganisms</code>,
|
|
||||||
<code>antimicrobials</code>, <code>clinical_breakpoints</code>, and
|
|
||||||
<code>example_isolates</code>, are now available as regular Python data
|
|
||||||
frames:</p>
|
|
||||||
<div class="sourceCode" id="cb10"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb10-1"><a href="#cb10-1" tabindex="-1"></a>AMR.microorganisms</span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="11%">
|
|
||||||
<col width="29%">
|
|
||||||
<col width="8%">
|
|
||||||
<col width="8%">
|
|
||||||
<col width="8%">
|
|
||||||
<col width="10%">
|
|
||||||
<col width="13%">
|
|
||||||
<col width="9%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>mo</th>
|
|
||||||
<th>fullname</th>
|
|
||||||
<th>status</th>
|
|
||||||
<th>kingdom</th>
|
|
||||||
<th>gbif</th>
|
|
||||||
<th>gbif_parent</th>
|
|
||||||
<th>gbif_renamed_to</th>
|
|
||||||
<th>prevalence</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>B_GRAMN</td>
|
|
||||||
<td>(unknown Gram-negatives)</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>B_GRAMP</td>
|
|
||||||
<td>(unknown Gram-positives)</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>B_ANAER-NEG</td>
|
|
||||||
<td>(unknown anaerobic Gram-negatives)</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>B_ANAER-POS</td>
|
|
||||||
<td>(unknown anaerobic Gram-positives)</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>B_ANAER</td>
|
|
||||||
<td>(unknown anaerobic bacteria)</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>B_ZYMMN_POMC</td>
|
|
||||||
<td>Zymomonas pomaceae</td>
|
|
||||||
<td>accepted</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>10744418</td>
|
|
||||||
<td>3221412</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>B_ZYMPH</td>
|
|
||||||
<td>Zymophilus</td>
|
|
||||||
<td>synonym</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>9475166</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>B_ZYMPH_PCVR</td>
|
|
||||||
<td>Zymophilus paucivorans</td>
|
|
||||||
<td>synonym</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>B_ZYMPH_RFFN</td>
|
|
||||||
<td>Zymophilus raffinosivorans</td>
|
|
||||||
<td>synonym</td>
|
|
||||||
<td>Bacteria</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>F_ZYZYG</td>
|
|
||||||
<td>Zyzygomyces</td>
|
|
||||||
<td>unknown</td>
|
|
||||||
<td>Fungi</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>7581</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>2.0</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="sourceCode" id="cb11"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb11-1"><a href="#cb11-1" tabindex="-1"></a>AMR.antimicrobials</span></code></pre></div>
|
|
||||||
<table style="width:100%;" class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="4%">
|
|
||||||
<col width="12%">
|
|
||||||
<col width="20%">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="9%">
|
|
||||||
<col width="11%">
|
|
||||||
<col width="7%">
|
|
||||||
<col width="9%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>ab</th>
|
|
||||||
<th>cid</th>
|
|
||||||
<th>name</th>
|
|
||||||
<th>group</th>
|
|
||||||
<th>oral_ddd</th>
|
|
||||||
<th>oral_units</th>
|
|
||||||
<th>iv_ddd</th>
|
|
||||||
<th>iv_units</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>AMA</td>
|
|
||||||
<td>4649.0</td>
|
|
||||||
<td>4-aminosalicylic acid</td>
|
|
||||||
<td>Antimycobacterials</td>
|
|
||||||
<td>12.00</td>
|
|
||||||
<td>g</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>ACM</td>
|
|
||||||
<td>6450012.0</td>
|
|
||||||
<td>Acetylmidecamycin</td>
|
|
||||||
<td>Macrolides/lincosamides</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>ASP</td>
|
|
||||||
<td>49787020.0</td>
|
|
||||||
<td>Acetylspiramycin</td>
|
|
||||||
<td>Macrolides/lincosamides</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>ALS</td>
|
|
||||||
<td>8954.0</td>
|
|
||||||
<td>Aldesulfone sodium</td>
|
|
||||||
<td>Other antibacterials</td>
|
|
||||||
<td>0.33</td>
|
|
||||||
<td>g</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>AMK</td>
|
|
||||||
<td>37768.0</td>
|
|
||||||
<td>Amikacin</td>
|
|
||||||
<td>Aminoglycosides</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>1.0</td>
|
|
||||||
<td>g</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
<td>…</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>VIR</td>
|
|
||||||
<td>11979535.0</td>
|
|
||||||
<td>Virginiamycine</td>
|
|
||||||
<td>Other antibacterials</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>VOR</td>
|
|
||||||
<td>71616.0</td>
|
|
||||||
<td>Voriconazole</td>
|
|
||||||
<td>Antifungals/antimycotics</td>
|
|
||||||
<td>0.40</td>
|
|
||||||
<td>g</td>
|
|
||||||
<td>0.4</td>
|
|
||||||
<td>g</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>XBR</td>
|
|
||||||
<td>72144.0</td>
|
|
||||||
<td>Xibornol</td>
|
|
||||||
<td>Other antibacterials</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>ZID</td>
|
|
||||||
<td>77846445.0</td>
|
|
||||||
<td>Zidebactam</td>
|
|
||||||
<td>Other antibacterials</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>ZFD</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>Zoliflodacin</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>NaN</td>
|
|
||||||
<td>None</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="conclusion">Conclusion<a class="anchor" aria-label="anchor" href="#conclusion"></a>
|
|
||||||
</h2>
|
|
||||||
<p>With the <code>AMR</code> Python package, Python users can now
|
|
||||||
effortlessly call R functions from the <code>AMR</code> R package. This
|
|
||||||
eliminates the need for complex <code>rpy2</code> configurations and
|
|
||||||
provides a clean, easy-to-use interface for antimicrobial resistance
|
|
||||||
analysis. The examples provided above demonstrate how this can be
|
|
||||||
applied to typical workflows, such as standardising microorganism and
|
|
||||||
antimicrobial names or calculating resistance.</p>
|
|
||||||
<p>By just running <code>import AMR</code>, users can seamlessly
|
|
||||||
integrate the robust features of the R <code>AMR</code> package into
|
|
||||||
Python workflows.</p>
|
|
||||||
<p>Whether you’re cleaning data or analysing resistance patterns, the
|
|
||||||
<code>AMR</code> Python package makes it easy to work with AMR data in
|
|
||||||
Python.</p>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,421 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>AMR with tidymodels • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="AMR with tidymodels">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>AMR with tidymodels</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/AMR_with_tidymodels.Rmd" class="external-link"><code>vignettes/AMR_with_tidymodels.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>AMR_with_tidymodels.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>This page was entirely written by our <a href="https://chatgpt.com/g/g-M4UNLwFi5-amr-for-r-assistant" class="external-link">AMR for R
|
|
||||||
Assistant</a>, a ChatGPT manually-trained model able to answer any
|
|
||||||
question about the AMR package.</p>
|
|
||||||
</blockquote>
|
|
||||||
<p>Antimicrobial resistance (AMR) is a global health crisis, and
|
|
||||||
understanding resistance patterns is crucial for managing effective
|
|
||||||
treatments. The <code>AMR</code> R package provides robust tools for
|
|
||||||
analysing AMR data, including convenient antibiotic selector functions
|
|
||||||
like <code><a href="../reference/antimicrobial_selectors.html">aminoglycosides()</a></code> and <code><a href="../reference/antimicrobial_selectors.html">betalactams()</a></code>. In
|
|
||||||
this post, we will explore how to use the <code>tidymodels</code>
|
|
||||||
framework to predict resistance patterns in the
|
|
||||||
<code>example_isolates</code> dataset.</p>
|
|
||||||
<p>By leveraging the power of <code>tidymodels</code> and the
|
|
||||||
<code>AMR</code> package, we’ll build a reproducible machine learning
|
|
||||||
workflow to predict the Gramstain of the microorganism to two important
|
|
||||||
antibiotic classes: aminoglycosides and beta-lactams.</p>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="objective">
|
|
||||||
<strong>Objective</strong><a class="anchor" aria-label="anchor" href="#objective"></a>
|
|
||||||
</h3>
|
|
||||||
<p>Our goal is to build a predictive model using the
|
|
||||||
<code>tidymodels</code> framework to determine the Gramstain of the
|
|
||||||
microorganism based on microbial data. We will:</p>
|
|
||||||
<ol style="list-style-type: decimal">
|
|
||||||
<li>Preprocess data using the selector functions
|
|
||||||
<code><a href="../reference/antimicrobial_selectors.html">aminoglycosides()</a></code> and <code><a href="../reference/antimicrobial_selectors.html">betalactams()</a></code>.</li>
|
|
||||||
<li>Define a logistic regression model for prediction.</li>
|
|
||||||
<li>Use a structured <code>tidymodels</code> workflow to preprocess,
|
|
||||||
train, and evaluate the model.</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="data-preparation">
|
|
||||||
<strong>Data Preparation</strong><a class="anchor" aria-label="anchor" href="#data-preparation"></a>
|
|
||||||
</h3>
|
|
||||||
<p>We begin by loading the required libraries and preparing the
|
|
||||||
<code>example_isolates</code> dataset from the <code>AMR</code>
|
|
||||||
package.</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Load required libraries</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/AMR/">AMR</a></span><span class="op">)</span> <span class="co"># For AMR data analysis</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://tidymodels.tidymodels.org" class="external-link">tidymodels</a></span><span class="op">)</span> <span class="co"># For machine learning workflows, and data manipulation (dplyr, tidyr, ...)</span></span>
|
|
||||||
<span><span class="co">#> ── <span style="font-weight: bold;">Attaching packages</span> ────────────────────────────────────── tidymodels 1.3.0 ──</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">broom </span> 1.0.7 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">recipes </span> 1.2.0</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">dials </span> 1.4.0 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">rsample </span> 1.2.1</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">dplyr </span> 1.1.4 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">tibble </span> 3.2.1</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">ggplot2 </span> 3.5.1 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">tidyr </span> 1.3.1</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">infer </span> 1.0.7 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">tune </span> 1.3.0</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">modeldata </span> 1.4.0 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">workflows </span> 1.2.0</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">parsnip </span> 1.3.1 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">workflowsets</span> 1.1.0</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">purrr </span> 1.0.4 <span style="color: #00BB00;">✔</span> <span style="color: #0000BB;">yardstick </span> 1.3.2</span></span>
|
|
||||||
<span><span class="co">#> ── <span style="font-weight: bold;">Conflicts</span> ───────────────────────────────────────── tidymodels_conflicts() ──</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BB0000;">✖</span> <span style="color: #0000BB;">purrr</span>::<span style="color: #00BB00;">discard()</span> masks <span style="color: #0000BB;">scales</span>::discard()</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BB0000;">✖</span> <span style="color: #0000BB;">dplyr</span>::<span style="color: #00BB00;">filter()</span> masks <span style="color: #0000BB;">stats</span>::filter()</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BB0000;">✖</span> <span style="color: #0000BB;">dplyr</span>::<span style="color: #00BB00;">lag()</span> masks <span style="color: #0000BB;">stats</span>::lag()</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BB0000;">✖</span> <span style="color: #0000BB;">recipes</span>::<span style="color: #00BB00;">step()</span> masks <span style="color: #0000BB;">stats</span>::step()</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># Select relevant columns for prediction</span></span>
|
|
||||||
<span><span class="va">data</span> <span class="op"><-</span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="co"># select AB results dynamically</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/select.html" class="external-link">select</a></span><span class="op">(</span><span class="va">mo</span>, <span class="fu"><a href="../reference/antimicrobial_selectors.html">aminoglycosides</a></span><span class="op">(</span><span class="op">)</span>, <span class="fu"><a href="../reference/antimicrobial_selectors.html">betalactams</a></span><span class="op">(</span><span class="op">)</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="co"># replace NAs with NI (not-interpretable)</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate.html" class="external-link">mutate</a></span><span class="op">(</span><span class="fu"><a href="https://dplyr.tidyverse.org/reference/across.html" class="external-link">across</a></span><span class="op">(</span><span class="fu"><a href="https://tidyselect.r-lib.org/reference/where.html" class="external-link">where</a></span><span class="op">(</span><span class="va">is.sir</span><span class="op">)</span>,</span>
|
|
||||||
<span> <span class="op">~</span><span class="fu">replace_na</span><span class="op">(</span><span class="va">.x</span>, <span class="st">"NI"</span><span class="op">)</span><span class="op">)</span>,</span>
|
|
||||||
<span> <span class="co"># make factors of SIR columns</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/across.html" class="external-link">across</a></span><span class="op">(</span><span class="fu"><a href="https://tidyselect.r-lib.org/reference/where.html" class="external-link">where</a></span><span class="op">(</span><span class="va">is.sir</span><span class="op">)</span>,</span>
|
|
||||||
<span> <span class="va">as.integer</span><span class="op">)</span>,</span>
|
|
||||||
<span> <span class="co"># get Gramstain of microorganisms</span></span>
|
|
||||||
<span> mo <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/factor.html" class="external-link">as.factor</a></span><span class="op">(</span><span class="fu"><a href="../reference/mo_property.html">mo_gramstain</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span><span class="op">)</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="co"># drop NAs - the ones without a Gramstain (fungi, etc.)</span></span>
|
|
||||||
<span> <span class="fu">drop_na</span><span class="op">(</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ For </span><span style="color: #0000BB; background-color: #EEEEEE;">aminoglycosides()</span><span style="color: #0000BB;"> using columns '</span><span style="color: #0000BB; font-weight: bold;">GEN</span><span style="color: #0000BB;">' (gentamicin), '</span><span style="color: #0000BB; font-weight: bold;">TOB</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (tobramycin), '</span><span style="color: #0000BB; font-weight: bold;">AMK</span><span style="color: #0000BB;">' (amikacin), and '</span><span style="color: #0000BB; font-weight: bold;">KAN</span><span style="color: #0000BB;">' (kanamycin)</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ For </span><span style="color: #0000BB; background-color: #EEEEEE;">betalactams()</span><span style="color: #0000BB;"> using columns '</span><span style="color: #0000BB; font-weight: bold;">PEN</span><span style="color: #0000BB;">' (benzylpenicillin), '</span><span style="color: #0000BB; font-weight: bold;">OXA</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (oxacillin), '</span><span style="color: #0000BB; font-weight: bold;">FLC</span><span style="color: #0000BB;">' (flucloxacillin), '</span><span style="color: #0000BB; font-weight: bold;">AMX</span><span style="color: #0000BB;">' (amoxicillin), '</span><span style="color: #0000BB; font-weight: bold;">AMC</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (amoxicillin/clavulanic acid), '</span><span style="color: #0000BB; font-weight: bold;">AMP</span><span style="color: #0000BB;">' (ampicillin), '</span><span style="color: #0000BB; font-weight: bold;">TZP</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (piperacillin/tazobactam), '</span><span style="color: #0000BB; font-weight: bold;">CZO</span><span style="color: #0000BB;">' (cefazolin), '</span><span style="color: #0000BB; font-weight: bold;">FEP</span><span style="color: #0000BB;">' (cefepime), '</span><span style="color: #0000BB; font-weight: bold;">CXM</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (cefuroxime), '</span><span style="color: #0000BB; font-weight: bold;">FOX</span><span style="color: #0000BB;">' (cefoxitin), '</span><span style="color: #0000BB; font-weight: bold;">CTX</span><span style="color: #0000BB;">' (cefotaxime), '</span><span style="color: #0000BB; font-weight: bold;">CAZ</span><span style="color: #0000BB;">' (ceftazidime),</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> '</span><span style="color: #0000BB; font-weight: bold;">CRO</span><span style="color: #0000BB;">' (ceftriaxone), '</span><span style="color: #0000BB; font-weight: bold;">IPM</span><span style="color: #0000BB;">' (imipenem), and '</span><span style="color: #0000BB; font-weight: bold;">MEM</span><span style="color: #0000BB;">' (meropenem)</span></span></span></code></pre></div>
|
|
||||||
<p><strong>Explanation:</strong></p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code><a href="../reference/antimicrobial_selectors.html">aminoglycosides()</a></code> and <code><a href="../reference/antimicrobial_selectors.html">betalactams()</a></code>
|
|
||||||
dynamically select columns for antimicrobials in these classes.</li>
|
|
||||||
<li>
|
|
||||||
<code>drop_na()</code> ensures the model receives complete cases for
|
|
||||||
training.</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="defining-the-workflow">
|
|
||||||
<strong>Defining the Workflow</strong><a class="anchor" aria-label="anchor" href="#defining-the-workflow"></a>
|
|
||||||
</h3>
|
|
||||||
<p>We now define the <code>tidymodels</code> workflow, which consists of
|
|
||||||
three steps: preprocessing, model specification, and fitting.</p>
|
|
||||||
<div class="section level4">
|
|
||||||
<h4 id="preprocessing-with-a-recipe">1. Preprocessing with a Recipe<a class="anchor" aria-label="anchor" href="#preprocessing-with-a-recipe"></a>
|
|
||||||
</h4>
|
|
||||||
<p>We create a recipe to preprocess the data for modelling.</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Define the recipe for data preprocessing</span></span>
|
|
||||||
<span><span class="va">resistance_recipe</span> <span class="op"><-</span> <span class="fu">recipe</span><span class="op">(</span><span class="va">mo</span> <span class="op">~</span> <span class="va">.</span>, data <span class="op">=</span> <span class="va">data</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">step_corr</span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fu"><a href="../reference/antimicrobial_selectors.html">aminoglycosides</a></span><span class="op">(</span><span class="op">)</span>, <span class="fu"><a href="../reference/antimicrobial_selectors.html">betalactams</a></span><span class="op">(</span><span class="op">)</span><span class="op">)</span>, threshold <span class="op">=</span> <span class="fl">0.9</span><span class="op">)</span></span>
|
|
||||||
<span><span class="va">resistance_recipe</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BBBB;">──</span> <span style="font-weight: bold;">Recipe</span> <span style="color: #00BBBB;">──────────────────────────────────────────────────────────────────────</span></span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Inputs</span></span>
|
|
||||||
<span><span class="co">#> Number of variables by role</span></span>
|
|
||||||
<span><span class="co">#> outcome: 1</span></span>
|
|
||||||
<span><span class="co">#> predictor: 20</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Operations</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BBBB;">•</span> Correlation filter on: <span style="color: #0000BB;">c(aminoglycosides(), betalactams())</span></span></span></code></pre></div>
|
|
||||||
<p>For a recipe that includes at least one preprocessing operation, like
|
|
||||||
we have with <code>step_corr()</code>, the necessary parameters can be
|
|
||||||
estimated from a training set using <code>prep()</code>:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu">prep</span><span class="op">(</span><span class="va">resistance_recipe</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ For </span><span style="color: #0000BB; background-color: #EEEEEE;">aminoglycosides()</span><span style="color: #0000BB;"> using columns '</span><span style="color: #0000BB; font-weight: bold;">GEN</span><span style="color: #0000BB;">' (gentamicin), '</span><span style="color: #0000BB; font-weight: bold;">TOB</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (tobramycin), '</span><span style="color: #0000BB; font-weight: bold;">AMK</span><span style="color: #0000BB;">' (amikacin), and '</span><span style="color: #0000BB; font-weight: bold;">KAN</span><span style="color: #0000BB;">' (kanamycin)</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ For </span><span style="color: #0000BB; background-color: #EEEEEE;">betalactams()</span><span style="color: #0000BB;"> using columns '</span><span style="color: #0000BB; font-weight: bold;">PEN</span><span style="color: #0000BB;">' (benzylpenicillin), '</span><span style="color: #0000BB; font-weight: bold;">OXA</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (oxacillin), '</span><span style="color: #0000BB; font-weight: bold;">FLC</span><span style="color: #0000BB;">' (flucloxacillin), '</span><span style="color: #0000BB; font-weight: bold;">AMX</span><span style="color: #0000BB;">' (amoxicillin), '</span><span style="color: #0000BB; font-weight: bold;">AMC</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (amoxicillin/clavulanic acid), '</span><span style="color: #0000BB; font-weight: bold;">AMP</span><span style="color: #0000BB;">' (ampicillin), '</span><span style="color: #0000BB; font-weight: bold;">TZP</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (piperacillin/tazobactam), '</span><span style="color: #0000BB; font-weight: bold;">CZO</span><span style="color: #0000BB;">' (cefazolin), '</span><span style="color: #0000BB; font-weight: bold;">FEP</span><span style="color: #0000BB;">' (cefepime), '</span><span style="color: #0000BB; font-weight: bold;">CXM</span><span style="color: #0000BB;">'</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> (cefuroxime), '</span><span style="color: #0000BB; font-weight: bold;">FOX</span><span style="color: #0000BB;">' (cefoxitin), '</span><span style="color: #0000BB; font-weight: bold;">CTX</span><span style="color: #0000BB;">' (cefotaxime), '</span><span style="color: #0000BB; font-weight: bold;">CAZ</span><span style="color: #0000BB;">' (ceftazidime),</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> '</span><span style="color: #0000BB; font-weight: bold;">CRO</span><span style="color: #0000BB;">' (ceftriaxone), '</span><span style="color: #0000BB; font-weight: bold;">IPM</span><span style="color: #0000BB;">' (imipenem), and '</span><span style="color: #0000BB; font-weight: bold;">MEM</span><span style="color: #0000BB;">' (meropenem)</span></span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BBBB;">──</span> <span style="font-weight: bold;">Recipe</span> <span style="color: #00BBBB;">──────────────────────────────────────────────────────────────────────</span></span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Inputs</span></span>
|
|
||||||
<span><span class="co">#> Number of variables by role</span></span>
|
|
||||||
<span><span class="co">#> outcome: 1</span></span>
|
|
||||||
<span><span class="co">#> predictor: 20</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Training information</span></span>
|
|
||||||
<span><span class="co">#> Training data contained 1968 data points and no incomplete rows.</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Operations</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #00BBBB;">•</span> Correlation filter on: <span style="color: #0000BB;">AMX</span> <span style="color: #0000BB;">CTX</span> | <span style="font-style: italic;">Trained</span></span></span></code></pre></div>
|
|
||||||
<p><strong>Explanation:</strong></p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code>recipe(mo ~ ., data = data)</code> will take the
|
|
||||||
<code>mo</code> column as outcome and all other columns as
|
|
||||||
predictors.</li>
|
|
||||||
<li>
|
|
||||||
<code>step_corr()</code> removes predictors (i.e., antibiotic
|
|
||||||
columns) that have a higher correlation than 90%.</li>
|
|
||||||
</ul>
|
|
||||||
<p>Notice how the recipe contains just the antibiotic selector functions
|
|
||||||
- no need to define the columns specifically. In the preparation
|
|
||||||
(retrieved with <code>prep()</code>) we can see that the columns or
|
|
||||||
variables ‘AMX’ and ‘CTX’ were removed as they correlate too much with
|
|
||||||
existing, other variables.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level4">
|
|
||||||
<h4 id="specifying-the-model">2. Specifying the Model<a class="anchor" aria-label="anchor" href="#specifying-the-model"></a>
|
|
||||||
</h4>
|
|
||||||
<p>We define a logistic regression model since resistance prediction is
|
|
||||||
a binary classification task.</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Specify a logistic regression model</span></span>
|
|
||||||
<span><span class="va">logistic_model</span> <span class="op"><-</span> <span class="fu">logistic_reg</span><span class="op">(</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">set_engine</span><span class="op">(</span><span class="st">"glm"</span><span class="op">)</span> <span class="co"># Use the Generalized Linear Model engine</span></span>
|
|
||||||
<span><span class="va">logistic_model</span></span>
|
|
||||||
<span><span class="co">#> Logistic Regression Model Specification (classification)</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> Computational engine: glm</span></span></code></pre></div>
|
|
||||||
<p><strong>Explanation:</strong></p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code>logistic_reg()</code> sets up a logistic regression
|
|
||||||
model.</li>
|
|
||||||
<li>
|
|
||||||
<code>set_engine("glm")</code> specifies the use of R’s built-in GLM
|
|
||||||
engine.</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="section level4">
|
|
||||||
<h4 id="building-the-workflow">3. Building the Workflow<a class="anchor" aria-label="anchor" href="#building-the-workflow"></a>
|
|
||||||
</h4>
|
|
||||||
<p>We bundle the recipe and model together into a <code>workflow</code>,
|
|
||||||
which organizes the entire modeling process.</p>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Combine the recipe and model into a workflow</span></span>
|
|
||||||
<span><span class="va">resistance_workflow</span> <span class="op"><-</span> <span class="fu">workflow</span><span class="op">(</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">add_recipe</span><span class="op">(</span><span class="va">resistance_recipe</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="co"># Add the preprocessing recipe</span></span>
|
|
||||||
<span> <span class="fu">add_model</span><span class="op">(</span><span class="va">logistic_model</span><span class="op">)</span> <span class="co"># Add the logistic regression model</span></span>
|
|
||||||
<span><span class="va">resistance_workflow</span></span>
|
|
||||||
<span><span class="co">#> ══ Workflow ════════════════════════════════════════════════════════════════════</span></span>
|
|
||||||
<span><span class="co">#> <span style="font-style: italic;">Preprocessor:</span> Recipe</span></span>
|
|
||||||
<span><span class="co">#> <span style="font-style: italic;">Model:</span> logistic_reg()</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Preprocessor ────────────────────────────────────────────────────────────────</span></span>
|
|
||||||
<span><span class="co">#> 1 Recipe Step</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> • step_corr()</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> ── Model ───────────────────────────────────────────────────────────────────────</span></span>
|
|
||||||
<span><span class="co">#> Logistic Regression Model Specification (classification)</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> Computational engine: glm</span></span></code></pre></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="training-and-evaluating-the-model">
|
|
||||||
<strong>Training and Evaluating the Model</strong><a class="anchor" aria-label="anchor" href="#training-and-evaluating-the-model"></a>
|
|
||||||
</h3>
|
|
||||||
<p>To train the model, we split the data into training and testing sets.
|
|
||||||
Then, we fit the workflow on the training set and evaluate its
|
|
||||||
performance.</p>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Split data into training and testing sets</span></span>
|
|
||||||
<span><span class="fu"><a href="https://rdrr.io/r/base/Random.html" class="external-link">set.seed</a></span><span class="op">(</span><span class="fl">123</span><span class="op">)</span> <span class="co"># For reproducibility</span></span>
|
|
||||||
<span><span class="va">data_split</span> <span class="op"><-</span> <span class="fu">initial_split</span><span class="op">(</span><span class="va">data</span>, prop <span class="op">=</span> <span class="fl">0.8</span><span class="op">)</span> <span class="co"># 80% training, 20% testing</span></span>
|
|
||||||
<span><span class="va">training_data</span> <span class="op"><-</span> <span class="fu">training</span><span class="op">(</span><span class="va">data_split</span><span class="op">)</span> <span class="co"># Training set</span></span>
|
|
||||||
<span><span class="va">testing_data</span> <span class="op"><-</span> <span class="fu">testing</span><span class="op">(</span><span class="va">data_split</span><span class="op">)</span> <span class="co"># Testing set</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># Fit the workflow to the training data</span></span>
|
|
||||||
<span><span class="va">fitted_workflow</span> <span class="op"><-</span> <span class="va">resistance_workflow</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">fit</span><span class="op">(</span><span class="va">training_data</span><span class="op">)</span> <span class="co"># Train the model</span></span></code></pre></div>
|
|
||||||
<p><strong>Explanation:</strong></p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code>initial_split()</code> splits the data into training and
|
|
||||||
testing sets.</li>
|
|
||||||
<li>
|
|
||||||
<code>fit()</code> trains the workflow on the training set.</li>
|
|
||||||
</ul>
|
|
||||||
<p>Notice how in <code>fit()</code>, the antibiotic selector functions
|
|
||||||
are internally called again. For training, these functions are called
|
|
||||||
since they are stored in the recipe.</p>
|
|
||||||
<p>Next, we evaluate the model on the testing data.</p>
|
|
||||||
<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># Make predictions on the testing set</span></span>
|
|
||||||
<span><span class="va">predictions</span> <span class="op"><-</span> <span class="va">fitted_workflow</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://rdrr.io/r/stats/predict.html" class="external-link">predict</a></span><span class="op">(</span><span class="va">testing_data</span><span class="op">)</span> <span class="co"># Generate predictions</span></span>
|
|
||||||
<span><span class="va">probabilities</span> <span class="op"><-</span> <span class="va">fitted_workflow</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://rdrr.io/r/stats/predict.html" class="external-link">predict</a></span><span class="op">(</span><span class="va">testing_data</span>, type <span class="op">=</span> <span class="st">"prob"</span><span class="op">)</span> <span class="co"># Generate probabilities</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="va">predictions</span> <span class="op"><-</span> <span class="va">predictions</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/bind_cols.html" class="external-link">bind_cols</a></span><span class="op">(</span><span class="va">probabilities</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/bind_cols.html" class="external-link">bind_cols</a></span><span class="op">(</span><span class="va">testing_data</span><span class="op">)</span> <span class="co"># Combine with true labels</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="va">predictions</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># A tibble: 394 × 24</span></span></span>
|
|
||||||
<span><span class="co">#> .pred_class `.pred_Gram-negative` `.pred_Gram-positive` mo GEN TOB</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494; font-style: italic;"><fct></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><fct></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><int></span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 1</span> Gram-positive 1.07<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> 8.93<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> Gram-p… 5 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 2</span> Gram-positive 3.17<span style="color: #949494;">e</span><span style="color: #BB0000;">- 8</span> 1.00<span style="color: #949494;">e</span>+ 0 Gram-p… 5 1</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 3</span> Gram-negative 9.99<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> 1.42<span style="color: #949494;">e</span><span style="color: #BB0000;">- 3</span> Gram-n… 5 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 4</span> Gram-positive 2.22<span style="color: #949494;">e</span><span style="color: #BB0000;">-16</span> 1 <span style="color: #949494;">e</span>+ 0 Gram-p… 5 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 5</span> Gram-negative 9.46<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> 5.42<span style="color: #949494;">e</span><span style="color: #BB0000;">- 2</span> Gram-n… 5 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 6</span> Gram-positive 1.07<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> 8.93<span style="color: #949494;">e</span><span style="color: #BB0000;">- 1</span> Gram-p… 5 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 7</span> Gram-positive 2.22<span style="color: #949494;">e</span><span style="color: #BB0000;">-16</span> 1 <span style="color: #949494;">e</span>+ 0 Gram-p… 1 5</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 8</span> Gram-positive 2.22<span style="color: #949494;">e</span><span style="color: #BB0000;">-16</span> 1 <span style="color: #949494;">e</span>+ 0 Gram-p… 4 4</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 9</span> Gram-negative 1 <span style="color: #949494;">e</span>+ 0 2.22<span style="color: #949494;">e</span><span style="color: #BB0000;">-16</span> Gram-n… 1 1</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">10</span> Gram-positive 6.05<span style="color: #949494;">e</span><span style="color: #BB0000;">-11</span> 1.00<span style="color: #949494;">e</span>+ 0 Gram-p… 4 4</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># ℹ 384 more rows</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># ℹ 18 more variables: AMK <int>, KAN <int>, PEN <int>, OXA <int>, FLC <int>,</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># AMX <int>, AMC <int>, AMP <int>, TZP <int>, CZO <int>, FEP <int>,</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># CXM <int>, FOX <int>, CTX <int>, CAZ <int>, CRO <int>, IPM <int>, MEM <int></span></span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># Evaluate model performance</span></span>
|
|
||||||
<span><span class="va">metrics</span> <span class="op"><-</span> <span class="va">predictions</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">metrics</span><span class="op">(</span>truth <span class="op">=</span> <span class="va">mo</span>, estimate <span class="op">=</span> <span class="va">.pred_class</span><span class="op">)</span> <span class="co"># Calculate performance metrics</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="va">metrics</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># A tibble: 2 × 3</span></span></span>
|
|
||||||
<span><span class="co">#> .metric .estimator .estimate</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><dbl></span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">1</span> accuracy binary 0.995</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">2</span> kap binary 0.989</span></span></code></pre></div>
|
|
||||||
<p><strong>Explanation:</strong></p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code><a href="https://rdrr.io/r/stats/predict.html" class="external-link">predict()</a></code> generates predictions on the testing
|
|
||||||
set.</li>
|
|
||||||
<li>
|
|
||||||
<code>metrics()</code> computes evaluation metrics like accuracy and
|
|
||||||
kappa.</li>
|
|
||||||
</ul>
|
|
||||||
<p>It appears we can predict the Gram based on AMR results with a 99.5%
|
|
||||||
accuracy based on AMR results of aminoglycosides and beta-lactam
|
|
||||||
antibiotics. The ROC curve looks like this:</p>
|
|
||||||
<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">predictions</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu">roc_curve</span><span class="op">(</span><span class="va">mo</span>, <span class="va">`.pred_Gram-negative`</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/autoplot.html" class="external-link">autoplot</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="AMR_with_tidymodels_files/figure-html/unnamed-chunk-8-1.png" width="720"></p>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="conclusion">
|
|
||||||
<strong>Conclusion</strong><a class="anchor" aria-label="anchor" href="#conclusion"></a>
|
|
||||||
</h3>
|
|
||||||
<p>In this post, we demonstrated how to build a machine learning
|
|
||||||
pipeline with the <code>tidymodels</code> framework and the
|
|
||||||
<code>AMR</code> package. By combining selector functions like
|
|
||||||
<code><a href="../reference/antimicrobial_selectors.html">aminoglycosides()</a></code> and <code><a href="../reference/antimicrobial_selectors.html">betalactams()</a></code> with
|
|
||||||
<code>tidymodels</code>, we efficiently prepared data, trained a model,
|
|
||||||
and evaluated its performance.</p>
|
|
||||||
<p>This workflow is extensible to other antibiotic classes and
|
|
||||||
resistance patterns, empowering users to analyse AMR data systematically
|
|
||||||
and reproducibly.</p>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 37 KiB |
@@ -1,339 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>How to apply EUCAST rules • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="How to apply EUCAST rules">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>How to apply EUCAST rules</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/EUCAST.Rmd" class="external-link"><code>vignettes/EUCAST.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>EUCAST.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a>
|
|
||||||
</h2>
|
|
||||||
<p>What are EUCAST rules? The European Committee on Antimicrobial
|
|
||||||
Susceptibility Testing (EUCAST) states <a href="https://www.eucast.org/expert_rules_and_intrinsic_resistance/" class="external-link">on
|
|
||||||
their website</a>:</p>
|
|
||||||
<blockquote>
|
|
||||||
<p><em>EUCAST expert rules are a tabulated collection of expert
|
|
||||||
knowledge on intrinsic resistances, exceptional resistance phenotypes
|
|
||||||
and interpretive rules that may be applied to antimicrobial
|
|
||||||
susceptibility testing in order to reduce errors and make appropriate
|
|
||||||
recommendations for reporting particular resistances.</em></p>
|
|
||||||
</blockquote>
|
|
||||||
<p>In Europe, a lot of medical microbiological laboratories already
|
|
||||||
apply these rules (<a href="https://www.eurosurveillance.org/content/10.2807/1560-7917.ES2015.20.2.21008" class="external-link">Brown
|
|
||||||
<em>et al.</em>, 2015</a>). Our package features their latest insights
|
|
||||||
on intrinsic resistance and unusual phenotypes (v3.1, 2016).</p>
|
|
||||||
<p>Moreover, the <code><a href="../reference/eucast_rules.html">eucast_rules()</a></code> function we use for this
|
|
||||||
purpose can also apply additional rules, like forcing
|
|
||||||
<help title="ATC: J01CA01">ampicillin</help> = R in isolates when
|
|
||||||
<help title="ATC: J01CR02">amoxicillin/clavulanic acid</help> = R.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="examples">Examples<a class="anchor" aria-label="anchor" href="#examples"></a>
|
|
||||||
</h2>
|
|
||||||
<p>These rules can be used to discard impossible bug-drug combinations
|
|
||||||
in your data. For example, <em>Klebsiella</em> produces beta-lactamase
|
|
||||||
that prevents ampicillin (or amoxicillin) from working against it. In
|
|
||||||
other words, practically every strain of <em>Klebsiella</em> is
|
|
||||||
resistant to ampicillin.</p>
|
|
||||||
<p>Sometimes, laboratory data can still contain such strains with
|
|
||||||
ampicillin being susceptible to ampicillin. This could be because an
|
|
||||||
antibiogram is available before an identification is available, and the
|
|
||||||
antibiogram is then not re-interpreted based on the identification
|
|
||||||
(namely, <em>Klebsiella</em>). EUCAST expert rules solve this, that can
|
|
||||||
be applied using <code><a href="../reference/eucast_rules.html">eucast_rules()</a></code>:</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">oops</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span>
|
|
||||||
<span> mo <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="st">"Klebsiella"</span>,</span>
|
|
||||||
<span> <span class="st">"Escherichia"</span></span>
|
|
||||||
<span> <span class="op">)</span>,</span>
|
|
||||||
<span> ampicillin <span class="op">=</span> <span class="st">"S"</span></span>
|
|
||||||
<span><span class="op">)</span></span>
|
|
||||||
<span><span class="va">oops</span></span>
|
|
||||||
<span><span class="co">#> mo ampicillin</span></span>
|
|
||||||
<span><span class="co">#> 1 Klebsiella S</span></span>
|
|
||||||
<span><span class="co">#> 2 Escherichia S</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="fu"><a href="../reference/eucast_rules.html">eucast_rules</a></span><span class="op">(</span><span class="va">oops</span>, info <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> mo ampicillin</span></span>
|
|
||||||
<span><span class="co">#> 1 Klebsiella S</span></span>
|
|
||||||
<span><span class="co">#> 2 Escherichia S</span></span></code></pre></div>
|
|
||||||
<p>A more convenient function is
|
|
||||||
<code><a href="../reference/mo_property.html">mo_is_intrinsic_resistant()</a></code> that uses the same guideline,
|
|
||||||
but allows to check for one or more specific microorganisms or
|
|
||||||
antimicrobials:</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/mo_property.html">mo_is_intrinsic_resistant</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"Klebsiella"</span>, <span class="st">"Escherichia"</span><span class="op">)</span>,</span>
|
|
||||||
<span> <span class="st">"ampicillin"</span></span>
|
|
||||||
<span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> [1] TRUE FALSE</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="fu"><a href="../reference/mo_property.html">mo_is_intrinsic_resistant</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="st">"Klebsiella"</span>,</span>
|
|
||||||
<span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"ampicillin"</span>, <span class="st">"kanamycin"</span><span class="op">)</span></span>
|
|
||||||
<span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> [1] TRUE FALSE</span></span></code></pre></div>
|
|
||||||
<p>EUCAST rules can not only be used for correction, they can also be
|
|
||||||
used for filling in known resistance and susceptibility based on results
|
|
||||||
of other antimicrobials drugs. This process is called <em>interpretive
|
|
||||||
reading</em>, is basically a form of imputation, and is part of the
|
|
||||||
<code><a href="../reference/eucast_rules.html">eucast_rules()</a></code> function as well:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">data</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span>
|
|
||||||
<span> mo <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="st">"Staphylococcus aureus"</span>,</span>
|
|
||||||
<span> <span class="st">"Enterococcus faecalis"</span>,</span>
|
|
||||||
<span> <span class="st">"Escherichia coli"</span>,</span>
|
|
||||||
<span> <span class="st">"Klebsiella pneumoniae"</span>,</span>
|
|
||||||
<span> <span class="st">"Pseudomonas aeruginosa"</span></span>
|
|
||||||
<span> <span class="op">)</span>,</span>
|
|
||||||
<span> VAN <span class="op">=</span> <span class="st">"-"</span>, <span class="co"># Vancomycin</span></span>
|
|
||||||
<span> AMX <span class="op">=</span> <span class="st">"-"</span>, <span class="co"># Amoxicillin</span></span>
|
|
||||||
<span> COL <span class="op">=</span> <span class="st">"-"</span>, <span class="co"># Colistin</span></span>
|
|
||||||
<span> CAZ <span class="op">=</span> <span class="st">"-"</span>, <span class="co"># Ceftazidime</span></span>
|
|
||||||
<span> CXM <span class="op">=</span> <span class="st">"-"</span>, <span class="co"># Cefuroxime</span></span>
|
|
||||||
<span> PEN <span class="op">=</span> <span class="st">"S"</span>, <span class="co"># Benzylenicillin</span></span>
|
|
||||||
<span> FOX <span class="op">=</span> <span class="st">"S"</span>, <span class="co"># Cefoxitin</span></span>
|
|
||||||
<span> stringsAsFactors <span class="op">=</span> <span class="cn">FALSE</span></span>
|
|
||||||
<span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">data</span></span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left">mo</th>
|
|
||||||
<th align="center">VAN</th>
|
|
||||||
<th align="center">AMX</th>
|
|
||||||
<th align="center">COL</th>
|
|
||||||
<th align="center">CAZ</th>
|
|
||||||
<th align="center">CXM</th>
|
|
||||||
<th align="center">PEN</th>
|
|
||||||
<th align="center">FOX</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Staphylococcus aureus</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">Enterococcus faecalis</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Escherichia coli</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">Klebsiella pneumoniae</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Pseudomonas aeruginosa</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/eucast_rules.html">eucast_rules</a></span><span class="op">(</span><span class="va">data</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<table class="table">
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left">mo</th>
|
|
||||||
<th align="center">VAN</th>
|
|
||||||
<th align="center">AMX</th>
|
|
||||||
<th align="center">COL</th>
|
|
||||||
<th align="center">CAZ</th>
|
|
||||||
<th align="center">CXM</th>
|
|
||||||
<th align="center">PEN</th>
|
|
||||||
<th align="center">FOX</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Staphylococcus aureus</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">Enterococcus faecalis</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Escherichia coli</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">Klebsiella pneumoniae</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">Pseudomonas aeruginosa</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">-</td>
|
|
||||||
<td align="center">R</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
<td align="center">S</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,408 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>How to determine multi-drug resistance (MDR) • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="How to determine multi-drug resistance (MDR)">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>How to determine multi-drug resistance (MDR)</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/MDR.Rmd" class="external-link"><code>vignettes/MDR.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>MDR.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p>With the function <code><a href="../reference/mdro.html">mdro()</a></code>, you can determine which
|
|
||||||
micro-organisms are multi-drug resistant organisms (MDRO).</p>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="type-of-input">Type of input<a class="anchor" aria-label="anchor" href="#type-of-input"></a>
|
|
||||||
</h3>
|
|
||||||
<p>The <code><a href="../reference/mdro.html">mdro()</a></code> function takes a data set as input, such as a
|
|
||||||
regular <code>data.frame</code>. It tries to automatically determine the
|
|
||||||
right columns for info about your isolates, such as the name of the
|
|
||||||
species and all columns with results of antimicrobial agents. See the
|
|
||||||
help page for more info about how to set the right settings for your
|
|
||||||
data with the command <code><a href="../reference/mdro.html">?mdro</a></code>.</p>
|
|
||||||
<p>For WHONET data (and most other data), all settings are automatically
|
|
||||||
set correctly.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="guidelines">Guidelines<a class="anchor" aria-label="anchor" href="#guidelines"></a>
|
|
||||||
</h3>
|
|
||||||
<p>The <code><a href="../reference/mdro.html">mdro()</a></code> function support multiple guidelines. You can
|
|
||||||
select a guideline with the <code>guideline</code> parameter. Currently
|
|
||||||
supported guidelines are (case-insensitive):</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "CMI2012"</code> (default)</p>
|
|
||||||
<p>Magiorakos AP, Srinivasan A <em>et al.</em> “Multidrug-resistant,
|
|
||||||
extensively drug-resistant and pandrug-resistant bacteria: an
|
|
||||||
international expert proposal for interim standard definitions for
|
|
||||||
acquired resistance.” Clinical Microbiology and Infection (2012) (<a href="https://www.clinicalmicrobiologyandinfection.com/article/S1198-743X(14)61632-3/fulltext" class="external-link">link</a>)</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "EUCAST3.2"</code> (or simply
|
|
||||||
<code>guideline = "EUCAST"</code>)</p>
|
|
||||||
<p>The European international guideline - EUCAST Expert Rules Version
|
|
||||||
3.2 “Intrinsic Resistance and Unusual Phenotypes” (<a href="https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2020/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.2_20200225.pdf" class="external-link">link</a>)</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "EUCAST3.1"</code></p>
|
|
||||||
<p>The European international guideline - EUCAST Expert Rules Version
|
|
||||||
3.1 “Intrinsic Resistance and Exceptional Phenotypes Tables” (<a href="https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf" class="external-link">link</a>)</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "TB"</code></p>
|
|
||||||
<p>The international guideline for multi-drug resistant tuberculosis -
|
|
||||||
World Health Organization “Companion handbook to the WHO guidelines for
|
|
||||||
the programmatic management of drug-resistant tuberculosis” (<a href="https://www.who.int/tb/publications/pmdt_companionhandbook/en/" class="external-link">link</a>)</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "MRGN"</code></p>
|
|
||||||
<p>The German national guideline - Mueller <em>et al.</em> (2015)
|
|
||||||
Antimicrobial Resistance and Infection Control 4:7. DOI:
|
|
||||||
10.1186/s13756-015-0047-6</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><code>guideline = "BRMO"</code></p>
|
|
||||||
<p>The Dutch national guideline - Rijksinstituut voor Volksgezondheid en
|
|
||||||
Milieu “WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen)
|
|
||||||
(ZKH)” (<a href="https://www.rivm.nl/wip-richtlijn-brmo-bijzonder-resistente-micro-organismen-zkh" class="external-link">link</a>)</p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>Please suggest your own (country-specific) guidelines by letting us
|
|
||||||
know: <a href="https://github.com/msberends/AMR/issues/new" class="external-link uri">https://github.com/msberends/AMR/issues/new</a>.</p>
|
|
||||||
<div class="section level4">
|
|
||||||
<h4 id="custom-guidelines">Custom Guidelines<a class="anchor" aria-label="anchor" href="#custom-guidelines"></a>
|
|
||||||
</h4>
|
|
||||||
<p>You can also use your own custom guideline. Custom guidelines can be
|
|
||||||
set with the <code><a href="../reference/mdro.html">custom_mdro_guideline()</a></code> function. This is of
|
|
||||||
great importance if you have custom rules to determine MDROs in your
|
|
||||||
hospital, e.g., rules that are dependent on ward, state of contact
|
|
||||||
isolation or other variables in your data.</p>
|
|
||||||
<p>If you are familiar with <code><a href="https://dplyr.tidyverse.org/reference/case_when.html" class="external-link">case_when()</a></code> of the
|
|
||||||
<code>dplyr</code> package, you will recognise the input method to set
|
|
||||||
your own rules. Rules must be set using what R considers to be the
|
|
||||||
‘formula notation’:</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">custom</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mdro.html">custom_mdro_guideline</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="va">CIP</span> <span class="op">==</span> <span class="st">"R"</span> <span class="op">&</span> <span class="va">age</span> <span class="op">></span> <span class="fl">60</span> <span class="op">~</span> <span class="st">"Elderly Type A"</span>,</span>
|
|
||||||
<span> <span class="va">ERY</span> <span class="op">==</span> <span class="st">"R"</span> <span class="op">&</span> <span class="va">age</span> <span class="op">></span> <span class="fl">60</span> <span class="op">~</span> <span class="st">"Elderly Type B"</span></span>
|
|
||||||
<span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>If a row/an isolate matches the first rule, the value after the first
|
|
||||||
<code>~</code> (in this case <em>‘Elderly Type A’</em>) will be set as
|
|
||||||
MDRO value. Otherwise, the second rule will be tried and so on. The
|
|
||||||
maximum number of rules is unlimited.</p>
|
|
||||||
<p>You can print the rules set in the console for an overview. Colours
|
|
||||||
will help reading it if your console supports colours.</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">custom</span></span>
|
|
||||||
<span><span class="co">#> A set of custom MDRO rules:</span></span>
|
|
||||||
<span><span class="co">#> 1. <span style="font-weight: bold;">If </span><span style="color: #0000BB;">CIP</span><span style="color: #080808;"> is </span><span style="color: #080808; background-color: #FF5F5F;"> R </span><span style="color: #080808; font-weight: bold;"> and </span><span style="color: #0000BB;">age</span><span style="color: #080808;"> is higher than </span><span style="color: #0000BB;">60</span><span style="font-weight: bold;"> then: </span><span style="color: #BB0000;">Elderly Type A</span></span></span>
|
|
||||||
<span><span class="co">#> 2. <span style="font-weight: bold;">If </span><span style="color: #0000BB;">ERY</span><span style="color: #080808;"> is </span><span style="color: #080808; background-color: #FF5F5F;"> R </span><span style="color: #080808; font-weight: bold;"> and </span><span style="color: #0000BB;">age</span><span style="color: #080808;"> is higher than </span><span style="color: #0000BB;">60</span><span style="font-weight: bold;"> then: </span><span style="color: #BB0000;">Elderly Type B</span></span></span>
|
|
||||||
<span><span class="co">#> 3. <span style="font-weight: bold;">Otherwise: </span><span style="color: #BB0000;">Negative</span></span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> Unmatched rows will return <span style="color: #BB0000;">NA</span>.</span></span>
|
|
||||||
<span><span class="co">#> Results will be of class 'factor', with ordered levels: Negative < Elderly Type A < Elderly Type B</span></span></code></pre></div>
|
|
||||||
<p>The outcome of the function can be used for the
|
|
||||||
<code>guideline</code> argument in the <code><a href="../reference/mdro.html">mdro()</a></code> function:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">x</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mdro.html">mdro</a></span><span class="op">(</span><span class="va">example_isolates</span>, guideline <span class="op">=</span> <span class="va">custom</span><span class="op">)</span></span>
|
|
||||||
<span><span class="fu"><a href="https://rdrr.io/r/base/table.html" class="external-link">table</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> x</span></span>
|
|
||||||
<span><span class="co">#> Negative Elderly Type A Elderly Type B </span></span>
|
|
||||||
<span><span class="co">#> 1070 198 732</span></span></code></pre></div>
|
|
||||||
<p>The rules set (the <code>custom</code> object in this case) could be
|
|
||||||
exported to a shared file location using <code><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">saveRDS()</a></code> if you
|
|
||||||
collaborate with multiple users. The custom rules set could then be
|
|
||||||
imported using <code><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">readRDS()</a></code>.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="examples">Examples<a class="anchor" aria-label="anchor" href="#examples"></a>
|
|
||||||
</h3>
|
|
||||||
<p>The <code><a href="../reference/mdro.html">mdro()</a></code> function always returns an ordered
|
|
||||||
<code>factor</code> for predefined guidelines. For example, the output
|
|
||||||
of the default guideline by Magiorakos <em>et al.</em> returns a
|
|
||||||
<code>factor</code> with levels ‘Negative’, ‘MDR’, ‘XDR’ or ‘PDR’ in
|
|
||||||
that order.</p>
|
|
||||||
<p>The next example uses the <code>example_isolates</code> data set.
|
|
||||||
This is a data set included with this package and contains full
|
|
||||||
antibiograms of 2,000 microbial isolates. It reflects reality and can be
|
|
||||||
used to practise AMR data analysis. If we test the MDR/XDR/PDR guideline
|
|
||||||
on this data set, we get:</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dplyr.tidyverse.org" class="external-link">dplyr</a></span><span class="op">)</span> <span class="co"># to support pipes: %>%</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/cleaner/" class="external-link">cleaner</a></span><span class="op">)</span> <span class="co"># to create frequency tables</span></span></code></pre></div>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/mdro.html">mdro</a></span><span class="op">(</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="op">)</span> <span class="co"># show frequency table of the result</span></span>
|
|
||||||
<span><span class="co">#> Warning: in <span style="background-color: #EEEEEE;">mdro()</span>: NA introduced for isolates where the available percentage of</span></span>
|
|
||||||
<span><span class="co">#> antimicrobial classes was below 50% (set with <span style="background-color: #EEEEEE;">pct_required_classes</span>)</span></span></code></pre></div>
|
|
||||||
<p><strong>Frequency table</strong></p>
|
|
||||||
<p>Class: factor > ordered (numeric)<br>
|
|
||||||
Length: 2,000<br>
|
|
||||||
Levels: 4: Negative < Multi-drug-resistant (MDR) < Extensively
|
|
||||||
drug-resistant …<br>
|
|
||||||
Available: 1,745 (87.25%, NA: 255 = 12.75%)<br>
|
|
||||||
Unique: 2</p>
|
|
||||||
<table style="width:100%;" class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="4%">
|
|
||||||
<col width="38%">
|
|
||||||
<col width="9%">
|
|
||||||
<col width="12%">
|
|
||||||
<col width="16%">
|
|
||||||
<col width="19%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left"></th>
|
|
||||||
<th align="left">Item</th>
|
|
||||||
<th align="right">Count</th>
|
|
||||||
<th align="right">Percent</th>
|
|
||||||
<th align="right">Cum. Count</th>
|
|
||||||
<th align="right">Cum. Percent</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">1</td>
|
|
||||||
<td align="left">Negative</td>
|
|
||||||
<td align="right">1617</td>
|
|
||||||
<td align="right">92.66%</td>
|
|
||||||
<td align="right">1617</td>
|
|
||||||
<td align="right">92.66%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">2</td>
|
|
||||||
<td align="left">Multi-drug-resistant (MDR)</td>
|
|
||||||
<td align="right">128</td>
|
|
||||||
<td align="right">7.34%</td>
|
|
||||||
<td align="right">1745</td>
|
|
||||||
<td align="right">100.00%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>For another example, I will create a data set to determine multi-drug
|
|
||||||
resistant TB:</p>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># random_sir() is a helper function to generate</span></span>
|
|
||||||
<span><span class="co"># a random vector with values S, I and R</span></span>
|
|
||||||
<span><span class="va">my_TB_data</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span>
|
|
||||||
<span> rifampicin <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> isoniazid <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> gatifloxacin <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> ethambutol <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> pyrazinamide <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> moxifloxacin <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> kanamycin <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span></span>
|
|
||||||
<span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>Because all column names are automatically verified for valid drug
|
|
||||||
names or codes, this would have worked exactly the same way:</p>
|
|
||||||
<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">my_TB_data</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span>
|
|
||||||
<span> RIF <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> INH <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> GAT <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> ETH <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> PZA <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> MFX <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span>,</span>
|
|
||||||
<span> KAN <span class="op">=</span> <span class="fu"><a href="../reference/random.html">random_sir</a></span><span class="op">(</span><span class="fl">5000</span><span class="op">)</span></span>
|
|
||||||
<span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>The data set now looks like this:</p>
|
|
||||||
<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/utils/head.html" class="external-link">head</a></span><span class="op">(</span><span class="va">my_TB_data</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin</span></span>
|
|
||||||
<span><span class="co">#> 1 I R S S S S</span></span>
|
|
||||||
<span><span class="co">#> 2 S S I R R S</span></span>
|
|
||||||
<span><span class="co">#> 3 R I I I R I</span></span>
|
|
||||||
<span><span class="co">#> 4 I S S S S S</span></span>
|
|
||||||
<span><span class="co">#> 5 I I I S I S</span></span>
|
|
||||||
<span><span class="co">#> 6 R S R S I I</span></span>
|
|
||||||
<span><span class="co">#> kanamycin</span></span>
|
|
||||||
<span><span class="co">#> 1 R</span></span>
|
|
||||||
<span><span class="co">#> 2 I</span></span>
|
|
||||||
<span><span class="co">#> 3 S</span></span>
|
|
||||||
<span><span class="co">#> 4 I</span></span>
|
|
||||||
<span><span class="co">#> 5 I</span></span>
|
|
||||||
<span><span class="co">#> 6 I</span></span></code></pre></div>
|
|
||||||
<p>We can now add the interpretation of MDR-TB to our data set. You can
|
|
||||||
use:</p>
|
|
||||||
<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/mdro.html">mdro</a></span><span class="op">(</span><span class="va">my_TB_data</span>, guideline <span class="op">=</span> <span class="st">"TB"</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>or its shortcut <code><a href="../reference/mdro.html">mdr_tb()</a></code>:</p>
|
|
||||||
<div class="sourceCode" id="cb10"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">my_TB_data</span><span class="op">$</span><span class="va">mdr</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mdro.html">mdr_tb</a></span><span class="op">(</span><span class="va">my_TB_data</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ No column found as input for </span><span style="color: #0000BB; background-color: #EEEEEE;">col_mo</span><span style="color: #0000BB;">, </span><span style="color: #0000BB; font-weight: bold;">assuming all rows contain</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB; font-weight: bold;">#> </span><span style="color: #0000BB; font-weight: bold; font-style: italic;">Mycobacterium tuberculosis</span><span style="color: #0000BB; font-weight: bold;">.</span></span></span></code></pre></div>
|
|
||||||
<p>Create a frequency table of the results:</p>
|
|
||||||
<div class="sourceCode" id="cb11"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="va">my_TB_data</span><span class="op">$</span><span class="va">mdr</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><strong>Frequency table</strong></p>
|
|
||||||
<p>Class: factor > ordered (numeric)<br>
|
|
||||||
Length: 5,000<br>
|
|
||||||
Levels: 5: Negative < Mono-resistant < Poly-resistant <
|
|
||||||
Multi-drug-resistant <…<br>
|
|
||||||
Available: 5,000 (100%, NA: 0 = 0%)<br>
|
|
||||||
Unique: 5</p>
|
|
||||||
<table style="width:100%;" class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="4%">
|
|
||||||
<col width="38%">
|
|
||||||
<col width="9%">
|
|
||||||
<col width="12%">
|
|
||||||
<col width="16%">
|
|
||||||
<col width="19%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left"></th>
|
|
||||||
<th align="left">Item</th>
|
|
||||||
<th align="right">Count</th>
|
|
||||||
<th align="right">Percent</th>
|
|
||||||
<th align="right">Cum. Count</th>
|
|
||||||
<th align="right">Cum. Percent</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">1</td>
|
|
||||||
<td align="left">Mono-resistant</td>
|
|
||||||
<td align="right">3223</td>
|
|
||||||
<td align="right">64.46%</td>
|
|
||||||
<td align="right">3223</td>
|
|
||||||
<td align="right">64.46%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">2</td>
|
|
||||||
<td align="left">Negative</td>
|
|
||||||
<td align="right">967</td>
|
|
||||||
<td align="right">19.34%</td>
|
|
||||||
<td align="right">4190</td>
|
|
||||||
<td align="right">83.80%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">3</td>
|
|
||||||
<td align="left">Multi-drug-resistant</td>
|
|
||||||
<td align="right">454</td>
|
|
||||||
<td align="right">9.08%</td>
|
|
||||||
<td align="right">4644</td>
|
|
||||||
<td align="right">92.88%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">4</td>
|
|
||||||
<td align="left">Poly-resistant</td>
|
|
||||||
<td align="right">245</td>
|
|
||||||
<td align="right">4.90%</td>
|
|
||||||
<td align="right">4889</td>
|
|
||||||
<td align="right">97.78%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">5</td>
|
|
||||||
<td align="left">Extensively drug-resistant</td>
|
|
||||||
<td align="right">111</td>
|
|
||||||
<td align="right">2.22%</td>
|
|
||||||
<td align="right">5000</td>
|
|
||||||
<td align="right">100.00%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,250 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>How to conduct principal component analysis (PCA) for AMR • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="How to conduct principal component analysis (PCA) for AMR">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>How to conduct principal component analysis (PCA) for AMR</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/PCA.Rmd" class="external-link"><code>vignettes/PCA.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>PCA.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p><strong>NOTE: This page will be updated soon, as the pca() function
|
|
||||||
is currently being developed.</strong></p>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="transforming">Transforming<a class="anchor" aria-label="anchor" href="#transforming"></a>
|
|
||||||
</h2>
|
|
||||||
<p>For PCA, we need to transform our AMR data first. This is what the
|
|
||||||
<code>example_isolates</code> data set in this package looks like:</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/AMR/">AMR</a></span><span class="op">)</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dplyr.tidyverse.org" class="external-link">dplyr</a></span><span class="op">)</span></span>
|
|
||||||
<span><span class="fu"><a href="https://pillar.r-lib.org/reference/glimpse.html" class="external-link">glimpse</a></span><span class="op">(</span><span class="va">example_isolates</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> Rows: 2,000</span></span>
|
|
||||||
<span><span class="co">#> Columns: 46</span></span>
|
|
||||||
<span><span class="co">#> $ date <span style="color: #949494; font-style: italic;"><date></span> 2002-01-02, 2002-01-03, 2002-01-07, 2002-01-07, 2002-01-13, 2…</span></span>
|
|
||||||
<span><span class="co">#> $ patient <span style="color: #949494; font-style: italic;"><chr></span> "A77334", "A77334", "067927", "067927", "067927", "067927", "4…</span></span>
|
|
||||||
<span><span class="co">#> $ age <span style="color: #949494; font-style: italic;"><dbl></span> 65, 65, 45, 45, 45, 45, 78, 78, 45, 79, 67, 67, 71, 71, 75, 50…</span></span>
|
|
||||||
<span><span class="co">#> $ gender <span style="color: #949494; font-style: italic;"><chr></span> "F", "F", "F", "F", "F", "F", "M", "M", "F", "F", "M", "M", "M…</span></span>
|
|
||||||
<span><span class="co">#> $ ward <span style="color: #949494; font-style: italic;"><chr></span> "Clinical", "Clinical", "ICU", "ICU", "ICU", "ICU", "Clinical"…</span></span>
|
|
||||||
<span><span class="co">#> $ mo <span style="color: #949494; font-style: italic;"><mo></span> "B_ESCHR_COLI", "B_ESCHR_COLI", "B_STPHY_EPDR", "B_STPHY_EPDR",…</span></span>
|
|
||||||
<span><span class="co">#> $ PEN <span style="color: #949494; font-style: italic;"><sir></span> R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, S,…</span></span>
|
|
||||||
<span><span class="co">#> $ OXA <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ FLC <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, S, S, R, S, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R…</span></span>
|
|
||||||
<span><span class="co">#> $ AMX <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ AMC <span style="color: #949494; font-style: italic;"><sir></span> I, I, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, I, I, R, I, I, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ AMP <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ TZP <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ CZO <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, <span style="color: #BB0000;">NA</span>,…</span></span>
|
|
||||||
<span><span class="co">#> $ FEP <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ CXM <span style="color: #949494; font-style: italic;"><sir></span> I, I, R, R, R, R, S, S, R, S, S, S, S, S, <span style="color: #BB0000;">NA</span>, S, S, R, R, S, S…</span></span>
|
|
||||||
<span><span class="co">#> $ FOX <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, <span style="color: #BB0000;">NA</span>,…</span></span>
|
|
||||||
<span><span class="co">#> $ CTX <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, S, S…</span></span>
|
|
||||||
<span><span class="co">#> $ CAZ <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, R, R, R, R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, R, R, …</span></span>
|
|
||||||
<span><span class="co">#> $ CRO <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, S, S…</span></span>
|
|
||||||
<span><span class="co">#> $ GEN <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ TOB <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ AMK <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ KAN <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ TMP <span style="color: #949494; font-style: italic;"><sir></span> R, R, S, S, R, R, R, R, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, S, S, S, R, R, R, …</span></span>
|
|
||||||
<span><span class="co">#> $ SXT <span style="color: #949494; font-style: italic;"><sir></span> R, R, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, S, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ NIT <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R,…</span></span>
|
|
||||||
<span><span class="co">#> $ FOS <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ LNZ <span style="color: #949494; font-style: italic;"><sir></span> R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ CIP <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S…</span></span>
|
|
||||||
<span><span class="co">#> $ MFX <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ VAN <span style="color: #949494; font-style: italic;"><sir></span> R, R, S, S, S, S, S, S, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, S, S, S, …</span></span>
|
|
||||||
<span><span class="co">#> $ TEC <span style="color: #949494; font-style: italic;"><sir></span> R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, <span style="color: #BB0000;">N</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ TCY <span style="color: #949494; font-style: italic;"><sir></span> R, R, S, S, S, S, S, S, S, I, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, I, R, R, S, I, R, …</span></span>
|
|
||||||
<span><span class="co">#> $ TGC <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, S, S, S, S, S, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, S, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ DOX <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, S, S, S, S, S, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, S, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ ERY <span style="color: #949494; font-style: italic;"><sir></span> R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,…</span></span>
|
|
||||||
<span><span class="co">#> $ CLI <span style="color: #949494; font-style: italic;"><sir></span> R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ AZM <span style="color: #949494; font-style: italic;"><sir></span> R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,…</span></span>
|
|
||||||
<span><span class="co">#> $ IPM <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, S, S, <span style="color: #BB0000;">NA</span>, S, S…</span></span>
|
|
||||||
<span><span class="co">#> $ MEM <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ MTR <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ CHL <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ COL <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, R, R, R, R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, …</span></span>
|
|
||||||
<span><span class="co">#> $ MUP <span style="color: #949494; font-style: italic;"><sir></span> <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>…</span></span>
|
|
||||||
<span><span class="co">#> $ RIF <span style="color: #949494; font-style: italic;"><sir></span> R, R, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, <span style="color: #BB0000;">NA</span>, R, R, R, R, R, <span style="color: #BB0000;">N</span>…</span></span></code></pre></div>
|
|
||||||
<p>Now to transform this to a data set with only resistance percentages
|
|
||||||
per taxonomic order and genus:</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">resistance_data</span> <span class="op"><-</span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/group_by.html" class="external-link">group_by</a></span><span class="op">(</span></span>
|
|
||||||
<span> order <span class="op">=</span> <span class="fu"><a href="../reference/mo_property.html">mo_order</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span>, <span class="co"># group on anything, like order</span></span>
|
|
||||||
<span> genus <span class="op">=</span> <span class="fu"><a href="../reference/mo_property.html">mo_genus</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span></span>
|
|
||||||
<span> <span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="co"># and genus as we do here</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/summarise_all.html" class="external-link">summarise_if</a></span><span class="op">(</span><span class="va">is.sir</span>, <span class="va">resistance</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="co"># then get resistance of all drugs</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/select.html" class="external-link">select</a></span><span class="op">(</span></span>
|
|
||||||
<span> <span class="va">order</span>, <span class="va">genus</span>, <span class="va">AMC</span>, <span class="va">CXM</span>, <span class="va">CTX</span>,</span>
|
|
||||||
<span> <span class="va">CAZ</span>, <span class="va">GEN</span>, <span class="va">TOB</span>, <span class="va">TMP</span>, <span class="va">SXT</span></span>
|
|
||||||
<span> <span class="op">)</span> <span class="co"># and select only relevant columns</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="fu"><a href="https://rdrr.io/r/utils/head.html" class="external-link">head</a></span><span class="op">(</span><span class="va">resistance_data</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># A tibble: 6 × 10</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># Groups: order [5]</span></span></span>
|
|
||||||
<span><span class="co">#> order genus AMC CXM CTX CAZ GEN TOB TMP SXT</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">1</span> (unknown order) (unknown ge… <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">2</span> Actinomycetales Schaalia <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">3</span> Bacteroidales Bacteroides <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">4</span> Campylobacterales Campylobact… <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">5</span> Caryophanales Gemella <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">6</span> Caryophanales Listeria <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span></span></span></code></pre></div>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="perform-principal-component-analysis">Perform principal component analysis<a class="anchor" aria-label="anchor" href="#perform-principal-component-analysis"></a>
|
|
||||||
</h2>
|
|
||||||
<p>The new <code><a href="../reference/pca.html">pca()</a></code> function will automatically filter on rows
|
|
||||||
that contain numeric values in all selected variables, so we now only
|
|
||||||
need to do:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">pca_result</span> <span class="op"><-</span> <span class="fu"><a href="../reference/pca.html">pca</a></span><span class="op">(</span><span class="va">resistance_data</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #0000BB;">ℹ Columns selected for PCA: "</span><span style="color: #0000BB; font-weight: bold;">AMC</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CAZ</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CTX</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CXM</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">GEN</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">SXT</span><span style="color: #0000BB;">",</span></span></span>
|
|
||||||
<span><span class="co"><span style="color: #0000BB;">#> "</span><span style="color: #0000BB; font-weight: bold;">TMP</span><span style="color: #0000BB;">", and "</span><span style="color: #0000BB; font-weight: bold;">TOB</span><span style="color: #0000BB;">". Total observations available: 7.</span></span></span></code></pre></div>
|
|
||||||
<p>The result can be reviewed with the good old <code><a href="https://rdrr.io/r/base/summary.html" class="external-link">summary()</a></code>
|
|
||||||
function:</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/summary.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span>
|
|
||||||
<span><span class="co">#> Groups (n=4, named as 'order'):</span></span>
|
|
||||||
<span><span class="co">#> [1] "Caryophanales" "Enterobacterales" "Lactobacillales" "Pseudomonadales"</span></span>
|
|
||||||
<span><span class="co">#> Importance of components:</span></span>
|
|
||||||
<span><span class="co">#> PC1 PC2 PC3 PC4 PC5 PC6 PC7</span></span>
|
|
||||||
<span><span class="co">#> Standard deviation 2.1539 1.6807 0.6138 0.33879 0.20808 0.03140 1.232e-16</span></span>
|
|
||||||
<span><span class="co">#> Proportion of Variance 0.5799 0.3531 0.0471 0.01435 0.00541 0.00012 0.000e+00</span></span>
|
|
||||||
<span><span class="co">#> Cumulative Proportion 0.5799 0.9330 0.9801 0.99446 0.99988 1.00000 1.000e+00</span></span></code></pre></div>
|
|
||||||
<pre><code><span><span class="co">#> Groups (n=4, named as 'order'):</span></span>
|
|
||||||
<span><span class="co">#> [1] "Caryophanales" "Enterobacterales" "Lactobacillales" "Pseudomonadales"</span></span></code></pre>
|
|
||||||
<p>Good news. The first two components explain a total of 93.3% of the
|
|
||||||
variance (see the PC1 and PC2 values of the <em>Proportion of
|
|
||||||
Variance</em>. We can create a so-called biplot with the base R
|
|
||||||
<code><a href="https://rdrr.io/r/stats/biplot.html" class="external-link">biplot()</a></code> function, to see which antimicrobial resistance
|
|
||||||
per drug explain the difference per microorganism.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="plotting-the-results">Plotting the results<a class="anchor" aria-label="anchor" href="#plotting-the-results"></a>
|
|
||||||
</h2>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/biplot.html" class="external-link">biplot</a></span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="PCA_files/figure-html/unnamed-chunk-5-1.png" width="750"></p>
|
|
||||||
<p>But we can’t see the explanation of the points. Perhaps this works
|
|
||||||
better with our new <code><a href="../reference/ggplot_pca.html">ggplot_pca()</a></code> function, that
|
|
||||||
automatically adds the right labels and even groups:</p>
|
|
||||||
<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/ggplot_pca.html">ggplot_pca</a></span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="PCA_files/figure-html/unnamed-chunk-6-1.png" width="750"></p>
|
|
||||||
<p>You can also print an ellipse per group, and edit the appearance:</p>
|
|
||||||
<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/ggplot_pca.html">ggplot_pca</a></span><span class="op">(</span><span class="va">pca_result</span>, ellipse <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span> <span class="op">+</span></span>
|
|
||||||
<span> <span class="fu">ggplot2</span><span class="fu">::</span><span class="fu"><a href="https://ggplot2.tidyverse.org/reference/labs.html" class="external-link">labs</a></span><span class="op">(</span>title <span class="op">=</span> <span class="st">"An AMR/PCA biplot!"</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="PCA_files/figure-html/unnamed-chunk-7-1.png" width="750"></p>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 93 KiB |
@@ -1,340 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>How to work with WHONET data • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="How to work with WHONET data">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>How to work with WHONET data</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/WHONET.Rmd" class="external-link"><code>vignettes/WHONET.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>WHONET.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="import-of-data">Import of data<a class="anchor" aria-label="anchor" href="#import-of-data"></a>
|
|
||||||
</h3>
|
|
||||||
<p>This tutorial assumes you already imported the WHONET data with
|
|
||||||
e.g. the <a href="https://readxl.tidyverse.org/" class="external-link"><code>readxl</code>
|
|
||||||
package</a>. In RStudio, this can be done using the menu button ‘Import
|
|
||||||
Dataset’ in the tab ‘Environment’. Choose the option ‘From Excel’ and
|
|
||||||
select your exported file. Make sure date fields are imported
|
|
||||||
correctly.</p>
|
|
||||||
<p>An example syntax could look like this:</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://readxl.tidyverse.org" class="external-link">readxl</a></span><span class="op">)</span></span>
|
|
||||||
<span><span class="va">data</span> <span class="op"><-</span> <span class="fu"><a href="https://readxl.tidyverse.org/reference/read_excel.html" class="external-link">read_excel</a></span><span class="op">(</span>path <span class="op">=</span> <span class="st">"path/to/your/file.xlsx"</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>This package comes with an <a href="https://msberends.github.io/AMR/reference/WHONET.html">example
|
|
||||||
data set <code>WHONET</code></a>. We will use it for this analysis.</p>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="preparation">Preparation<a class="anchor" aria-label="anchor" href="#preparation"></a>
|
|
||||||
</h3>
|
|
||||||
<p>First, load the relevant packages if you did not yet did this. I use
|
|
||||||
the tidyverse for all of my analyses. All of them. If you don’t know it
|
|
||||||
yet, I suggest you read about it on their website: <a href="https://www.tidyverse.org/" class="external-link uri">https://www.tidyverse.org/</a>.</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dplyr.tidyverse.org" class="external-link">dplyr</a></span><span class="op">)</span> <span class="co"># part of tidyverse</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://ggplot2.tidyverse.org" class="external-link">ggplot2</a></span><span class="op">)</span> <span class="co"># part of tidyverse</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/AMR/">AMR</a></span><span class="op">)</span> <span class="co"># this package</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/cleaner/" class="external-link">cleaner</a></span><span class="op">)</span> <span class="co"># to create frequency tables</span></span></code></pre></div>
|
|
||||||
<p>We will have to transform some variables to simplify and automate the
|
|
||||||
analysis:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Microorganisms should be transformed to our own microorganism codes
|
|
||||||
(called an <code>mo</code>) using <a href="https://msberends.github.io/AMR/reference/catalogue_of_life">our
|
|
||||||
Catalogue of Life reference data set</a>, which contains all ~70,000
|
|
||||||
microorganisms from the taxonomic kingdoms Bacteria, Fungi and Protozoa.
|
|
||||||
We do the tranformation with <code><a href="../reference/as.mo.html">as.mo()</a></code>. This function also
|
|
||||||
recognises almost all WHONET abbreviations of microorganisms.</li>
|
|
||||||
<li>Antimicrobial results or interpretations have to be clean and valid.
|
|
||||||
In other words, they should only contain values <code>"S"</code>,
|
|
||||||
<code>"I"</code> or <code>"R"</code>. That is exactly where the
|
|
||||||
<code><a href="../reference/as.sir.html">as.sir()</a></code> function is for.</li>
|
|
||||||
</ul>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># transform variables</span></span>
|
|
||||||
<span><span class="va">data</span> <span class="op"><-</span> <span class="va">WHONET</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="co"># get microbial ID based on given organism</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate.html" class="external-link">mutate</a></span><span class="op">(</span>mo <span class="op">=</span> <span class="fu"><a href="../reference/as.mo.html">as.mo</a></span><span class="op">(</span><span class="va">Organism</span><span class="op">)</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="co"># transform everything from "AMP_ND10" to "CIP_EE" to the new `sir` class</span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate_all.html" class="external-link">mutate_at</a></span><span class="op">(</span><span class="fu"><a href="https://dplyr.tidyverse.org/reference/vars.html" class="external-link">vars</a></span><span class="op">(</span><span class="va">AMP_ND10</span><span class="op">:</span><span class="va">CIP_EE</span><span class="op">)</span>, <span class="va">as.sir</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>No errors or warnings, so all values are transformed succesfully.</p>
|
|
||||||
<p>We also created a package dedicated to data cleaning and checking,
|
|
||||||
called the <code>cleaner</code> package. Its <code><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq()</a></code>
|
|
||||||
function can be used to create frequency tables.</p>
|
|
||||||
<p>So let’s check our data, with a couple of frequency tables:</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># our newly created `mo` variable, put in the mo_name() function</span></span>
|
|
||||||
<span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="fu"><a href="../reference/mo_property.html">mo_name</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span>, nmax <span class="op">=</span> <span class="fl">10</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><strong>Frequency table</strong></p>
|
|
||||||
<p>Class: character<br>
|
|
||||||
Length: 500<br>
|
|
||||||
Available: 500 (100%, NA: 0 = 0%)<br>
|
|
||||||
Unique: 38</p>
|
|
||||||
<p>Shortest: 11<br>
|
|
||||||
Longest: 40</p>
|
|
||||||
<table class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="4%">
|
|
||||||
<col width="47%">
|
|
||||||
<col width="7%">
|
|
||||||
<col width="10%">
|
|
||||||
<col width="13%">
|
|
||||||
<col width="15%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left"></th>
|
|
||||||
<th align="left">Item</th>
|
|
||||||
<th align="right">Count</th>
|
|
||||||
<th align="right">Percent</th>
|
|
||||||
<th align="right">Cum. Count</th>
|
|
||||||
<th align="right">Cum. Percent</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">1</td>
|
|
||||||
<td align="left">Escherichia coli</td>
|
|
||||||
<td align="right">245</td>
|
|
||||||
<td align="right">49.0%</td>
|
|
||||||
<td align="right">245</td>
|
|
||||||
<td align="right">49.0%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">2</td>
|
|
||||||
<td align="left">Coagulase-negative Staphylococcus (CoNS)</td>
|
|
||||||
<td align="right">74</td>
|
|
||||||
<td align="right">14.8%</td>
|
|
||||||
<td align="right">319</td>
|
|
||||||
<td align="right">63.8%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">3</td>
|
|
||||||
<td align="left">Staphylococcus epidermidis</td>
|
|
||||||
<td align="right">38</td>
|
|
||||||
<td align="right">7.6%</td>
|
|
||||||
<td align="right">357</td>
|
|
||||||
<td align="right">71.4%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">4</td>
|
|
||||||
<td align="left">Streptococcus pneumoniae</td>
|
|
||||||
<td align="right">31</td>
|
|
||||||
<td align="right">6.2%</td>
|
|
||||||
<td align="right">388</td>
|
|
||||||
<td align="right">77.6%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">5</td>
|
|
||||||
<td align="left">Staphylococcus hominis</td>
|
|
||||||
<td align="right">21</td>
|
|
||||||
<td align="right">4.2%</td>
|
|
||||||
<td align="right">409</td>
|
|
||||||
<td align="right">81.8%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">6</td>
|
|
||||||
<td align="left">Proteus mirabilis</td>
|
|
||||||
<td align="right">9</td>
|
|
||||||
<td align="right">1.8%</td>
|
|
||||||
<td align="right">418</td>
|
|
||||||
<td align="right">83.6%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">7</td>
|
|
||||||
<td align="left">Enterococcus faecium</td>
|
|
||||||
<td align="right">8</td>
|
|
||||||
<td align="right">1.6%</td>
|
|
||||||
<td align="right">426</td>
|
|
||||||
<td align="right">85.2%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">8</td>
|
|
||||||
<td align="left">Staphylococcus capitis urealyticus</td>
|
|
||||||
<td align="right">8</td>
|
|
||||||
<td align="right">1.6%</td>
|
|
||||||
<td align="right">434</td>
|
|
||||||
<td align="right">86.8%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">9</td>
|
|
||||||
<td align="left">Enterobacter cloacae</td>
|
|
||||||
<td align="right">5</td>
|
|
||||||
<td align="right">1.0%</td>
|
|
||||||
<td align="right">439</td>
|
|
||||||
<td align="right">87.8%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">10</td>
|
|
||||||
<td align="left">Enterococcus columbae</td>
|
|
||||||
<td align="right">4</td>
|
|
||||||
<td align="right">0.8%</td>
|
|
||||||
<td align="right">443</td>
|
|
||||||
<td align="right">88.6%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>(omitted 28 entries, n = 57 [11.4%])</p>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># our transformed antibiotic columns</span></span>
|
|
||||||
<span><span class="co"># amoxicillin/clavulanic acid (J01CR02) as an example</span></span>
|
|
||||||
<span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="va">AMC_ND2</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><strong>Frequency table</strong></p>
|
|
||||||
<p>Class: factor > ordered > sir (numeric)<br>
|
|
||||||
Length: 500<br>
|
|
||||||
Levels: 5: S < SDD < I < R < NI<br>
|
|
||||||
Available: 481 (96.2%, NA: 19 = 3.8%)<br>
|
|
||||||
Unique: 3</p>
|
|
||||||
<p>Drug: Amoxicillin/clavulanic acid (AMC, J01CR02)<br>
|
|
||||||
Drug group: Beta-lactams/penicillins<br>
|
|
||||||
%SI: 78.59%</p>
|
|
||||||
<table class="table">
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th align="left"></th>
|
|
||||||
<th align="left">Item</th>
|
|
||||||
<th align="right">Count</th>
|
|
||||||
<th align="right">Percent</th>
|
|
||||||
<th align="right">Cum. Count</th>
|
|
||||||
<th align="right">Cum. Percent</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">1</td>
|
|
||||||
<td align="left">S</td>
|
|
||||||
<td align="right">356</td>
|
|
||||||
<td align="right">74.01%</td>
|
|
||||||
<td align="right">356</td>
|
|
||||||
<td align="right">74.01%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td align="left">2</td>
|
|
||||||
<td align="left">R</td>
|
|
||||||
<td align="right">103</td>
|
|
||||||
<td align="right">21.41%</td>
|
|
||||||
<td align="right">459</td>
|
|
||||||
<td align="right">95.43%</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td align="left">3</td>
|
|
||||||
<td align="left">I</td>
|
|
||||||
<td align="right">22</td>
|
|
||||||
<td align="right">4.57%</td>
|
|
||||||
<td align="right">481</td>
|
|
||||||
<td align="right">100.00%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="a-first-glimpse-at-results">A first glimpse at results<a class="anchor" aria-label="anchor" href="#a-first-glimpse-at-results"></a>
|
|
||||||
</h3>
|
|
||||||
<p>An easy <code>ggplot</code> will already give a lot of information,
|
|
||||||
using the included <code><a href="../reference/ggplot_sir.html">ggplot_sir()</a></code> function:</p>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/group_by.html" class="external-link">group_by</a></span><span class="op">(</span><span class="va">Country</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/select.html" class="external-link">select</a></span><span class="op">(</span><span class="va">Country</span>, <span class="va">AMP_ND2</span>, <span class="va">AMC_ED20</span>, <span class="va">CAZ_ED10</span>, <span class="va">CIP_ED5</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/ggplot_sir.html">ggplot_sir</a></span><span class="op">(</span>translate_ab <span class="op">=</span> <span class="st">"ab"</span>, facet <span class="op">=</span> <span class="st">"Country"</span>, datalabels <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="WHONET_files/figure-html/unnamed-chunk-7-1.png" width="720"></p>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 61 KiB |
@@ -1,94 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Articles • AMR (for R)</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet"><link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="Articles"><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></head><body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto"><li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to"><li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article-index">
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>Articles</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section ">
|
|
||||||
<h3>All vignettes</h3>
|
|
||||||
<div class="section-desc"></div>
|
|
||||||
|
|
||||||
<dl><dt><a href="AMR_for_Python.html">AMR for Python</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="AMR_with_tidymodels.html">AMR with tidymodels</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="AMR.html">How to conduct AMR data analysis</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="datasets.html">Data sets for download / own use</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="EUCAST.html">How to apply EUCAST rules</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="MDR.html">How to determine multi-drug resistance (MDR)</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="PCA.html">How to conduct principal component analysis (PCA) for AMR</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="resistance_predict.html">How to predict antimicrobial resistance</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="welcome_to_AMR.html">Welcome to the `AMR` package</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd><dt><a href="WHONET.html">How to work with WHONET data</a></dt>
|
|
||||||
<dd>
|
|
||||||
</dd></dl></div>
|
|
||||||
</main></div>
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body></html>
|
|
||||||
|
|
||||||
@@ -1,283 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>How to predict antimicrobial resistance • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="How to predict antimicrobial resistance">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="active nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>How to predict antimicrobial resistance</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/resistance_predict.Rmd" class="external-link"><code>vignettes/resistance_predict.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>resistance_predict.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="needed-r-packages">Needed R packages<a class="anchor" aria-label="anchor" href="#needed-r-packages"></a>
|
|
||||||
</h2>
|
|
||||||
<p>As with many uses in R, we need some additional packages for AMR data
|
|
||||||
analysis. Our package works closely together with the <a href="https://www.tidyverse.org" class="external-link">tidyverse packages</a> <a href="https://dplyr.tidyverse.org/" class="external-link"><code>dplyr</code></a> and <a href="https://ggplot2.tidyverse.org" class="external-link"><code>ggplot2</code></a>. The
|
|
||||||
tidyverse tremendously improves the way we conduct data science - it
|
|
||||||
allows for a very natural way of writing syntaxes and creating beautiful
|
|
||||||
plots in R.</p>
|
|
||||||
<p>Our <code>AMR</code> package depends on these packages and even
|
|
||||||
extends their use and functions.</p>
|
|
||||||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dplyr.tidyverse.org" class="external-link">dplyr</a></span><span class="op">)</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://ggplot2.tidyverse.org" class="external-link">ggplot2</a></span><span class="op">)</span></span>
|
|
||||||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/AMR/">AMR</a></span><span class="op">)</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># (if not yet installed, install with:)</span></span>
|
|
||||||
<span><span class="co"># install.packages(c("tidyverse", "AMR"))</span></span></code></pre></div>
|
|
||||||
</div>
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="prediction-analysis">Prediction analysis<a class="anchor" aria-label="anchor" href="#prediction-analysis"></a>
|
|
||||||
</h2>
|
|
||||||
<p>Our package contains a function <code><a href="../reference/resistance_predict.html">resistance_predict()</a></code>,
|
|
||||||
which takes the same input as functions for <a href="./AMR.html">other
|
|
||||||
AMR data analysis</a>. Based on a date column, it calculates cases per
|
|
||||||
year and uses a regression model to predict antimicrobial
|
|
||||||
resistance.</p>
|
|
||||||
<p>It is basically as easy as:</p>
|
|
||||||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="co"># resistance prediction of piperacillin/tazobactam (TZP):</span></span>
|
|
||||||
<span><span class="fu"><a href="../reference/resistance_predict.html">resistance_predict</a></span><span class="op">(</span>tbl <span class="op">=</span> <span class="va">example_isolates</span>, col_date <span class="op">=</span> <span class="st">"date"</span>, col_ab <span class="op">=</span> <span class="st">"TZP"</span>, model <span class="op">=</span> <span class="st">"binomial"</span><span class="op">)</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># or:</span></span>
|
|
||||||
<span><span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">resistance_predict</a></span><span class="op">(</span></span>
|
|
||||||
<span> col_ab <span class="op">=</span> <span class="st">"TZP"</span>,</span>
|
|
||||||
<span> model <span class="op">=</span> <span class="st">"binomial"</span></span>
|
|
||||||
<span> <span class="op">)</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="co"># to bind it to object 'predict_TZP' for example:</span></span>
|
|
||||||
<span><span class="va">predict_TZP</span> <span class="op"><-</span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">resistance_predict</a></span><span class="op">(</span></span>
|
|
||||||
<span> col_ab <span class="op">=</span> <span class="st">"TZP"</span>,</span>
|
|
||||||
<span> model <span class="op">=</span> <span class="st">"binomial"</span></span>
|
|
||||||
<span> <span class="op">)</span></span></code></pre></div>
|
|
||||||
<p>The function will look for a date column itself if
|
|
||||||
<code>col_date</code> is not set.</p>
|
|
||||||
<p>When running any of these commands, a summary of the regression model
|
|
||||||
will be printed unless using
|
|
||||||
<code>resistance_predict(..., info = FALSE)</code>.</p>
|
|
||||||
<p>This text is only a printed summary - the actual result (output) of
|
|
||||||
the function is a <code>data.frame</code> containing for each year: the
|
|
||||||
number of observations, the actual observed resistance, the estimated
|
|
||||||
resistance and the standard error below and above the estimation:</p>
|
|
||||||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">predict_TZP</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># A tibble: 34 × 7</span></span></span>
|
|
||||||
<span><span class="co">#> year value se_min se_max observations observed estimated</span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">*</span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><dbl></span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 1</span> <span style="text-decoration: underline;">2</span>002 0.2 <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 15 0.2 0.056<span style="text-decoration: underline;">2</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 2</span> <span style="text-decoration: underline;">2</span>003 0.062<span style="text-decoration: underline;">5</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 32 0.062<span style="text-decoration: underline;">5</span> 0.061<span style="text-decoration: underline;">6</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 3</span> <span style="text-decoration: underline;">2</span>004 0.085<span style="text-decoration: underline;">4</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 82 0.085<span style="text-decoration: underline;">4</span> 0.067<span style="text-decoration: underline;">6</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 4</span> <span style="text-decoration: underline;">2</span>005 0.05 <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 60 0.05 0.074<span style="text-decoration: underline;">1</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 5</span> <span style="text-decoration: underline;">2</span>006 0.050<span style="text-decoration: underline;">8</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 59 0.050<span style="text-decoration: underline;">8</span> 0.081<span style="text-decoration: underline;">2</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 6</span> <span style="text-decoration: underline;">2</span>007 0.121 <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 66 0.121 0.088<span style="text-decoration: underline;">9</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 7</span> <span style="text-decoration: underline;">2</span>008 0.041<span style="text-decoration: underline;">7</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 72 0.041<span style="text-decoration: underline;">7</span> 0.097<span style="text-decoration: underline;">2</span></span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 8</span> <span style="text-decoration: underline;">2</span>009 0.016<span style="text-decoration: underline;">4</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 61 0.016<span style="text-decoration: underline;">4</span> 0.106 </span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;"> 9</span> <span style="text-decoration: underline;">2</span>010 0.056<span style="text-decoration: underline;">6</span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 53 0.056<span style="text-decoration: underline;">6</span> 0.116 </span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #BCBCBC;">10</span> <span style="text-decoration: underline;">2</span>011 0.183 <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> 93 0.183 0.127 </span></span>
|
|
||||||
<span><span class="co">#> <span style="color: #949494;"># ℹ 24 more rows</span></span></span></code></pre></div>
|
|
||||||
<p>The function <code>plot</code> is available in base R, and can be
|
|
||||||
extended by other packages to depend the output based on the type of
|
|
||||||
input. We extended its function to cope with resistance predictions:</p>
|
|
||||||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/plot.html">plot</a></span><span class="op">(</span><span class="va">predict_TZP</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="resistance_predict_files/figure-html/unnamed-chunk-4-1.png" width="720"></p>
|
|
||||||
<p>This is the fastest way to plot the result. It automatically adds the
|
|
||||||
right axes, error bars, titles, number of available observations and
|
|
||||||
type of model.</p>
|
|
||||||
<p>We also support the <code>ggplot2</code> package with our custom
|
|
||||||
function <code><a href="../reference/resistance_predict.html">ggplot_sir_predict()</a></code> to create more appealing
|
|
||||||
plots:</p>
|
|
||||||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="fu"><a href="../reference/resistance_predict.html">ggplot_sir_predict</a></span><span class="op">(</span><span class="va">predict_TZP</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="resistance_predict_files/figure-html/unnamed-chunk-5-1.png" width="720"></p>
|
|
||||||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span></span>
|
|
||||||
<span><span class="co"># choose for error bars instead of a ribbon</span></span>
|
|
||||||
<span><span class="fu"><a href="../reference/resistance_predict.html">ggplot_sir_predict</a></span><span class="op">(</span><span class="va">predict_TZP</span>, ribbon <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="resistance_predict_files/figure-html/unnamed-chunk-5-2.png" width="720"></p>
|
|
||||||
<div class="section level3">
|
|
||||||
<h3 id="choosing-the-right-model">Choosing the right model<a class="anchor" aria-label="anchor" href="#choosing-the-right-model"></a>
|
|
||||||
</h3>
|
|
||||||
<p>Resistance is not easily predicted; if we look at vancomycin
|
|
||||||
resistance in Gram-positive bacteria, the spread (i.e. standard error)
|
|
||||||
is enormous:</p>
|
|
||||||
<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/filter.html" class="external-link">filter</a></span><span class="op">(</span><span class="fu"><a href="../reference/mo_property.html">mo_gramstain</a></span><span class="op">(</span><span class="va">mo</span>, language <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span> <span class="op">==</span> <span class="st">"Gram-positive"</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">resistance_predict</a></span><span class="op">(</span>col_ab <span class="op">=</span> <span class="st">"VAN"</span>, year_min <span class="op">=</span> <span class="fl">2010</span>, info <span class="op">=</span> <span class="cn">FALSE</span>, model <span class="op">=</span> <span class="st">"binomial"</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">ggplot_sir_predict</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="resistance_predict_files/figure-html/unnamed-chunk-6-1.png" width="720"></p>
|
|
||||||
<p>Vancomycin resistance could be 100% in ten years, but might remain
|
|
||||||
very low.</p>
|
|
||||||
<p>You can define the model with the <code>model</code> parameter. The
|
|
||||||
model chosen above is a generalised linear regression model using a
|
|
||||||
binomial distribution, assuming that a period of zero resistance was
|
|
||||||
followed by a period of increasing resistance leading slowly to more and
|
|
||||||
more resistance.</p>
|
|
||||||
<p>Valid values are:</p>
|
|
||||||
<table class="table">
|
|
||||||
<colgroup>
|
|
||||||
<col width="32%">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="42%">
|
|
||||||
</colgroup>
|
|
||||||
<thead><tr class="header">
|
|
||||||
<th>Input values</th>
|
|
||||||
<th>Function used by R</th>
|
|
||||||
<th>Type of model</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>
|
|
||||||
<code>"binomial"</code> or <code>"binom"</code> or
|
|
||||||
<code>"logit"</code>
|
|
||||||
</td>
|
|
||||||
<td><code>glm(..., family = binomial)</code></td>
|
|
||||||
<td>Generalised linear model with binomial distribution</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td>
|
|
||||||
<code>"loglin"</code> or <code>"poisson"</code>
|
|
||||||
</td>
|
|
||||||
<td><code>glm(..., family = poisson)</code></td>
|
|
||||||
<td>Generalised linear model with poisson distribution</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td>
|
|
||||||
<code>"lin"</code> or <code>"linear"</code>
|
|
||||||
</td>
|
|
||||||
<td><code><a href="https://rdrr.io/r/stats/lm.html" class="external-link">lm()</a></code></td>
|
|
||||||
<td>Linear model</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>For the vancomycin resistance in Gram-positive bacteria, a linear
|
|
||||||
model might be more appropriate:</p>
|
|
||||||
<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/filter.html" class="external-link">filter</a></span><span class="op">(</span><span class="fu"><a href="../reference/mo_property.html">mo_gramstain</a></span><span class="op">(</span><span class="va">mo</span>, language <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span> <span class="op">==</span> <span class="st">"Gram-positive"</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">resistance_predict</a></span><span class="op">(</span>col_ab <span class="op">=</span> <span class="st">"VAN"</span>, year_min <span class="op">=</span> <span class="fl">2010</span>, info <span class="op">=</span> <span class="cn">FALSE</span>, model <span class="op">=</span> <span class="st">"linear"</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
|
||||||
<span> <span class="fu"><a href="../reference/resistance_predict.html">ggplot_sir_predict</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div>
|
|
||||||
<p><img src="resistance_predict_files/figure-html/unnamed-chunk-7-1.png" width="720"></p>
|
|
||||||
<p>The model itself is also available from the object, as an
|
|
||||||
<code>attribute</code>:</p>
|
|
||||||
<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r">
|
|
||||||
<code class="sourceCode R"><span><span class="va">model</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/attributes.html" class="external-link">attributes</a></span><span class="op">(</span><span class="va">predict_TZP</span><span class="op">)</span><span class="op">$</span><span class="va">model</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="fu"><a href="https://rdrr.io/r/base/summary.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">model</span><span class="op">)</span><span class="op">$</span><span class="va">family</span></span>
|
|
||||||
<span><span class="co">#> </span></span>
|
|
||||||
<span><span class="co">#> Family: binomial </span></span>
|
|
||||||
<span><span class="co">#> Link function: logit</span></span>
|
|
||||||
<span></span>
|
|
||||||
<span><span class="fu"><a href="https://rdrr.io/r/base/summary.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">model</span><span class="op">)</span><span class="op">$</span><span class="va">coefficients</span></span>
|
|
||||||
<span><span class="co">#> Estimate Std. Error z value Pr(>|z|)</span></span>
|
|
||||||
<span><span class="co">#> (Intercept) -200.67944891 46.17315349 -4.346237 1.384932e-05</span></span>
|
|
||||||
<span><span class="co">#> year 0.09883005 0.02295317 4.305725 1.664395e-05</span></span></code></pre></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 69 KiB |
@@ -1,209 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<title>Welcome to the `AMR` package • AMR (for R)</title>
|
|
||||||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
|
||||||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
|
||||||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
|
||||||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
|
||||||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
|
||||||
<script src="../extra.js"></script><meta property="og:title" content="Welcome to the `AMR` package">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto">
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="navbar-nav">
|
|
||||||
<li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
|
|
||||||
</form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-article">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="../logo.svg" class="logo" alt=""><h1>Welcome to the `AMR` package</h1>
|
|
||||||
|
|
||||||
|
|
||||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/welcome_to_AMR.Rmd" class="external-link"><code>vignettes/welcome_to_AMR.Rmd</code></a></small>
|
|
||||||
<div class="d-none name"><code>welcome_to_AMR.Rmd</code></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p>Note: to keep the package size as small as possible, we only include
|
|
||||||
this vignette on CRAN. You can read more vignettes on our website about
|
|
||||||
how to conduct AMR data analysis, determine MDROs, find explanation of
|
|
||||||
EUCAST and CLSI breakpoints, and much more: <a href="https://msberends.github.io/AMR/articles/" class="uri">https://msberends.github.io/AMR/articles/</a>.</p>
|
|
||||||
<hr>
|
|
||||||
<p>The <code>AMR</code> package is a <a href="https://msberends.github.io/AMR/#copyright">free and
|
|
||||||
open-source</a> R package with <a href="https://en.wikipedia.org/wiki/Dependency_hell" class="external-link">zero
|
|
||||||
dependencies</a> to simplify the analysis and prediction of
|
|
||||||
Antimicrobial Resistance (AMR) and to work with microbial and
|
|
||||||
antimicrobial data and properties, by using evidence-based methods.
|
|
||||||
<strong>Our aim is to provide a standard</strong> for clean and
|
|
||||||
reproducible AMR data analysis, that can therefore empower
|
|
||||||
epidemiological analyses to continuously enable surveillance and
|
|
||||||
treatment evaluation in any setting. <a href="https://msberends.github.io/AMR/authors.html">Many different
|
|
||||||
researchers</a> from around the globe are continually helping us to make
|
|
||||||
this a successful and durable project!</p>
|
|
||||||
<p>This work was published in the Journal of Statistical Software
|
|
||||||
(Volume 104(3); <a href="https://doi.org/10.18637/jss.v104.i03" class="external-link">DOI
|
|
||||||
10.18637/jss.v104.i03</a>) and formed the basis of two PhD theses (<a href="https://doi.org/10.33612/diss.177417131" class="external-link">DOI
|
|
||||||
10.33612/diss.177417131</a> and <a href="https://doi.org/10.33612/diss.192486375" class="external-link">DOI
|
|
||||||
10.33612/diss.192486375</a>).</p>
|
|
||||||
<p>After installing this package, R knows ~79 000 distinct microbial
|
|
||||||
species and all ~620 antibiotic, antimycotic and antiviral drugs by name
|
|
||||||
and code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC and SNOMED
|
|
||||||
CT), and knows all about valid SIR and MIC values. The integral
|
|
||||||
breakpoint guidelines from CLSI and EUCAST are included from the last 10
|
|
||||||
years. It supports and can read any data format, including WHONET
|
|
||||||
data.</p>
|
|
||||||
<p>With the help of contributors from all corners of the world, the
|
|
||||||
<code>AMR</code> package is available in English, Czech, Chinese,
|
|
||||||
Danish, Dutch, Finnish, French, German, Greek, Italian, Japanese,
|
|
||||||
Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish,
|
|
||||||
Turkish, and Ukrainian. Antimicrobial drug (group) names and colloquial
|
|
||||||
microorganism names are provided in these languages.</p>
|
|
||||||
<p>This package is fully independent of any other R package and works on
|
|
||||||
Windows, macOS and Linux with all versions of R since R-3.0 (April
|
|
||||||
2013). <strong>It was designed to work in any setting, including those
|
|
||||||
with very limited resources</strong>. Since its first public release in
|
|
||||||
early 2018, this package has been downloaded from more than 175
|
|
||||||
countries.</p>
|
|
||||||
<p>This package can be used for:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Reference for the taxonomy of microorganisms, since the package
|
|
||||||
contains all microbial (sub)species from the List of Prokaryotic names
|
|
||||||
with Standing in Nomenclature (LPSN) and the Global Biodiversity
|
|
||||||
Information Facility (GBIF)</li>
|
|
||||||
<li>Interpreting raw MIC and disk diffusion values, based on the latest
|
|
||||||
CLSI or EUCAST guidelines</li>
|
|
||||||
<li>Retrieving antimicrobial drug names, doses and forms of
|
|
||||||
administration from clinical health care records</li>
|
|
||||||
<li>Determining first isolates to be used for AMR data analysis</li>
|
|
||||||
<li>Calculating antimicrobial resistance</li>
|
|
||||||
<li>Determining multi-drug resistance (MDR) / multi-drug resistant
|
|
||||||
organisms (MDRO)</li>
|
|
||||||
<li>Calculating (empirical) susceptibility of both mono therapy and
|
|
||||||
combination therapies</li>
|
|
||||||
<li>Predicting future antimicrobial resistance using regression
|
|
||||||
models</li>
|
|
||||||
<li>Getting properties for any microorganism (like Gram stain, species,
|
|
||||||
genus or family)</li>
|
|
||||||
<li>Getting properties for any antibiotic (like name, code of
|
|
||||||
EARS-Net/ATC/LOINC/PubChem, defined daily dose or trade name)</li>
|
|
||||||
<li>Plotting antimicrobial resistance</li>
|
|
||||||
<li>Applying EUCAST expert rules</li>
|
|
||||||
<li>Getting SNOMED codes of a microorganism, or getting properties of a
|
|
||||||
microorganism based on a SNOMED code</li>
|
|
||||||
<li>Getting LOINC codes of an antibiotic, or getting properties of an
|
|
||||||
antibiotic based on a LOINC code</li>
|
|
||||||
<li>Machine reading the EUCAST and CLSI guidelines from 2011-2020 to
|
|
||||||
translate MIC values and disk diffusion diameters to SIR</li>
|
|
||||||
<li>Principal component analysis for AMR</li>
|
|
||||||
</ul>
|
|
||||||
<p>All reference data sets (about microorganisms, antimicrobials, SIR
|
|
||||||
interpretation, EUCAST rules, etc.) in this <code>AMR</code> package are
|
|
||||||
publicly and freely available. We continually export our data sets to
|
|
||||||
formats for use in R, SPSS, Stata and Excel. We also supply flat files
|
|
||||||
that are machine-readable and suitable for input in any software
|
|
||||||
program, such as laboratory information systems. Please find <a href="https://msberends.github.io/AMR/articles/datasets.html">all
|
|
||||||
download links on our website</a>, which is automatically updated with
|
|
||||||
every code change.</p>
|
|
||||||
<p>This R package was created for both routine data analysis and
|
|
||||||
academic research at the Faculty of Medical Sciences of the <a href="https://www.rug.nl" class="external-link">University of Groningen</a>, in collaboration
|
|
||||||
with non-profit organisations <a href="https://www.certe.nl" class="external-link">Certe
|
|
||||||
Medical Diagnostics and Advice Foundation</a> and <a href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a>, and
|
|
||||||
is being <a href="https://msberends.github.io/AMR/news/">actively and
|
|
||||||
durably maintained</a> by two public healthcare organisations in the
|
|
||||||
Netherlands.</p>
|
|
||||||
<hr>
|
|
||||||
<p><small> This AMR package for R is free, open-source software and
|
|
||||||
licensed under the <a href="https://msberends.github.io/AMR/LICENSE-text.html">GNU General
|
|
||||||
Public License v2.0 (GPL-2)</a>. These requirements are consequently
|
|
||||||
legally binding: modifications must be released under the same license
|
|
||||||
when distributing the package, changes made to the code must be
|
|
||||||
documented, source code must be made available when the package is
|
|
||||||
distributed, and a copy of the license and copyright notice must be
|
|
||||||
included with the package. </small></p>
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,204 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Authors and Citation • AMR (for R)</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="apple-touch-icon-60x60.png"><script src="deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="deps/Lato-0.4.9/font.css" rel="stylesheet"><link href="deps/Fira_Code-0.4.9/font.css" rel="stylesheet"><link href="deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="deps/headroom-0.11.0/headroom.min.js"></script><script src="deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="deps/search-1.0.0/fuse.min.js"></script><script src="deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="pkgdown.js"></script><link href="extra.css" rel="stylesheet"><script src="extra.js"></script><meta property="og:title" content="Authors and Citation"><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></head><body>
|
|
||||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
|
||||||
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
|
||||||
|
|
||||||
<a class="navbar-brand me-2" href="index.html">AMR (for R)</a>
|
|
||||||
|
|
||||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9220</small>
|
|
||||||
|
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
|
||||||
<ul class="navbar-nav me-auto"><li class="nav-item dropdown">
|
|
||||||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to"><li><a class="dropdown-item" href="articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
|
||||||
<li><a class="dropdown-item" href="articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
|
||||||
<li><a class="dropdown-item" href="reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
|
||||||
</ul></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
|
||||||
<li class="active nav-item"><a class="nav-link" href="authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
|
||||||
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
|
|
||||||
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="search.json"></form></li>
|
|
||||||
<li class="nav-item"><a class="nav-link" href="news/index.html"><span class="fa fa-newspaper"></span> Changelog</a></li>
|
|
||||||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fa-github"></span> Source Code</a></li>
|
|
||||||
</ul></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav><div class="container template-citation-authors">
|
|
||||||
<div class="row">
|
|
||||||
<main id="main" class="col-md-9"><div class="page-header">
|
|
||||||
<img src="logo.svg" class="logo" alt=""><h1>Authors and Citation</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section level2">
|
|
||||||
<h2>Authors</h2>
|
|
||||||
|
|
||||||
<ul class="list-unstyled"><li>
|
|
||||||
<p><strong>Matthijs S. Berends</strong>. Author, maintainer. <a href="https://orcid.org/0000-0001-7620-1800" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Dennis Souverein</strong>. Author, contributor. <a href="https://orcid.org/0000-0003-0455-0336" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Erwin E. A. Hassing</strong>. Author, contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Aislinn Cook</strong>. Contributor. <a href="https://orcid.org/0000-0002-9189-7815" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Andrew P. Norgan</strong>. Contributor. <a href="https://orcid.org/0000-0002-2955-2066" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Anita Williams</strong>. Contributor. <a href="https://orcid.org/0000-0002-5295-8451" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Annick Lenglet</strong>. Contributor. <a href="https://orcid.org/0000-0003-2013-8405" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Anthony Underwood</strong>. Contributor. <a href="https://orcid.org/0000-0002-8547-4277" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Anton Mymrikov</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Bart C. Meijer</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Christian F. Luz</strong>. Contributor. <a href="https://orcid.org/0000-0001-5809-5995" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Dmytro Mykhailenko</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Eric H. L. C. M. Hazenberg</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Gwen Knight</strong>. Contributor. <a href="https://orcid.org/0000-0002-7263-9896" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Jason Stull</strong>. Contributor. <a href="https://orcid.org/0000-0002-9028-8153" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Javier Sanchez</strong>. Contributor. <a href="https://orcid.org/0000-0003-2605-8094" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Jonas Salm</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Judith M. Fonville</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Larisse Bolton</strong>. Contributor. <a href="https://orcid.org/0000-0001-7879-2173" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Matthew Saab</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Peter Dutey-Magni</strong>. Contributor. <a href="https://orcid.org/0000-0002-8942-9836" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Rogier P. Schade</strong>. Contributor.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Sofia Ny</strong>. Contributor. <a href="https://orcid.org/0000-0002-2017-1363" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Alex W. Friedrich</strong>. Thesis advisor. <a href="https://orcid.org/0000-0003-4881-038X" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Bhanu N. M. Sinha</strong>. Thesis advisor. <a href="https://orcid.org/0000-0003-1634-0010" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Casper J. Albers</strong>. Thesis advisor. <a href="https://orcid.org/0000-0002-9213-6743" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Corinna Glasner</strong>. Thesis advisor. <a href="https://orcid.org/0000-0003-1241-1328" target="orcid.widget" aria-label="ORCID" class="external-link"><span class="fab fa-orcid orcid" aria-hidden="true"></span></a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
</ul></div>
|
|
||||||
|
|
||||||
<div class="section level2">
|
|
||||||
<h2 id="citation">Citation</h2>
|
|
||||||
<p><small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/inst/CITATION" class="external-link"><code>inst/CITATION</code></a></small></p>
|
|
||||||
|
|
||||||
<p>Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C (2022).
|
|
||||||
“AMR: An R Package for Working with Antimicrobial Resistance Data.”
|
|
||||||
<em>Journal of Statistical Software</em>, <b>104</b>(3), 1–31.
|
|
||||||
<a href="https://doi.org/10.18637/jss.v104.i03" class="external-link">doi:10.18637/jss.v104.i03</a>.
|
|
||||||
</p>
|
|
||||||
<pre>@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},
|
|
||||||
}</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
|
||||||
</nav></aside></div>
|
|
||||||
|
|
||||||
|
|
||||||
<footer><div class="pkgdown-footer-left">
|
|
||||||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pkgdown-footer-right">
|
|
||||||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body></html>
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 1.2 MiB |
@@ -1,54 +0,0 @@
|
|||||||
/* cyrillic-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJV37Nv7g.woff2) format('woff2');
|
|
||||||
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
|
||||||
}
|
|
||||||
/* cyrillic */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJVT7Nv7g.woff2) format('woff2');
|
|
||||||
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
|
||||||
}
|
|
||||||
/* greek-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJVz7Nv7g.woff2) format('woff2');
|
|
||||||
unicode-range: U+1F00-1FFF;
|
|
||||||
}
|
|
||||||
/* greek */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJVP7Nv7g.woff2) format('woff2');
|
|
||||||
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
|
|
||||||
}
|
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJV77Nv7g.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Fira Code';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sJVD7Ng.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(S6uyw4BMUTPHjx4wXg.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: italic;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6u8w4BMUTPHjxsAUi-qJCY.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: italic;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6u8w4BMUTPHjxsAXC-q.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6uyw4BMUTPHjx4wXg.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Lato';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||