<!-- Generated by pkgdown: do not edit by hand --><htmllang="en"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><metaname="description"content='This transforms vectors to a new class mic, which treats the input as decimal numbers, while maintaining operators (such as "&gt;=") and only allowing valid MIC values known to the field of (medical) microbiology.'><title>Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic • AMR (for R)</title><!-- favicons --><linkrel="icon"type="image/png"sizes="16x16"href="../favicon-16x16.png"><linkrel="icon"type="image/png"sizes="32x32"href="../favicon-32x32.png"><linkrel="apple-touch-icon"type="image/png"sizes="180x180"href="../apple-touch-icon.png"><linkrel="apple-touch-icon"type="image/png"sizes="120x120"href="../apple-touch-icon-120x120.png"><linkrel="apple-touch-icon"type="image/png"sizes="76x76"href="../apple-touch-icon-76x76.png"><linkrel="apple-touch-icon"type="image/png"sizes="60x60"href="../apple-touch-icon-60x60.png"><scriptsrc="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><linkhref="../deps/bootstrap-5.3.1/bootstrap.min.css"rel="stylesheet"><scriptsrc="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><linkhref="../deps/Lato-0.4.9/font.css"rel="stylesheet"><linkhref="../deps/Fira_Code-0.4.9/font.css"rel="stylesheet"><!-- Font Awesome icons --><linkrel="stylesheet"href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk="crossorigin="anonymous"><linkrel="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 --><scriptsrc="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js"integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo="crossorigin="anonymous"></script><!-- headroom.js --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js"integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js"integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4="crossorigin="anonymous"></script><!-- clipboard.js --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js"integrity="sha512-7O5pXpc0oCRrxk8RUfDYFgn0nO1t+jLuIOQdOMRp4APB7uZ4vSjspzp5y6YDtDs4VzUSTbWzBFZ/LKJhnyFOKw=="crossorigin="anonymous"referrerpolicy="no-referrer"></script><!-- search --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js"integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A=="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js"integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg=="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js"integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww=="crossorigin="anonymous"></script><!-- pkgdown --><scriptsrc="../pkgdown.js"></script><linkhref="../extra.css"rel="stylesheet"><scriptsrc="../extra.js"></script><metaproperty="og:title"content="Transform Input to Minimum Inhibitory Concentrations (MIC) — as.mic"><metaproperty="og:description"content='Thistransformsvectorstoanewclassmic,whichtreatstheinputasdecimalnumbers,whilemaintainingoperators(suchas"&gt;=")andonlyallowingvalidMICvaluesknowntothefieldof
<p>This transforms vectors to a new class <code>mic</code>, which treats the input as decimal numbers, while maintaining operators (such as ">=") and only allowing valid MIC values known to the field of (medical) microbiology.</p>
<dd><p>a <ahref="https://rdrr.io/r/base/character.html"class="external-link">character</a> or <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> vector</p></dd>
<dt>na.rm</dt>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> indicating whether missing values should be removed</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/character.html"class="external-link">character</a> specifying how to handle operators (such as <code>></code> and <code><=</code>) in the input. Accepts one of three values: <code>"all"</code> (or <code>TRUE</code>) to keep all operators, <code>"none"</code> (or <code>FALSE</code>) to remove all operators, or <code>"edges"</code> to keep operators only at both ends of the range.</p></dd>
<dd><p>a manual range to limit the MIC values, e.g., <code>mic_range = c(0.001, 32)</code>. Use <code>NA</code> to set no limit on one side, e.g., <code>mic_range = c(NA, 32)</code>.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> to indicate whether the <code>mic</code> class should be kept - the default is <code>FALSE</code></p></dd>
<p>Ordered <ahref="https://rdrr.io/r/base/factor.html"class="external-link">factor</a> with additional class <code>mic</code>, that in mathematical operations acts as a <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> vector. Bear in mind that the outcome of any mathematical operation on MICs will return a <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> value.</p>
<p>To interpret MIC values as SIR values, use <code><ahref="as.sir.html">as.sir()</a></code> on MIC values. It supports guidelines from EUCAST (2011-2023) and CLSI (2011-2023).</p>
<p>This class for MIC values is a quite a special data type: formally it is an ordered <ahref="https://rdrr.io/r/base/factor.html"class="external-link">factor</a> with valid MIC values as <ahref="https://rdrr.io/r/base/factor.html"class="external-link">factor</a> levels (to make sure only valid MIC values are retained), but for any mathematical operation it acts as decimal numbers:</p>
<p>This makes it possible to maintain operators that often come with MIC values, such ">=" and "<=", even when filtering using <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> values in data analysis, e.g.:</p>
<spanid="cb1-6"><ahref="#cb1-6"tabindex="-1"></a><spanclass="fu">subset</span>(df, x <spanclass="sc">></span><spanclass="dv">4</span>) <spanclass="co"># or with dplyr: df %>% filter(x > 4)</span></span>
<spanid="cb1-7"><ahref="#cb1-7"tabindex="-1"></a><spanclass="co">#> x hospital</span></span>
<p>All so-called <ahref="https://rdrr.io/r/base/groupGeneric.html"class="external-link">group generic functions</a> are implemented for the MIC class (such as <code>!</code>, <code>!=</code>, <code><</code>, <code>>=</code>, <code><ahref="https://rdrr.io/r/base/Log.html"class="external-link">exp()</a></code>, <code><ahref="https://rdrr.io/r/base/Log.html"class="external-link">log2()</a></code>). Some functions of the <code>stats</code> package are also implemented (such as <code><ahref="https://rdrr.io/r/stats/quantile.html"class="external-link">quantile()</a></code>, <code><ahref="https://rdrr.io/r/stats/median.html"class="external-link">median()</a></code>, <code><ahref="https://rdrr.io/r/stats/fivenum.html"class="external-link">fivenum()</a></code>). Since <code><ahref="https://rdrr.io/r/stats/sd.html"class="external-link">sd()</a></code> and <code><ahref="https://rdrr.io/r/stats/cor.html"class="external-link">var()</a></code> are non-generic functions, these could not be extended. Use <code><ahref="https://rdrr.io/r/stats/mad.html"class="external-link">mad()</a></code> as an alternative, or use e.g. <code>sd(as.numeric(x))</code> where <code>x</code> is your vector of MIC values.</p>
<p>Using <code><ahref="https://rdrr.io/r/base/double.html"class="external-link">as.double()</a></code> or <code><ahref="https://rdrr.io/r/base/numeric.html"class="external-link">as.numeric()</a></code> on MIC values will remove the operators and return a numeric vector. Do <strong>not</strong> use <code><ahref="https://rdrr.io/r/base/integer.html"class="external-link">as.integer()</a></code> on MIC values as by the <spanstyle="R">R</span> convention on <ahref="https://rdrr.io/r/base/factor.html"class="external-link">factor</a>s, it will return the index of the factor levels (which is often useless for regular users).</p>
<p>Use <code><ahref="https://rdatatable.gitlab.io/data.table/reference/fdroplevels.html"class="external-link">droplevels()</a></code> to drop unused levels. At default, it will return a plain factor. Use <code>droplevels(..., as.mic = TRUE)</code> to maintain the <code>mic</code> class.</p>
<p>With <code>rescale_mic()</code>, existing MIC ranges can be limited to a defined range of MIC values. This can be useful to better compare MIC distributions.</p>
<p>For <code>ggplot2</code>, use one of the <code><ahref="plot.html">scale_*_mic()</a></code> functions to plot MIC values. They allows custom MIC ranges and to plot intermediate log2 levels for missing MIC values.</p>
<p><code>NA_mic_</code> is a missing value of the new <code>mic</code> class, analogous to e.g. base <spanstyle="R">R</span>'s <code><ahref="https://rdrr.io/r/base/NA.html"class="external-link">NA_character_</a></code>.</p>
<spanclass="r-in"><span> x <spanclass="op">=</span><spanclass="fu">as.mic</span><spanclass="op">(</span><spanclass="fl">2</span><spanclass="op">)</span>,</span></span>
<spanclass="r-in"><span> mo <spanclass="op">=</span><spanclass="fu"><ahref="as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"Streptococcus pneumoniae"</span><spanclass="op">)</span>,</span></span>
<spanclass="r-in"><span> ab <spanclass="op">=</span><spanclass="st">"AMX"</span>,</span></span>
<spanclass="r-in"><span> x <spanclass="op">=</span><spanclass="fu">as.mic</span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/c.html"class="external-link">c</a></span><spanclass="op">(</span><spanclass="fl">0.01</span>, <spanclass="fl">2</span>, <spanclass="fl">4</span>, <spanclass="fl">8</span><spanclass="op">)</span><spanclass="op">)</span>,</span></span>
<spanclass="r-in"><span> mo <spanclass="op">=</span><spanclass="fu"><ahref="as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"Streptococcus pneumoniae"</span><spanclass="op">)</span>,</span></span>
<spanclass="r-in"><span> ab <spanclass="op">=</span><spanclass="st">"AMX"</span>,</span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="plot.html">plot</a></span><spanclass="op">(</span><spanclass="va">mic_data</span>, mo <spanclass="op">=</span><spanclass="st">"E. coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://ggplot2.tidyverse.org/reference/autoplot.html"class="external-link">autoplot</a></span><spanclass="op">(</span><spanclass="va">mic_data</span>, mo <spanclass="op">=</span><spanclass="st">"E. coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://ggplot2.tidyverse.org/reference/autoplot.html"class="external-link">autoplot</a></span><spanclass="op">(</span><spanclass="va">mic_data</span>, mo <spanclass="op">=</span><spanclass="st">"E. coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span>, language <spanclass="op">=</span><spanclass="st">"nl"</span><spanclass="op">)</span><spanclass="co"># Dutch</span></span></span>
<p><code>AMR</code> (for R). Free and open-source, licenced under the <atarget="_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 <atarget="_blank"href="https://www.rug.nl"class="external-link">University of Groningen</a> and <atarget="_blank"href="https://www.umcg.nl"class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>