mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 20:41:58 +02:00
(v1.3.0.9001) website update
This commit is contained in:
@ -39,7 +39,7 @@
|
||||
</button>
|
||||
<span class="navbar-brand">
|
||||
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.3.0</span>
|
||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.3.0.9001</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -186,7 +186,7 @@
|
||||
<h1 data-toc-skip>How to determine multi-drug resistance (MDR)</h1>
|
||||
<h4 class="author">Matthijs S. Berends</h4>
|
||||
|
||||
<h4 class="date">30 July 2020</h4>
|
||||
<h4 class="date">10 August 2020</h4>
|
||||
|
||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/master/vignettes/MDR.Rmd"><code>vignettes/MDR.Rmd</code></a></small>
|
||||
<div class="hidden name"><code>MDR.Rmd</code></div>
|
||||
@ -234,16 +234,20 @@
|
||||
<a href="#examples" class="anchor"></a>Examples</h4>
|
||||
<p>The <code><a href="../reference/mdro.html">mdro()</a></code> function always returns an ordered <code>factor</code>. For example, the output of the default guideline by Magiorakos <em>et al.</em> returns a <code>factor</code> with levels ‘Negative’, ‘MDR’, ‘XDR’ or ‘PDR’ in that order.</p>
|
||||
<p>The next example uses the <code>example_isolates</code> data set. This is a data set included with this package and contains 2,000 microbial isolates with their full antibiograms. It reflects reality and can be used to practice AMR analysis. If we test the MDR/XDR/PDR guideline on this data set, we get:</p>
|
||||
<div class="sourceCode" id="cb1"><html><body><pre class="r"><span class="fu"><a href="https://rdrr.io/r/base/library.html">library</a></span>(<span class="no">dplyr</span>) <span class="co"># to support pipes: %>%</span>
|
||||
<span class="fu"><a href="https://rdrr.io/r/base/library.html">library</a></span>(<span class="no">cleaner</span>) <span class="co"># to create frequency tables</span></pre></body></html></div>
|
||||
<div class="sourceCode" id="cb2"><html><body><pre class="r"><span class="no">example_isolates</span> <span class="kw">%>%</span>
|
||||
<span class="fu"><a href="../reference/mdro.html">mdro</a></span>() <span class="kw">%>%</span>
|
||||
<div class="sourceCode" id="cb1"><pre class="downlit">
|
||||
<span class="fu"><a href="https://rdrr.io/r/base/library.html">library</a></span>(<span class="kw"><a href="https://dplyr.tidyverse.org">dplyr</a></span>) <span class="co"># to support pipes: %>%</span>
|
||||
<span class="fu"><a href="https://rdrr.io/r/base/library.html">library</a></span>(<span class="kw"><a href="https://github.com/msberends/cleaner">cleaner</a></span>) <span class="co"># to create frequency tables</span>
|
||||
</pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="downlit">
|
||||
<span class="kw">example_isolates</span> <span class="op">%>%</span>
|
||||
<span class="fu"><a href="../reference/mdro.html">mdro</a></span>() <span class="op">%>%</span>
|
||||
<span class="fu"><a href="https://rdrr.io/pkg/cleaner/man/freq.html">freq</a></span>() <span class="co"># show frequency table of the result</span>
|
||||
<span class="co"># NOTE: Using column `mo` as input for `col_mo`.</span>
|
||||
<span class="co"># NOTE: Auto-guessing columns suitable for analysis...OK.</span>
|
||||
<span class="co"># NOTE: Reliability would be improved if these antimicrobial results would be available too: ceftaroline (CPT), fusidic acid (FUS), telavancin (TLV), daptomycin (DAP), quinupristin/dalfopristin (QDA), minocycline (MNO), gentamicin-high (GEH), streptomycin-high (STH), doripenem (DOR), levofloxacin (LVX), netilmicin (NET), ticarcillin/clavulanic acid (TCC), ertapenem (ETP), cefotetan (CTT), aztreonam (ATM), ampicillin/sulbactam (SAM), polymyxin B (PLB)</span>
|
||||
<span class="co"># Warning in mdro(.): NA introduced for isolates where the available percentage of</span>
|
||||
<span class="co"># antimicrobial classes was below 50% (set with `pct_required_classes`)</span></pre></body></html></div>
|
||||
<span class="co"># antimicrobial classes was below 50% (set with `pct_required_classes`)</span>
|
||||
</pre></div>
|
||||
<p><strong>Frequency table</strong></p>
|
||||
<p>Class: factor > ordered (numeric)<br>
|
||||
Length: 2,000<br>
|
||||
@ -279,55 +283,67 @@ Unique: 2</p>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>For another example, I will create a data set to determine multi-drug resistant TB:</p>
|
||||
<div class="sourceCode" id="cb3"><html><body><pre class="r"><span class="co"># a helper function to get a random vector with values S, I and R</span>
|
||||
<div class="sourceCode" id="cb3"><pre class="downlit">
|
||||
<span class="co"># a helper function to get a random vector with values S, I and R</span>
|
||||
<span class="co"># with the probabilities 50% - 10% - 40%</span>
|
||||
<span class="no">sample_rsi</span> <span class="kw"><-</span> <span class="kw">function</span>() {
|
||||
<span class="kw">sample_rsi</span> <span class="op"><-</span> <span class="fu">function</span>() {
|
||||
<span class="fu"><a href="https://rdrr.io/r/base/sample.html">sample</a></span>(<span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="st">"S"</span>, <span class="st">"I"</span>, <span class="st">"R"</span>),
|
||||
<span class="kw">size</span> <span class="kw">=</span> <span class="fl">5000</span>,
|
||||
<span class="kw">prob</span> <span class="kw">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="fl">0.5</span>, <span class="fl">0.1</span>, <span class="fl">0.4</span>),
|
||||
<span class="kw">replace</span> <span class="kw">=</span> <span class="fl">TRUE</span>)
|
||||
size = <span class="fl">5000</span>,
|
||||
prob = <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="fl">0.5</span>, <span class="fl">0.1</span>, <span class="fl">0.4</span>),
|
||||
replace = <span class="fl">TRUE</span>)
|
||||
}
|
||||
|
||||
<span class="no">my_TB_data</span> <span class="kw"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span>(<span class="kw">rifampicin</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">isoniazid</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">gatifloxacin</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">ethambutol</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">pyrazinamide</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">moxifloxacin</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">kanamycin</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>())</pre></body></html></div>
|
||||
<span class="kw">my_TB_data</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span>(rifampicin = <span class="fu">sample_rsi</span>(),
|
||||
isoniazid = <span class="fu">sample_rsi</span>(),
|
||||
gatifloxacin = <span class="fu">sample_rsi</span>(),
|
||||
ethambutol = <span class="fu">sample_rsi</span>(),
|
||||
pyrazinamide = <span class="fu">sample_rsi</span>(),
|
||||
moxifloxacin = <span class="fu">sample_rsi</span>(),
|
||||
kanamycin = <span class="fu">sample_rsi</span>())
|
||||
</pre></div>
|
||||
<p>Because all column names are automatically verified for valid drug names or codes, this would have worked exactly the same:</p>
|
||||
<div class="sourceCode" id="cb4"><html><body><pre class="r"><span class="no">my_TB_data</span> <span class="kw"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span>(<span class="kw">RIF</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">INH</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">GAT</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">ETH</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">PZA</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">MFX</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>(),
|
||||
<span class="kw">KAN</span> <span class="kw">=</span> <span class="fu">sample_rsi</span>())</pre></body></html></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="downlit">
|
||||
<span class="kw">my_TB_data</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span>(RIF = <span class="fu">sample_rsi</span>(),
|
||||
INH = <span class="fu">sample_rsi</span>(),
|
||||
GAT = <span class="fu">sample_rsi</span>(),
|
||||
ETH = <span class="fu">sample_rsi</span>(),
|
||||
PZA = <span class="fu">sample_rsi</span>(),
|
||||
MFX = <span class="fu">sample_rsi</span>(),
|
||||
KAN = <span class="fu">sample_rsi</span>())
|
||||
</pre></div>
|
||||
<p>The data set now looks like this:</p>
|
||||
<div class="sourceCode" id="cb5"><html><body><pre class="r"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span>(<span class="no">my_TB_data</span>)
|
||||
<div class="sourceCode" id="cb5"><pre class="downlit">
|
||||
<span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span>(<span class="kw">my_TB_data</span>)
|
||||
<span class="co"># rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin</span>
|
||||
<span class="co"># 1 S S R R S I</span>
|
||||
<span class="co"># 2 R S R R R S</span>
|
||||
<span class="co"># 3 R S S S I S</span>
|
||||
<span class="co"># 4 S S I S R S</span>
|
||||
<span class="co"># 5 R I R S R S</span>
|
||||
<span class="co"># 6 S S S S R R</span>
|
||||
<span class="co"># 1 R R R R I I</span>
|
||||
<span class="co"># 2 S S S R S R</span>
|
||||
<span class="co"># 3 S I S S S S</span>
|
||||
<span class="co"># 4 S I S R R R</span>
|
||||
<span class="co"># 5 S S R S S R</span>
|
||||
<span class="co"># 6 S R S R R R</span>
|
||||
<span class="co"># kanamycin</span>
|
||||
<span class="co"># 1 I</span>
|
||||
<span class="co"># 2 I</span>
|
||||
<span class="co"># 1 S</span>
|
||||
<span class="co"># 2 R</span>
|
||||
<span class="co"># 3 S</span>
|
||||
<span class="co"># 4 R</span>
|
||||
<span class="co"># 5 R</span>
|
||||
<span class="co"># 6 S</span></pre></body></html></div>
|
||||
<span class="co"># 4 S</span>
|
||||
<span class="co"># 5 S</span>
|
||||
<span class="co"># 6 R</span>
|
||||
</pre></div>
|
||||
<p>We can now add the interpretation of MDR-TB to our data set. You can use:</p>
|
||||
<div class="sourceCode" id="cb6"><html><body><pre class="r"><span class="fu"><a href="../reference/mdro.html">mdro</a></span>(<span class="no">my_TB_data</span>, <span class="kw">guideline</span> <span class="kw">=</span> <span class="st">"TB"</span>)</pre></body></html></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="downlit">
|
||||
<span class="fu"><a href="../reference/mdro.html">mdro</a></span>(<span class="kw">my_TB_data</span>, guideline = <span class="st">"TB"</span>)
|
||||
</pre></div>
|
||||
<p>or its shortcut <code><a href="../reference/mdro.html">mdr_tb()</a></code>:</p>
|
||||
<div class="sourceCode" id="cb7"><html><body><pre class="r"><span class="no">my_TB_data</span>$<span class="no">mdr</span> <span class="kw"><-</span> <span class="fu"><a href="../reference/mdro.html">mdr_tb</a></span>(<span class="no">my_TB_data</span>)
|
||||
<div class="sourceCode" id="cb7"><pre class="downlit">
|
||||
<span class="kw">my_TB_data</span><span class="op">$</span><span class="kw">mdr</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mdro.html">mdr_tb</a></span>(<span class="kw">my_TB_data</span>)
|
||||
<span class="co"># NOTE: No column found as input for `col_mo`, assuming all records contain Mycobacterium tuberculosis.</span>
|
||||
<span class="co"># NOTE: Auto-guessing columns suitable for analysis...OK.</span>
|
||||
<span class="co"># NOTE: Reliability would be improved if these antimicrobial results would be available too: capreomycin (CAP), rifabutin (RIB), rifapentine (RFP)</span></pre></body></html></div>
|
||||
<span class="co"># NOTE: Reliability would be improved if these antimicrobial results would be available too: capreomycin (CAP), rifabutin (RIB), rifapentine (RFP)</span>
|
||||
</pre></div>
|
||||
<p>Create a frequency table of the results:</p>
|
||||
<div class="sourceCode" id="cb8"><html><body><pre class="r"><span class="fu"><a href="https://rdrr.io/pkg/cleaner/man/freq.html">freq</a></span>(<span class="no">my_TB_data</span>$<span class="no">mdr</span>)</pre></body></html></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="downlit">
|
||||
<span class="fu"><a href="https://rdrr.io/pkg/cleaner/man/freq.html">freq</a></span>(<span class="kw">my_TB_data</span><span class="op">$</span><span class="kw">mdr</span>)
|
||||
</pre></div>
|
||||
<p><strong>Frequency table</strong></p>
|
||||
<p>Class: factor > ordered (numeric)<br>
|
||||
Length: 5,000<br>
|
||||
@ -347,40 +363,40 @@ Unique: 5</p>
|
||||
<tr class="odd">
|
||||
<td align="left">1</td>
|
||||
<td align="left">Mono-resistant</td>
|
||||
<td align="right">3215</td>
|
||||
<td align="right">64.30%</td>
|
||||
<td align="right">3215</td>
|
||||
<td align="right">64.30%</td>
|
||||
<td align="right">3229</td>
|
||||
<td align="right">64.58%</td>
|
||||
<td align="right">3229</td>
|
||||
<td align="right">64.58%</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left">2</td>
|
||||
<td align="left">Multi-drug-resistant</td>
|
||||
<td align="right">643</td>
|
||||
<td align="right">12.86%</td>
|
||||
<td align="right">3858</td>
|
||||
<td align="right">77.16%</td>
|
||||
<td align="left">Negative</td>
|
||||
<td align="right">674</td>
|
||||
<td align="right">13.48%</td>
|
||||
<td align="right">3903</td>
|
||||
<td align="right">78.06%</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left">3</td>
|
||||
<td align="left">Negative</td>
|
||||
<td align="right">637</td>
|
||||
<td align="right">12.74%</td>
|
||||
<td align="right">4495</td>
|
||||
<td align="right">89.90%</td>
|
||||
<td align="left">Multi-drug-resistant</td>
|
||||
<td align="right">616</td>
|
||||
<td align="right">12.32%</td>
|
||||
<td align="right">4519</td>
|
||||
<td align="right">90.38%</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left">4</td>
|
||||
<td align="left">Poly-resistant</td>
|
||||
<td align="right">292</td>
|
||||
<td align="right">5.84%</td>
|
||||
<td align="right">4787</td>
|
||||
<td align="right">95.74%</td>
|
||||
<td align="right">285</td>
|
||||
<td align="right">5.70%</td>
|
||||
<td align="right">4804</td>
|
||||
<td align="right">96.08%</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left">5</td>
|
||||
<td align="left">Extensively drug-resistant</td>
|
||||
<td align="right">213</td>
|
||||
<td align="right">4.26%</td>
|
||||
<td align="right">196</td>
|
||||
<td align="right">3.92%</td>
|
||||
<td align="right">5000</td>
|
||||
<td align="right">100.00%</td>
|
||||
</tr>
|
||||
@ -402,7 +418,7 @@ Unique: 5</p>
|
||||
</div>
|
||||
|
||||
<div class="pkgdown">
|
||||
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.5.1.</p>
|
||||
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.5.1.9000.</p>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
Reference in New Issue
Block a user