<!-- 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.0"><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"><!-- jquery --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="crossorigin="anonymous"></script><!-- Bootstrap --><linkhref="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css"rel="stylesheet"crossorigin="anonymous"><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4="crossorigin="anonymous"></script><!-- bootstrap-toc --><linkrel="stylesheet"href="../bootstrap-toc.css"><scriptsrc="../bootstrap-toc.js"></script><!-- 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"><!-- clipboard.js --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js"integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI="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><!-- pkgdown --><linkhref="../pkgdown.css"rel="stylesheet"><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='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.'><metaproperty="og:image"content="https://msberends.github.io/AMR/logo.svg"><metaname="twitter:card"content="summary_large_image"><metaname="twitter:creator"content="@msberends"><metaname="twitter:site"content="@univgroningen"><!-- mathjax --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k="crossorigin="anonymous"></script><scriptsrc="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]>
<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>factor levels which should be excluded from the result even if present, see <ahref="https://rdrr.io/r/base/droplevels.html"class="external-link">droplevels()</a></p></dd>
<dt>as.mic</dt>
<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, defaults to <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 decimal numbers. Bare 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 RSI values, use <code><ahref="as.rsi.html">as.rsi()</a></code> on MIC values. It supports guidelines from EUCAST (2011-2021) and CLSI (2010-2021).</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><divclass="sourceCode"><pre><code><spanclass="va">x</span><spanclass="op"><-</span><spanclass="fu"><ahref="../reference/random.html">random_mic</a></span><spanclass="op">(</span><spanclass="fl">10</span><spanclass="op">)</span>
<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><divclass="sourceCode"><pre><code><spanclass="va">x</span><spanclass="op">[</span><spanclass="va">x</span><spanclass="op">></span><spanclass="fl">4</span><spanclass="op">]</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/subset.html"class="external-link">subset</a></span><spanclass="op">(</span><spanclass="va">df</span>, <spanclass="va">x</span><spanclass="op">></span><spanclass="fl">4</span><spanclass="op">)</span><spanclass="co"># or with dplyr: df %>% filter(x > 4)</span>
<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://rdrr.io/r/base/droplevels.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><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>
The <ahref="lifecycle.html">lifecycle</a> of this function is <strong>stable</strong>. In a stable function, major changes are unlikely. This means that the unlying code will generally evolve by adding new arguments; removing arguments or changing the meaning of existing arguments will be avoided.</p>
<p>If the unlying code needs breaking changes, they will occur gradually. For example, an argument will be deprecated and first continue to work, but will emit a message informing you of the change. Next, typically after at least one newly released version on CRAN, the message will be transformed to an error.</p>
<p>On our website <ahref="https://msberends.github.io/AMR/">https://msberends.github.io/AMR/</a> you can find <ahref="https://msberends.github.io/AMR/articles/AMR.html">a comprehensive tutorial</a> about how to conduct AMR data analysis, the <ahref="https://msberends.github.io/AMR/reference/">complete documentation of all functions</a> and <ahref="https://msberends.github.io/AMR/articles/WHONET.html">an example analysis using WHONET data</a>.</p>
<spanclass="co"># this can also coerce combined MIC/RSI values:</span>
<spanclass="fu">as.mic</span><spanclass="op">(</span><spanclass="st">"<=0.002; S"</span><spanclass="op">)</span><spanclass="co"># will return <=0.002</span>
<spanclass="co"># mathematical processing treats MICs as [numeric] values</span>
mo <spanclass="op">=</span><spanclass="fu"><ahref="as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"S. pneumoniae"</span><spanclass="op">)</span>,
ab <spanclass="op">=</span><spanclass="st">"AMX"</span>,
mo <spanclass="op">=</span><spanclass="fu"><ahref="as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"S. pneumoniae"</span><spanclass="op">)</span>,
ab <spanclass="op">=</span><spanclass="st">"AMX"</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>