1
0
mirror of https://github.com/msberends/AMR.git synced 2024-12-27 12:46:12 +01:00
AMR/reference/as.rsi.html
2022-09-01 13:38:26 +00:00

714 lines
84 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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"><meta name="description" content="Interpret minimum inhibitory concentration (MIC) values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing R/SI values. This transforms the input to a new class rsi, which is an ordered factor with levels S &amp;lt; I &amp;lt; R."><title>Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi • 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.1.3/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><link href="../deps/Fira_Code-0.4.2/font.css" rel="stylesheet"><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- bootstrap-toc --><script src="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.js"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="Interpret MIC and Disk Values, or Clean Raw R/SI Data — as.rsi"><meta property="og:description" content="Interpret minimum inhibitory concentration (MIC) values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing R/SI values. This transforms the input to a new class rsi, which is an ordered factor with levels S &amp;lt; I &amp;lt; R."><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:creator" content="@msberends"><meta name="twitter:site" content="@univgroningen"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar fixed-top navbar-dark navbar-expand-lg bg-primary"><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="">1.8.1.9049</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">
<a class="nav-link" href="../index.html">
<span class="fa fa-home"></span>
Home
</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown--how-to">
<span class="fa fa-question-circle"></span>
How to
</a>
<div class="dropdown-menu" aria-labelledby="dropdown--how-to">
<a class="dropdown-item" href="../articles/AMR.html">
<span class="fa fa-directions"></span>
Conduct AMR analysis
</a>
<a class="dropdown-item" href="../articles/resistance_predict.html">
<span class="fa fa-dice"></span>
Predict antimicrobial resistance
</a>
<a class="dropdown-item" href="../articles/datasets.html">
<span class="fa fa-database"></span>
Data sets for download / own use
</a>
<a class="dropdown-item" href="../articles/PCA.html">
<span class="fa fa-compress"></span>
Conduct principal component analysis for AMR
</a>
<a class="dropdown-item" href="../articles/MDR.html">
<span class="fa fa-skull-crossbones"></span>
Determine multi-drug resistance (MDR)
</a>
<a class="dropdown-item" href="../articles/WHONET.html">
<span class="fa fa-globe-americas"></span>
Work with WHONET data
</a>
<a class="dropdown-item" href="../articles/SPSS.html">
<span class="fa fa-file-upload"></span>
Import data from SPSS/SAS/Stata
</a>
<a class="dropdown-item" href="../articles/EUCAST.html">
<span class="fa fa-exchange-alt"></span>
Apply EUCAST rules
</a>
<a class="dropdown-item" href="../reference/mo_property.html">
<span class="fa fa-bug"></span>
Get properties of a microorganism
</a>
<a class="dropdown-item" href="../reference/ab_property.html">
<span class="fa fa-capsules"></span>
Get properties of an antibiotic
</a>
</div>
</li>
<li class="active 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>
<li class="nav-item">
<a class="nav-link" href="../news/index.html">
<span class="far fa far fa-newspaper"></span>
Changelog
</a>
</li>
</ul><form class="form-inline my-2 my-lg-0" role="search">
<input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="../search.json" id="search-input" placeholder="Search for" autocomplete="off"></form>
<ul class="navbar-nav"><li class="nav-item">
<a class="external-link nav-link" href="https://github.com/msberends/AMR">
<span class="fab fa fab fa-github"></span>
Source Code
</a>
</li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.svg" class="logo" alt=""><h1>Interpret MIC and Disk Values, or Clean Raw R/SI Data</h1>
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/HEAD/R/rsi.R" class="external-link"><code>R/rsi.R</code></a></small>
<div class="d-none name"><code>as.rsi.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Interpret minimum inhibitory concentration (MIC) values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing R/SI values. This transforms the input to a new class <code>rsi</code>, which is an ordered <a href="https://rdrr.io/r/base/factor.html" class="external-link">factor</a> with levels <code>S &lt; I &lt; R</code>.</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">as.rsi</span><span class="op">(</span><span class="va">x</span>, <span class="va">...</span><span class="op">)</span></span>
<span></span>
<span><span class="va">NA_rsi_</span></span>
<span></span>
<span><span class="fu">is.rsi</span><span class="op">(</span><span class="va">x</span><span class="op">)</span></span>
<span></span>
<span><span class="fu">is.rsi.eligible</span><span class="op">(</span><span class="va">x</span>, threshold <span class="op">=</span> <span class="fl">0.05</span><span class="op">)</span></span>
<span></span>
<span><span class="co"># S3 method for mic</span></span>
<span><span class="fu">as.rsi</span><span class="op">(</span></span>
<span> <span class="va">x</span>,</span>
<span> mo <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> ab <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/deparse.html" class="external-link">deparse</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/substitute.html" class="external-link">substitute</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span><span class="op">)</span>,</span>
<span> guideline <span class="op">=</span> <span class="st">"EUCAST"</span>,</span>
<span> uti <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> conserve_capped_values <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> add_intrinsic_resistance <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> reference_data <span class="op">=</span> <span class="fu">AMR</span><span class="fu">::</span><span class="va"><a href="rsi_translation.html">rsi_translation</a></span>,</span>
<span> <span class="va">...</span></span>
<span><span class="op">)</span></span>
<span></span>
<span><span class="co"># S3 method for disk</span></span>
<span><span class="fu">as.rsi</span><span class="op">(</span></span>
<span> <span class="va">x</span>,</span>
<span> mo <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> ab <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/deparse.html" class="external-link">deparse</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/substitute.html" class="external-link">substitute</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span><span class="op">)</span>,</span>
<span> guideline <span class="op">=</span> <span class="st">"EUCAST"</span>,</span>
<span> uti <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> add_intrinsic_resistance <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> reference_data <span class="op">=</span> <span class="fu">AMR</span><span class="fu">::</span><span class="va"><a href="rsi_translation.html">rsi_translation</a></span>,</span>
<span> <span class="va">...</span></span>
<span><span class="op">)</span></span>
<span></span>
<span><span class="co"># S3 method for data.frame</span></span>
<span><span class="fu">as.rsi</span><span class="op">(</span></span>
<span> <span class="va">x</span>,</span>
<span> <span class="va">...</span>,</span>
<span> col_mo <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> guideline <span class="op">=</span> <span class="st">"EUCAST"</span>,</span>
<span> uti <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> conserve_capped_values <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> add_intrinsic_resistance <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> reference_data <span class="op">=</span> <span class="fu">AMR</span><span class="fu">::</span><span class="va"><a href="rsi_translation.html">rsi_translation</a></span></span>
<span><span class="op">)</span></span>
<span></span>
<span><span class="fu">rsi_interpretation_history</span><span class="op">(</span>clean <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="format">Format<a class="anchor" aria-label="anchor" href="#format"></a></h2>
<p>An object of class <code>rsi</code> (inherits from <code>ordered</code>, <code>factor</code>) of length 1.</p>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt>x</dt>
<dd><p>vector of values (for class <code><a href="as.mic.html">mic</a></code>: MIC values in mg/L, for class <code><a href="as.disk.html">disk</a></code>: a disk diffusion radius in millimetres)</p></dd>
<dt>...</dt>
<dd><p>for using on a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a>: names of columns to apply <code>as.rsi()</code> on (supports tidy selection such as <code>column1:column4</code>). Otherwise: arguments passed on to methods.</p></dd>
<dt>threshold</dt>
<dd><p>maximum fraction of invalid antimicrobial interpretations of <code>x</code>, see <em>Examples</em></p></dd>
<dt>mo</dt>
<dd><p>any (vector of) text that can be coerced to valid microorganism codes with <code><a href="as.mo.html">as.mo()</a></code>, can be left empty to determine it automatically</p></dd>
<dt>ab</dt>
<dd><p>any (vector of) text that can be coerced to a valid antimicrobial code with <code><a href="as.ab.html">as.ab()</a></code></p></dd>
<dt>guideline</dt>
<dd><p>defaults to EUCAST 2022 (the latest implemented EUCAST guideline in the <a href="rsi_translation.html">rsi_translation</a> data set), supports EUCAST (2011-2022) and CLSI (2011-2022), see <em>Details</em></p></dd>
<dt>uti</dt>
<dd><p>(Urinary Tract Infection) A vector with <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a>s (<code>TRUE</code> or <code>FALSE</code>) to specify whether a UTI specific interpretation from the guideline should be chosen. For using <code>as.rsi()</code> on a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a>, this can also be a column containing <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a>s or when left blank, the data set will be searched for a column 'specimen', and rows within this column containing 'urin' (such as 'urine', 'urina') will be regarded isolates from a UTI. See <em>Examples</em>.</p></dd>
<dt>conserve_capped_values</dt>
<dd><p>a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> to indicate that MIC values starting with <code>"&gt;"</code> (but not <code>"&gt;="</code>) must always return "R" , and that MIC values starting with <code>"&lt;"</code> (but not <code>"&lt;="</code>) must always return "S"</p></dd>
<dt>add_intrinsic_resistance</dt>
<dd><p><em>(only useful when using a EUCAST guideline)</em> a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> to indicate whether intrinsic antibiotic resistance must also be considered for applicable bug-drug combinations, meaning that e.g. ampicillin will always return "R" in <em>Klebsiella</em> species. Determination is based on the <a href="intrinsic_resistant.html">intrinsic_resistant</a> data set, that itself is based on <a href="https://www.eucast.org/expert_rules_and_expected_phenotypes/" class="external-link">'EUCAST Expert Rules' and 'EUCAST Intrinsic Resistance and Unusual Phenotypes' v3.3</a> (2021).</p></dd>
<dt>reference_data</dt>
<dd><p>a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a> to be used for interpretation, which defaults to the <a href="rsi_translation.html">rsi_translation</a> data set. Changing this argument allows for using own interpretation guidelines. This argument must contain a data set that is equal in structure to the <a href="rsi_translation.html">rsi_translation</a> data set (same column names and column types). Please note that the <code>guideline</code> argument will be ignored when <code>reference_data</code> is manually set.</p></dd>
<dt>col_mo</dt>
<dd><p>column name of the IDs of the microorganisms (see <code><a href="as.mo.html">as.mo()</a></code>), defaults to the first column of class <code><a href="as.mo.html">mo</a></code>. Values will be coerced using <code><a href="as.mo.html">as.mo()</a></code>.</p></dd>
<dt>clean</dt>
<dd><p>a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> to indicate whether previously stored results should be forgotten after returning the 'logbook' with results</p></dd>
</dl></div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>Ordered <a href="https://rdrr.io/r/base/factor.html" class="external-link">factor</a> with new class <code>&lt;rsi&gt;</code></p>
</div>
<div class="section level2">
<h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
<div class="section">
<h3 id="how-it-works">How it Works<a class="anchor" aria-label="anchor" href="#how-it-works"></a></h3>
<p>The <code>as.rsi()</code> function works in four ways:</p><ol><li><p>For <strong>cleaning raw / untransformed data</strong>. The data will be cleaned to only contain values S, I and R and will try its best to determine this with some intelligence. For example, mixed values with R/SI interpretations and MIC values such as <code>"&lt;0.25; S"</code> will be coerced to <code>"S"</code>. Combined interpretations for multiple test methods (as seen in laboratory records) such as <code>"S; S"</code> will be coerced to <code>"S"</code>, but a value like <code>"S; I"</code> will return <code>NA</code> with a warning that the input is unclear.</p></li>
<li><p>For <strong>interpreting minimum inhibitory concentration (MIC) values</strong> according to EUCAST or CLSI. You must clean your MIC values first using <code><a href="as.mic.html">as.mic()</a></code>, that also gives your columns the new data class <code><a href="as.mic.html">mic</a></code>. Also, be sure to have a column with microorganism names or codes. It will be found automatically, but can be set manually using the <code>mo</code> argument.</p><ul><li><p>Using <code>dplyr</code>, R/SI interpretation can be done very easily with either:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>your_data <span class="sc">%&gt;%</span> <span class="fu">mutate_if</span>(is.mic, as.rsi) <span class="co"># until dplyr 1.0.0</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>your_data <span class="sc">%&gt;%</span> <span class="fu">mutate</span>(<span class="fu">across</span>(<span class="fu">where</span>(is.mic), as.rsi)) <span class="co"># since dplyr 1.0.0</span></span></code></pre><p></p></div></li>
<li><p>Operators like "&lt;=" will be stripped before interpretation. When using <code>conserve_capped_values = TRUE</code>, an MIC value of e.g. "&gt;2" will always return "R", even if the breakpoint according to the chosen guideline is "&gt;=4". This is to prevent that capped values from raw laboratory data would not be treated conservatively. The default behaviour (<code>conserve_capped_values = FALSE</code>) considers "&gt;2" to be lower than "&gt;=4" and might in this case return "S" or "I".</p></li>
</ul></li>
<li><p>For <strong>interpreting disk diffusion diameters</strong> according to EUCAST or CLSI. You must clean your disk zones first using <code><a href="as.disk.html">as.disk()</a></code>, that also gives your columns the new data class <code><a href="as.disk.html">disk</a></code>. Also, be sure to have a column with microorganism names or codes. It will be found automatically, but can be set manually using the <code>mo</code> argument.</p><ul><li><p>Using <code>dplyr</code>, R/SI interpretation can be done very easily with either:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>your_data <span class="sc">%&gt;%</span> <span class="fu">mutate_if</span>(is.disk, as.rsi) <span class="co"># until dplyr 1.0.0</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>your_data <span class="sc">%&gt;%</span> <span class="fu">mutate</span>(<span class="fu">across</span>(<span class="fu">where</span>(is.disk), as.rsi)) <span class="co"># since dplyr 1.0.0</span></span></code></pre><p></p></div></li>
</ul></li>
<li><p>For <strong>interpreting a complete data set</strong>, with automatic determination of MIC values, disk diffusion diameters, microorganism names or codes, and antimicrobial test results. This is done very simply by running <code>as.rsi(your_data)</code>.</p></li>
</ol><p>For points 2, 3 and 4: Use <code>rsi_interpretation_history()</code> to retrieve a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a> (or <a href="https://tibble.tidyverse.org/reference/tibble.html" class="external-link">tibble</a> if the <code>tibble</code> package is installed) with all results of the last <code>as.rsi()</code> call.</p>
</div>
<div class="section">
<h3 id="supported-guidelines">Supported Guidelines<a class="anchor" aria-label="anchor" href="#supported-guidelines"></a></h3>
<p>For interpreting MIC values as well as disk diffusion diameters, currently implemented guidelines are EUCAST (2011-2022) and CLSI (2011-2022).</p>
<p>Thus, the <code>guideline</code> argument must be set to e.g., <code>"EUCAST 2022"</code> or <code>"CLSI 2022"</code>. By simply using <code>"EUCAST"</code> (the default) or <code>"CLSI"</code> as input, the latest included version of that guideline will automatically be selected. You can set your own data set using the <code>reference_data</code> argument. The <code>guideline</code> argument will then be ignored.</p>
</div>
<div class="section">
<h3 id="after-interpretation">After Interpretation<a class="anchor" aria-label="anchor" href="#after-interpretation"></a></h3>
<p>After using <code>as.rsi()</code>, you can use the <code><a href="eucast_rules.html">eucast_rules()</a></code> defined by EUCAST to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism.</p>
</div>
<div class="section">
<h3 id="machine-readable-interpretation-guidelines">Machine-Readable Interpretation Guidelines<a class="anchor" aria-label="anchor" href="#machine-readable-interpretation-guidelines"></a></h3>
<p>The repository of this package <a href="https://github.com/msberends/AMR/blob/main/data-raw/rsi_translation.txt" class="external-link">contains a machine-readable version</a> of all guidelines. This is a CSV file consisting of 20,369 rows and 11 columns. This file is machine-readable, since it contains one row for every unique combination of the test method (MIC or disk diffusion), the antimicrobial agent and the microorganism. <strong>This allows for easy implementation of these rules in laboratory information systems (LIS)</strong>. Note that it only contains interpretation guidelines for humans - interpretation guidelines from CLSI for animals were removed.</p>
</div>
<div class="section">
<h3 id="other">Other<a class="anchor" aria-label="anchor" href="#other"></a></h3>
<p>The function <code>is.rsi()</code> detects if the input contains class <code>&lt;rsi&gt;</code>. If the input is a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a>, it iterates over all columns and returns a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> vector.</p>
<p>The function <code>is.rsi.eligible()</code> returns <code>TRUE</code> when a columns contains at most 5% invalid antimicrobial interpretations (not S and/or I and/or R), and <code>FALSE</code> otherwise. The threshold of 5% can be set with the <code>threshold</code> argument. If the input is a <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a>, it iterates over all columns and returns a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> vector.</p>
</div>
<p><code>NA_rsi_</code> is a missing value of the new <code>&lt;rsi&gt;</code> class, analogous to e.g. base <span style="R">R</span>'s <code><a href="https://rdrr.io/r/base/NA.html" class="external-link">NA_character_</a></code>.</p>
</div>
<div class="section level2">
<h2 id="interpretation-of-r-and-s-i">Interpretation of R and S/I<a class="anchor" aria-label="anchor" href="#interpretation-of-r-and-s-i"></a></h2>
<p>In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories R and S/I as shown below (<a href="https://www.eucast.org/newsiandr/" class="external-link">https://www.eucast.org/newsiandr/</a>).</p><ul><li><p><strong>R = Resistant</strong><br>
A microorganism is categorised as <em>Resistant</em> when there is a high likelihood of therapeutic failure even when there is increased exposure. Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.</p></li>
<li><p><strong>S = Susceptible</strong><br>
A microorganism is categorised as <em>Susceptible, standard dosing regimen</em>, when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.</p></li>
<li><p><strong>I = Susceptible, Increased exposure</strong><br>
A microorganism is categorised as <em>Susceptible, Increased exposure</em> when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.</p></li>
</ul><p>This AMR package honours this (new) insight. Use <code><a href="proportion.html">susceptibility()</a></code> (equal to <code><a href="proportion.html">proportion_SI()</a></code>) to determine antimicrobial susceptibility and <code><a href="count.html">count_susceptible()</a></code> (equal to <code><a href="count.html">count_SI()</a></code>) to count susceptible isolates.</p>
</div>
<div class="section level2">
<h2 id="reference-data-publicly-available">Reference Data Publicly Available<a class="anchor" aria-label="anchor" href="#reference-data-publicly-available"></a></h2>
<p>All data sets in this <code>AMR</code> package (about microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) are publicly and freely available for download in the following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, and Stata. We also provide tab-separated plain text files that are machine-readable and suitable for input in any software program, such as laboratory information systems. Please visit <a href="https://msberends.github.io/AMR/articles/datasets.html">our website for the download links</a>. The actual files are of course available on <a href="https://github.com/msberends/AMR/tree/main/data-raw" class="external-link">our GitHub repository</a>.</p>
</div>
<div class="section level2">
<h2 id="see-also">See also<a class="anchor" aria-label="anchor" href="#see-also"></a></h2>
<div class="dont-index"><p><code><a href="as.mic.html">as.mic()</a></code>, <code><a href="as.disk.html">as.disk()</a></code>, <code><a href="as.mo.html">as.mo()</a></code></p></div>
</div>
<div class="section level2">
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="va">example_isolates</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># A tibble: 2,000 × 46</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> date patient age gender ward mo PEN OXA FLC AMX </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494; font-style: italic;">&lt;date&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;dbl&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;mo&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 1</span> 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 2</span> 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 3</span> 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 4</span> 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 5</span> 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 6</span> 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 7</span> 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 8</span> 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 9</span> 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;">10</span> 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># … with 1,990 more rows, and 36 more variables: AMC &lt;rsi&gt;, AMP &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># TZP &lt;rsi&gt;, CZO &lt;rsi&gt;, FEP &lt;rsi&gt;, CXM &lt;rsi&gt;, FOX &lt;rsi&gt;, CTX &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># CAZ &lt;rsi&gt;, CRO &lt;rsi&gt;, GEN &lt;rsi&gt;, TOB &lt;rsi&gt;, AMK &lt;rsi&gt;, KAN &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># TMP &lt;rsi&gt;, SXT &lt;rsi&gt;, NIT &lt;rsi&gt;, FOS &lt;rsi&gt;, LNZ &lt;rsi&gt;, CIP &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># MFX &lt;rsi&gt;, VAN &lt;rsi&gt;, TEC &lt;rsi&gt;, TCY &lt;rsi&gt;, TGC &lt;rsi&gt;, DOX &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># ERY &lt;rsi&gt;, CLI &lt;rsi&gt;, AZM &lt;rsi&gt;, IPM &lt;rsi&gt;, MEM &lt;rsi&gt;, MTR &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># CHL &lt;rsi&gt;, COL &lt;rsi&gt;, MUP &lt;rsi&gt;, RIF &lt;rsi&gt;</span></span>
<span class="r-in"><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">example_isolates</span><span class="op">)</span> <span class="co"># see all R/SI results at a glance</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> date patient age gender </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Min. :2002-01-02 Length:2000 Min. : 0.00 Length:2000 </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1st Qu.:2005-07-31 Class :character 1st Qu.:63.00 Class :character </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Median :2009-07-31 Mode :character Median :74.00 Mode :character </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Mean :2009-11-20 Mean :70.69 </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3rd Qu.:2014-05-30 3rd Qu.:82.00 </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Max. :2017-12-28 Max. :97.00 </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> ward mo PEN </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Length:2000 Class :mo Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class :character &lt;NA&gt; :0 %R :73.7% (n=1201) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Mode :character Unique:90 %SI :26.3% (n=428) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> #1 :B_ESCHR_COLI - %S :25.6% (n=417) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> #2 :B_STPHY_CONS - %I : 0.7% (n=11) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> #3 :B_STPHY_AURS </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> OXA FLC AMX </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :31.2% (n=114) %R :29.5% (n=278) %R :59.6% (n=804) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :68.8% (n=251) %SI :70.5% (n=665) %SI :40.4% (n=546) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :68.8% (n=251) - %S :70.5% (n=665) - %S :40.2% (n=543) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.2% (n=3) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> AMC AMP TZP </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :23.7% (n=446) %R :59.6% (n=804) %R :12.6% (n=126) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :76.3% (n=1433) %SI :40.4% (n=546) %SI :87.4% (n=875) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :71.4% (n=1342) - %S :40.2% (n=543) - %S :86.1% (n=862) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 4.8% (n=91) - %I : 0.2% (n=3) - %I : 1.3% (n=13) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> CZO FEP CXM </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :44.6% (n=199) %R :14.2% (n=103) %R :26.3% (n=470) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :55.4% (n=247) %SI :85.8% (n=621) %SI :73.7% (n=1319) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :54.9% (n=245) - %S :85.6% (n=620) - %S :72.5% (n=1297) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.4% (n=2) - %I : 0.1% (n=1) - %I : 1.2% (n=22) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> FOX CTX CAZ </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :27.4% (n=224) %R :15.5% (n=146) %R :66.5% (n=1204) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :72.6% (n=594) %SI :84.5% (n=797) %SI :33.5% (n=607) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :71.6% (n=586) - %S :84.4% (n=796) - %S :33.5% (n=607) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 1.0% (n=8) - %I : 0.1% (n=1) - %I : 0.0% (n=0) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> CRO GEN TOB </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :15.5% (n=146) %R :24.6% (n=456) %R :34.4% (n=465) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :84.5% (n=797) %SI :75.4% (n=1399) %SI :65.6% (n=886) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :84.4% (n=796) - %S :74.0% (n=1372) - %S :65.1% (n=879) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.1% (n=1) - %I : 1.5% (n=27) - %I : 0.5% (n=7) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> AMK KAN TMP </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :63.7% (n=441) %R :100.0% (n=471) %R :38.1% (n=571) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :36.3% (n=251) %SI : 0.0% (n=0) %SI :61.9% (n=928) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :36.3% (n=251) - %S : 0.0% (n=0) - %S :61.2% (n=918) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.7% (n=10) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> SXT NIT FOS </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :20.5% (n=361) %R :17.1% (n=127) %R :42.2% (n=148) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :79.5% (n=1398) %SI :82.9% (n=616) %SI :57.8% (n=203) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :79.1% (n=1392) - %S :76.0% (n=565) - %S :57.8% (n=203) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.3% (n=6) - %I : 6.9% (n=51) - %I : 0.0% (n=0) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> LNZ CIP MFX </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :69.3% (n=709) %R :16.2% (n=228) %R :33.6% (n=71) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :30.7% (n=314) %SI :83.8% (n=1181) %SI :66.4% (n=140) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :30.7% (n=314) - %S :78.9% (n=1112) - %S :64.5% (n=136) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 4.9% (n=69) - %I : 1.9% (n=4) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> VAN TEC TCY </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :38.3% (n=712) %R :75.7% (n=739) %R :29.8% (n=357) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :61.7% (n=1149) %SI :24.3% (n=237) %SI :70.3% (n=843) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :61.7% (n=1149) - %S :24.3% (n=237) - %S :68.3% (n=820) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 1.9% (n=23) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> TGC DOX ERY </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :12.7% (n=101) %R :27.7% (n=315) %R :57.2% (n=1084) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :87.3% (n=697) %SI :72.3% (n=821) %SI :42.8% (n=810) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :87.3% (n=697) - %S :71.7% (n=814) - %S :42.3% (n=801) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 0.6% (n=7) - %I : 0.5% (n=9) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> CLI AZM IPM </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :61.2% (n=930) %R :57.2% (n=1084) %R : 6.2% (n=55) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :38.8% (n=590) %SI :42.8% (n=810) %SI :93.8% (n=834) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :38.6% (n=586) - %S :42.3% (n=801) - %S :92.7% (n=824) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.3% (n=4) - %I : 0.5% (n=9) - %I : 1.1% (n=10) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> MEM MTR CHL </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R : 5.9% (n=49) %R :14.7% (n=5) %R :21.4% (n=33) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :94.1% (n=780) %SI :85.3% (n=29) %SI :78.6% (n=121) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :94.1% (n=780) - %S :85.3% (n=29) - %S :78.6% (n=121) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 0.0% (n=0) - %I : 0.0% (n=0) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> COL MUP RIF </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class:rsi Class:rsi Class:rsi </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %R :81.2% (n=1331) %R : 5.9% (n=16) %R :69.6% (n=698) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> %SI :18.8% (n=309) %SI :94.1% (n=254) %SI :30.4% (n=305) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %S :18.8% (n=309) - %S :93.0% (n=251) - %S :30.2% (n=303) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> - %I : 0.0% (n=0) - %I : 1.1% (n=3) - %I : 0.2% (n=2) </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># For INTERPRETING disk diffusion and MIC values -----------------------</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># a whole data set, even with combined MIC values and disk zones</span></span></span>
<span class="r-in"><span><span class="va">df</span> <span class="op">&lt;-</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>
<span class="r-in"><span> microorganism <span class="op">=</span> <span class="st">"Escherichia coli"</span>,</span></span>
<span class="r-in"><span> AMP <span class="op">=</span> <span class="fu"><a href="as.mic.html">as.mic</a></span><span class="op">(</span><span class="fl">8</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> CIP <span class="op">=</span> <span class="fu"><a href="as.mic.html">as.mic</a></span><span class="op">(</span><span class="fl">0.256</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> GEN <span class="op">=</span> <span class="fu"><a href="as.disk.html">as.disk</a></span><span class="op">(</span><span class="fl">18</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> TOB <span class="op">=</span> <span class="fu"><a href="as.disk.html">as.disk</a></span><span class="op">(</span><span class="fl">16</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> ERY <span class="op">=</span> <span class="st">"R"</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">as.rsi</span><span class="op">(</span><span class="va">df</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Using column 'microorganism' as input for `col_mo`.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of column 'AMP' (ampicillin) according to EUCAST</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of column 'CIP' (ciprofloxacin) according to</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of column 'GEN' (gentamicin) according</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of column 'TOB' (tobramycin) according</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Assigning class &lt;rsi&gt; to already clean column 'ERY' (erythromycin)...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> microorganism AMP CIP GEN TOB ERY</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1 Escherichia coli S I S S R</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># return a 'logbook' about the results:</span></span></span>
<span class="r-in"><span><span class="fu">rsi_interpretation_history</span><span class="op">(</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># A tibble: 50 × 13</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> datetime index ab_input ab_consid…¹ mo_in…² mo_conside…³ guide…⁴</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494; font-style: italic;">&lt;dttm&gt;</span> <span style="color: #949494; font-style: italic;">&lt;int&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;ab&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;mo&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 1</span> 2022-09-01 <span style="color: #949494;">13:35:41</span> 1 ampicillin AMP Strep … B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 2</span> 2022-09-01 <span style="color: #949494;">13:35:41</span> 1 AMP AMP Escher… B_ESCHR_COLI EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 3</span> 2022-09-01 <span style="color: #949494;">13:35:41</span> 1 CIP CIP Escher… B_ESCHR_COLI EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 4</span> 2022-09-01 <span style="color: #949494;">13:35:41</span> 1 GEN GEN Escher… B_ESCHR_COLI EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 5</span> 2022-09-01 <span style="color: #949494;">13:35:41</span> 1 TOB TOB Escher… B_ESCHR_COLI EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 6</span> 2022-09-01 <span style="color: #949494;">13:35:42</span> 1 AMX AMX B_STRP… B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 7</span> 2022-09-01 <span style="color: #949494;">13:35:42</span> 1 AMX AMX B_STRP… B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 8</span> 2022-09-01 <span style="color: #949494;">13:35:42</span> 2 AMX AMX B_STRP… B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 9</span> 2022-09-01 <span style="color: #949494;">13:35:42</span> 3 AMX AMX B_STRP… B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;">10</span> 2022-09-01 <span style="color: #949494;">13:35:42</span> 4 AMX AMX B_STRP… B_STRPT_PNMN EUCAST…</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># … with 40 more rows, 6 more variables: ref_table &lt;chr&gt;, method &lt;chr&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># breakpoint_S &lt;dbl&gt;, breakpoint_R &lt;dbl&gt;, input &lt;dbl&gt;, interpretation &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># and abbreviated variable names ¹ab_considered, ²mo_input, ³mo_considered,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># ⁴guideline</span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># for single values</span></span></span>
<span class="r-in"><span><span class="fu">as.rsi</span><span class="op">(</span></span></span>
<span class="r-in"><span> x <span class="op">=</span> <span class="fu"><a href="as.mic.html">as.mic</a></span><span class="op">(</span><span class="fl">2</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> mo <span class="op">=</span> <span class="fu"><a href="as.mo.html">as.mo</a></span><span class="op">(</span><span class="st">"S. pneumoniae"</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> ab <span class="op">=</span> <span class="st">"AMP"</span>,</span></span>
<span class="r-in"><span> guideline <span class="op">=</span> <span class="st">"EUCAST"</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Function `as.mo()` is uncertain about "S. pneumoniae" (assuming</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Streptococcus pneumoniae). Run `mo_uncertainties()` to review this.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) according to EUCAST</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class &lt;rsi&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] R</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu">as.rsi</span><span class="op">(</span></span></span>
<span class="r-in"><span> x <span class="op">=</span> <span class="fu"><a href="as.disk.html">as.disk</a></span><span class="op">(</span><span class="fl">18</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> mo <span class="op">=</span> <span class="st">"Strep pneu"</span>, <span class="co"># `mo` will be coerced with as.mo()</span></span></span>
<span class="r-in"><span> ab <span class="op">=</span> <span class="st">"ampicillin"</span>, <span class="co"># and `ab` with as.ab()</span></span></span>
<span class="r-in"><span> guideline <span class="op">=</span> <span class="st">"EUCAST"</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'ampicillin' (AMP, ampicillin)</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class &lt;rsi&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] R</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># \donttest{</span></span></span>
<span class="r-in"><span><span class="co"># the dplyr way</span></span></span>
<span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="st"><a href="https://dplyr.tidyverse.org" class="external-link">"dplyr"</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate_all.html" class="external-link">mutate_if</a></span><span class="op">(</span><span class="va">is.mic</span>, <span class="va">as.rsi</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate_all.html" class="external-link">mutate_if</a></span><span class="op">(</span><span class="kw">function</span><span class="op">(</span><span class="va">x</span><span class="op">)</span> <span class="fu"><a href="as.mic.html">is.mic</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span> <span class="op">|</span> <span class="fu"><a href="as.disk.html">is.disk</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span>, <span class="va">as.rsi</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></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">where</span><span class="op">(</span><span class="va">is.mic</span><span class="op">)</span>, <span class="va">as.rsi</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></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</span><span class="op">:</span><span class="va">TOB</span><span class="op">)</span>, <span class="va">as.rsi</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></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="va">AMP</span><span class="op">:</span><span class="va">TOB</span>, <span class="va">as.rsi</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><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</span><span class="op">:</span><span class="va">TOB</span><span class="op">)</span>, <span class="va">as.rsi</span>, mo <span class="op">=</span> <span class="va">.</span><span class="op">$</span><span class="va">microorganism</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># to include information about urinary tract infections (UTI)</span></span></span>
<span class="r-in"><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>
<span class="r-in"><span> mo <span class="op">=</span> <span class="st">"E. coli"</span>,</span></span>
<span class="r-in"><span> NIT <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="st">"&lt;= 2"</span>, <span class="fl">32</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> from_the_bladder <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="cn">TRUE</span>, <span class="cn">FALSE</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><span> <span class="fu">as.rsi</span><span class="op">(</span>uti <span class="op">=</span> <span class="st">"from_the_bladder"</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><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>
<span class="r-in"><span> mo <span class="op">=</span> <span class="st">"E. coli"</span>,</span></span>
<span class="r-in"><span> NIT <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="st">"&lt;= 2"</span>, <span class="fl">32</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> specimen <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="st">"urine"</span>, <span class="st">"blood"</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><span> <span class="fu">as.rsi</span><span class="op">(</span><span class="op">)</span> <span class="co"># automatically determines urine isolates</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="va">df</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><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</span><span class="op">:</span><span class="va">NIT</span><span class="op">)</span>, <span class="va">as.rsi</span>, mo <span class="op">=</span> <span class="st">"E. coli"</span>, uti <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'GEN' (gentamicin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'TOB' (tobramycin) based on column</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 'microorganism' according to EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'AMP' (ampicillin) according to EUCAST</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of 'CIP' (ciprofloxacin) according to EUCAST</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'GEN' (gentamicin) according to</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting disk diffusion zones of 'TOB' (tobramycin) according to</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Using column 'mo' as input for `col_mo`.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Function `as.mo()` is uncertain about "E. coli" (assuming Escherichia</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> coli). Run `mo_uncertainties()` to review this.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of column 'NIT' (nitrofurantoin) according to</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Assuming value "urine" in column 'specimen' reflects a urinary tract</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> infection.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Use `as.rsi(uti = FALSE)` to prevent this.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Using column 'mo' as input for `col_mo`.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Function `as.mo()` is uncertain about "E. coli" (assuming Escherichia</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> coli). Run `mo_uncertainties()` to review this.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> =&gt; Interpreting MIC values of column 'NIT' (nitrofurantoin) according to</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> EUCAST 2022...</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> OK.</span>
<span class="r-err co"><span class="r-pr">#&gt;</span> <span class="error">Error in mutate_at(., vars(AMP:NIT), as.rsi, mo = "E. coli", uti = TRUE):</span> Can't subset columns that don't exist.</span>
<span class="r-err co"><span class="r-pr">#&gt;</span> <span style="color: #BB0000;"></span> Column `NIT` doesn't exist.</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># For CLEANING existing R/SI values ------------------------------------</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu">as.rsi</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="st">"S"</span>, <span class="st">"I"</span>, <span class="st">"R"</span>, <span class="st">"A"</span>, <span class="st">"B"</span>, <span class="st">"C"</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>in `as.rsi()`: 3 results truncated (50%) that were invalid antimicrobial</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> interpretations: "A", "B" and "C"</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class &lt;rsi&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] S I R &lt;NA&gt; &lt;NA&gt; &lt;NA&gt;</span>
<span class="r-in"><span><span class="fu">as.rsi</span><span class="op">(</span><span class="st">"&lt;= 0.002; S"</span><span class="op">)</span> <span class="co"># will return "S"</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Class &lt;rsi&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] S</span>
<span class="r-in"><span><span class="va">rsi_data</span> <span class="op">&lt;-</span> <span class="fu">as.rsi</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="https://rdrr.io/r/base/rep.html" class="external-link">rep</a></span><span class="op">(</span><span class="st">"S"</span>, <span class="fl">474</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/rep.html" class="external-link">rep</a></span><span class="op">(</span><span class="st">"I"</span>, <span class="fl">36</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/rep.html" class="external-link">rep</a></span><span class="op">(</span><span class="st">"R"</span>, <span class="fl">370</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">is.rsi</span><span class="op">(</span><span class="va">rsi_data</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] TRUE</span>
<span class="r-in"><span><span class="fu"><a href="plot.html">plot</a></span><span class="op">(</span><span class="va">rsi_data</span><span class="op">)</span> <span class="co"># for percentages</span></span></span>
<span class="r-plt img"><img src="as.rsi-1.png" alt="" width="700" height="433"></span>
<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/graphics/barplot.html" class="external-link">barplot</a></span><span class="op">(</span><span class="va">rsi_data</span><span class="op">)</span> <span class="co"># for frequencies</span></span></span>
<span class="r-plt img"><img src="as.rsi-2.png" alt="" width="700" height="433"></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># the dplyr way</span></span></span>
<span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="st"><a href="https://dplyr.tidyverse.org" class="external-link">"dplyr"</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><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">PEN</span><span class="op">:</span><span class="va">RIF</span><span class="op">)</span>, <span class="va">as.rsi</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="co"># same:</span></span></span>
<span class="r-in"><span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><span> <span class="fu">as.rsi</span><span class="op">(</span><span class="va">PEN</span><span class="op">:</span><span class="va">RIF</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># fastest way to transform all columns with already valid AMR results to class `rsi`:</span></span></span>
<span class="r-in"><span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate_all.html" class="external-link">mutate_if</a></span><span class="op">(</span><span class="va">is.rsi.eligible</span>, <span class="va">as.rsi</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># since dplyr 1.0.0, this can also be:</span></span></span>
<span class="r-in"><span> <span class="co"># example_isolates %&gt;%</span></span></span>
<span class="r-in"><span> <span class="co"># mutate(across(where(is.rsi.eligible), as.rsi))</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># A tibble: 2,000 × 46</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> date patient age gender ward mo PEN OXA FLC AMX </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494; font-style: italic;">&lt;date&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;dbl&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;chr&gt;</span> <span style="color: #949494; font-style: italic;">&lt;mo&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span> <span style="color: #949494; font-style: italic;">&lt;rsi&gt;</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 1</span> 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 2</span> 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 3</span> 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 4</span> 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 5</span> 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 6</span> 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 7</span> 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 8</span> 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;"> 9</span> 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #BCBCBC;">10</span> 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># … with 1,990 more rows, and 36 more variables: AMC &lt;rsi&gt;, AMP &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># TZP &lt;rsi&gt;, CZO &lt;rsi&gt;, FEP &lt;rsi&gt;, CXM &lt;rsi&gt;, FOX &lt;rsi&gt;, CTX &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># CAZ &lt;rsi&gt;, CRO &lt;rsi&gt;, GEN &lt;rsi&gt;, TOB &lt;rsi&gt;, AMK &lt;rsi&gt;, KAN &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># TMP &lt;rsi&gt;, SXT &lt;rsi&gt;, NIT &lt;rsi&gt;, FOS &lt;rsi&gt;, LNZ &lt;rsi&gt;, CIP &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># MFX &lt;rsi&gt;, VAN &lt;rsi&gt;, TEC &lt;rsi&gt;, TCY &lt;rsi&gt;, TGC &lt;rsi&gt;, DOX &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># ERY &lt;rsi&gt;, CLI &lt;rsi&gt;, AZM &lt;rsi&gt;, IPM &lt;rsi&gt;, MEM &lt;rsi&gt;, MTR &lt;rsi&gt;,</span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> <span style="color: #949494;"># CHL &lt;rsi&gt;, COL &lt;rsi&gt;, MUP &lt;rsi&gt;, RIF &lt;rsi&gt;</span></span>
<span class="r-in"><span><span class="co"># }</span></span></span>
</code></pre></div>
</div>
</main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p></p><p><code>AMR</code> (for R). Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> in collaboration with non-profit organisations<br><a target="_blank" href="https://www.certe.nl" class="external-link">Certe Medical Diagnostics and Advice Foundation</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a>.</p>
</div>
<div class="pkgdown-footer-right">
<p></p><p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/logos/logo_rug.svg" style="max-width: 200px;"></a></p>
</div>
</footer></div>
</body></html>