mirror of
https://github.com/msberends/AMR.git
synced 2024-12-26 08:06:12 +01:00
335 lines
20 KiB
HTML
335 lines
20 KiB
HTML
<!DOCTYPE html>
|
||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||
<title>How to work with WHONET data • AMR (for R)</title>
|
||
<!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
||
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png">
|
||
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png">
|
||
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png">
|
||
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png">
|
||
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
|
||
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet">
|
||
<link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet">
|
||
<link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
|
||
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
|
||
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet">
|
||
<script src="../extra.js"></script><meta property="og:title" content="How to work with WHONET data">
|
||
</head>
|
||
<body>
|
||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
||
|
||
|
||
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
|
||
|
||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||
|
||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9118</small>
|
||
|
||
|
||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
|
||
<div id="navbar" class="collapse navbar-collapse ms-3">
|
||
<ul class="navbar-nav me-auto">
|
||
<li class="active nav-item dropdown">
|
||
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
|
||
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to">
|
||
<li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
|
||
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
|
||
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
|
||
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
|
||
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
|
||
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
|
||
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
|
||
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
|
||
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
|
||
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
|
||
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
|
||
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
|
||
<li class="nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
|
||
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
|
||
</ul>
|
||
<ul class="navbar-nav">
|
||
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa far fa-newspaper"></span> Changelog</a></li>
|
||
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fab fa-github"></span> Source Code</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</nav><div class="container template-article">
|
||
|
||
|
||
|
||
|
||
<div class="row">
|
||
<main id="main" class="col-md-9"><div class="page-header">
|
||
<img src="../logo.svg" class="logo" alt=""><h1>How to work with WHONET data</h1>
|
||
|
||
|
||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/vignettes/WHONET.Rmd" class="external-link"><code>vignettes/WHONET.Rmd</code></a></small>
|
||
<div class="d-none name"><code>WHONET.Rmd</code></div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="section level3">
|
||
<h3 id="import-of-data">Import of data<a class="anchor" aria-label="anchor" href="#import-of-data"></a>
|
||
</h3>
|
||
<p>This tutorial assumes you already imported the WHONET data with
|
||
e.g. the <a href="https://readxl.tidyverse.org/" class="external-link"><code>readxl</code>
|
||
package</a>. In RStudio, this can be done using the menu button ‘Import
|
||
Dataset’ in the tab ‘Environment’. Choose the option ‘From Excel’ and
|
||
select your exported file. Make sure date fields are imported
|
||
correctly.</p>
|
||
<p>An example syntax could look like this:</p>
|
||
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://readxl.tidyverse.org" class="external-link">readxl</a></span><span class="op">)</span></span>
|
||
<span><span class="va">data</span> <span class="op"><-</span> <span class="fu"><a href="https://readxl.tidyverse.org/reference/read_excel.html" class="external-link">read_excel</a></span><span class="op">(</span>path <span class="op">=</span> <span class="st">"path/to/your/file.xlsx"</span><span class="op">)</span></span></code></pre></div>
|
||
<p>This package comes with an <a href="https://msberends.github.io/AMR/reference/WHONET.html">example
|
||
data set <code>WHONET</code></a>. We will use it for this analysis.</p>
|
||
</div>
|
||
<div class="section level3">
|
||
<h3 id="preparation">Preparation<a class="anchor" aria-label="anchor" href="#preparation"></a>
|
||
</h3>
|
||
<p>First, load the relevant packages if you did not yet did this. I use
|
||
the tidyverse for all of my analyses. All of them. If you don’t know it
|
||
yet, I suggest you read about it on their website: <a href="https://www.tidyverse.org/" class="external-link uri">https://www.tidyverse.org/</a>.</p>
|
||
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dplyr.tidyverse.org" class="external-link">dplyr</a></span><span class="op">)</span> <span class="co"># part of tidyverse</span></span>
|
||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://ggplot2.tidyverse.org" class="external-link">ggplot2</a></span><span class="op">)</span> <span class="co"># part of tidyverse</span></span>
|
||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/AMR/">AMR</a></span><span class="op">)</span> <span class="co"># this package</span></span>
|
||
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://msberends.github.io/cleaner/" class="external-link">cleaner</a></span><span class="op">)</span> <span class="co"># to create frequency tables</span></span></code></pre></div>
|
||
<p>We will have to transform some variables to simplify and automate the
|
||
analysis:</p>
|
||
<ul>
|
||
<li>Microorganisms should be transformed to our own microorganism codes
|
||
(called an <code>mo</code>) using <a href="https://msberends.github.io/AMR/reference/catalogue_of_life">our
|
||
Catalogue of Life reference data set</a>, which contains all ~70,000
|
||
microorganisms from the taxonomic kingdoms Bacteria, Fungi and Protozoa.
|
||
We do the tranformation with <code><a href="../reference/as.mo.html">as.mo()</a></code>. This function also
|
||
recognises almost all WHONET abbreviations of microorganisms.</li>
|
||
<li>Antimicrobial results or interpretations have to be clean and valid.
|
||
In other words, they should only contain values <code>"S"</code>,
|
||
<code>"I"</code> or <code>"R"</code>. That is exactly where the
|
||
<code><a href="../reference/as.sir.html">as.sir()</a></code> function is for.</li>
|
||
</ul>
|
||
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="co"># transform variables</span></span>
|
||
<span><span class="va">data</span> <span class="op"><-</span> <span class="va">WHONET</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
||
<span> <span class="co"># get microbial ID based on given organism</span></span>
|
||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate.html" class="external-link">mutate</a></span><span class="op">(</span>mo <span class="op">=</span> <span class="fu"><a href="../reference/as.mo.html">as.mo</a></span><span class="op">(</span><span class="va">Organism</span><span class="op">)</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
||
<span> <span class="co"># transform everything from "AMP_ND10" to "CIP_EE" to the new `sir` class</span></span>
|
||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/mutate_all.html" class="external-link">mutate_at</a></span><span class="op">(</span><span class="fu"><a href="https://dplyr.tidyverse.org/reference/vars.html" class="external-link">vars</a></span><span class="op">(</span><span class="va">AMP_ND10</span><span class="op">:</span><span class="va">CIP_EE</span><span class="op">)</span>, <span class="va">as.sir</span><span class="op">)</span></span></code></pre></div>
|
||
<p>No errors or warnings, so all values are transformed succesfully.</p>
|
||
<p>We also created a package dedicated to data cleaning and checking,
|
||
called the <code>cleaner</code> package. Its <code><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq()</a></code>
|
||
function can be used to create frequency tables.</p>
|
||
<p>So let’s check our data, with a couple of frequency tables:</p>
|
||
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="co"># our newly created `mo` variable, put in the mo_name() function</span></span>
|
||
<span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="fu"><a href="../reference/mo_property.html">mo_name</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span>, nmax <span class="op">=</span> <span class="fl">10</span><span class="op">)</span></span></code></pre></div>
|
||
<p><strong>Frequency table</strong></p>
|
||
<p>Class: character<br>
|
||
Length: 500<br>
|
||
Available: 500 (100%, NA: 0 = 0%)<br>
|
||
Unique: 38</p>
|
||
<p>Shortest: 11<br>
|
||
Longest: 40</p>
|
||
<table class="table">
|
||
<colgroup>
|
||
<col width="4%">
|
||
<col width="47%">
|
||
<col width="7%">
|
||
<col width="10%">
|
||
<col width="13%">
|
||
<col width="15%">
|
||
</colgroup>
|
||
<thead><tr class="header">
|
||
<th align="left"></th>
|
||
<th align="left">Item</th>
|
||
<th align="right">Count</th>
|
||
<th align="right">Percent</th>
|
||
<th align="right">Cum. Count</th>
|
||
<th align="right">Cum. Percent</th>
|
||
</tr></thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">1</td>
|
||
<td align="left">Escherichia coli</td>
|
||
<td align="right">245</td>
|
||
<td align="right">49.0%</td>
|
||
<td align="right">245</td>
|
||
<td align="right">49.0%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">2</td>
|
||
<td align="left">Coagulase-negative Staphylococcus (CoNS)</td>
|
||
<td align="right">74</td>
|
||
<td align="right">14.8%</td>
|
||
<td align="right">319</td>
|
||
<td align="right">63.8%</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">3</td>
|
||
<td align="left">Staphylococcus epidermidis</td>
|
||
<td align="right">38</td>
|
||
<td align="right">7.6%</td>
|
||
<td align="right">357</td>
|
||
<td align="right">71.4%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">4</td>
|
||
<td align="left">Streptococcus pneumoniae</td>
|
||
<td align="right">31</td>
|
||
<td align="right">6.2%</td>
|
||
<td align="right">388</td>
|
||
<td align="right">77.6%</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">5</td>
|
||
<td align="left">Staphylococcus hominis</td>
|
||
<td align="right">21</td>
|
||
<td align="right">4.2%</td>
|
||
<td align="right">409</td>
|
||
<td align="right">81.8%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">6</td>
|
||
<td align="left">Proteus mirabilis</td>
|
||
<td align="right">9</td>
|
||
<td align="right">1.8%</td>
|
||
<td align="right">418</td>
|
||
<td align="right">83.6%</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">7</td>
|
||
<td align="left">Enterococcus faecium</td>
|
||
<td align="right">8</td>
|
||
<td align="right">1.6%</td>
|
||
<td align="right">426</td>
|
||
<td align="right">85.2%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">8</td>
|
||
<td align="left">Staphylococcus capitis urealyticus</td>
|
||
<td align="right">8</td>
|
||
<td align="right">1.6%</td>
|
||
<td align="right">434</td>
|
||
<td align="right">86.8%</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">9</td>
|
||
<td align="left">Enterobacter cloacae</td>
|
||
<td align="right">5</td>
|
||
<td align="right">1.0%</td>
|
||
<td align="right">439</td>
|
||
<td align="right">87.8%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">10</td>
|
||
<td align="left">Enterococcus columbae</td>
|
||
<td align="right">4</td>
|
||
<td align="right">0.8%</td>
|
||
<td align="right">443</td>
|
||
<td align="right">88.6%</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>(omitted 28 entries, n = 57 [11.4%])</p>
|
||
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="co"># our transformed antibiotic columns</span></span>
|
||
<span><span class="co"># amoxicillin/clavulanic acid (J01CR02) as an example</span></span>
|
||
<span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span> <span class="fu"><a href="https://msberends.github.io/cleaner/reference/freq.html" class="external-link">freq</a></span><span class="op">(</span><span class="va">AMC_ND2</span><span class="op">)</span></span></code></pre></div>
|
||
<p><strong>Frequency table</strong></p>
|
||
<p>Class: factor > ordered > sir (numeric)<br>
|
||
Length: 500<br>
|
||
Levels: 5: S < SDD < I < R < NI<br>
|
||
Available: 481 (96.2%, NA: 19 = 3.8%)<br>
|
||
Unique: 3</p>
|
||
<p>Drug: Amoxicillin/clavulanic acid (AMC, J01CR02)<br>
|
||
Drug group: Beta-lactams/penicillins<br>
|
||
%SI: 78.59%</p>
|
||
<table class="table">
|
||
<thead><tr class="header">
|
||
<th align="left"></th>
|
||
<th align="left">Item</th>
|
||
<th align="right">Count</th>
|
||
<th align="right">Percent</th>
|
||
<th align="right">Cum. Count</th>
|
||
<th align="right">Cum. Percent</th>
|
||
</tr></thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">1</td>
|
||
<td align="left">S</td>
|
||
<td align="right">356</td>
|
||
<td align="right">74.01%</td>
|
||
<td align="right">356</td>
|
||
<td align="right">74.01%</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">2</td>
|
||
<td align="left">R</td>
|
||
<td align="right">103</td>
|
||
<td align="right">21.41%</td>
|
||
<td align="right">459</td>
|
||
<td align="right">95.43%</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">3</td>
|
||
<td align="left">I</td>
|
||
<td align="right">22</td>
|
||
<td align="right">4.57%</td>
|
||
<td align="right">481</td>
|
||
<td align="right">100.00%</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="section level3">
|
||
<h3 id="a-first-glimpse-at-results">A first glimpse at results<a class="anchor" aria-label="anchor" href="#a-first-glimpse-at-results"></a>
|
||
</h3>
|
||
<p>An easy <code>ggplot</code> will already give a lot of information,
|
||
using the included <code><a href="../reference/ggplot_sir.html">ggplot_sir()</a></code> function:</p>
|
||
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
|
||
<code class="sourceCode R"><span><span class="va">data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/group_by.html" class="external-link">group_by</a></span><span class="op">(</span><span class="va">Country</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
||
<span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/select.html" class="external-link">select</a></span><span class="op">(</span><span class="va">Country</span>, <span class="va">AMP_ND2</span>, <span class="va">AMC_ED20</span>, <span class="va">CAZ_ED10</span>, <span class="va">CIP_ED5</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%>%</a></span></span>
|
||
<span> <span class="fu"><a href="../reference/ggplot_sir.html">ggplot_sir</a></span><span class="op">(</span>translate_ab <span class="op">=</span> <span class="st">"ab"</span>, facet <span class="op">=</span> <span class="st">"Country"</span>, datalabels <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div>
|
||
<p><img src="WHONET_files/figure-html/unnamed-chunk-7-1.png" width="720"></p>
|
||
</div>
|
||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
||
</nav></aside>
|
||
</div>
|
||
|
||
|
||
|
||
<footer><div class="pkgdown-footer-left">
|
||
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
|
||
</div>
|
||
|
||
<div class="pkgdown-footer-right">
|
||
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
|
||
</div>
|
||
|
||
</footer>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html>
|