AMR/docs/reference/first_isolate.html

492 lines
28 KiB
HTML
Raw Normal View History

2018-12-29 22:24:19 +01:00
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Determine first (weighted) isolates — first_isolate • 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" />
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
<!-- jquery -->
2020-04-13 21:09:56 +02:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
2018-12-29 22:24:19 +01:00
<!-- Bootstrap -->
2019-10-11 17:21:02 +02:00
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous" />
2020-12-21 22:46:29 +01:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>
2020-12-21 22:46:29 +01:00
2020-04-15 11:30:28 +02:00
<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>
2018-12-29 22:24:19 +01:00
<!-- Font Awesome icons -->
2020-04-15 11:30:28 +02:00
<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" />
2018-12-29 22:24:19 +01:00
<!-- clipboard.js -->
2020-04-15 11:30:28 +02:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>
2018-12-29 22:24:19 +01:00
2019-10-11 17:21:02 +02:00
<!-- headroom.js -->
2020-04-15 11:30:28 +02:00
<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>
2018-12-29 22:24:19 +01:00
<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>
<link href="../extra.css" rel="stylesheet">
<script src="../extra.js"></script>
2019-10-11 17:21:02 +02:00
<meta property="og:title" content="Determine first (weighted) isolates — first_isolate" />
2020-11-23 21:50:27 +01:00
<meta property="og:description" content="Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type. To determine patient episodes not necessarily based on microorganisms, use is_new_episode() that also supports grouping with the dplyr package." />
<meta property="og:image" content="https://msberends.github.io/AMR/logo.png" />
2018-12-29 22:24:19 +01:00
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
<!-- 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]-->
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
</head>
2020-04-15 11:30:28 +02:00
<body data-spy="scroll" data-target="#toc">
2018-12-29 22:24:19 +01:00
<div class="container template-reference-topic">
<header>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</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.4.0.9044</span>
2018-12-29 22:24:19 +01:00
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="../index.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-home"></span>
2018-12-29 22:24:19 +01:00
Home
</a>
</li>
2019-01-02 23:24:07 +01:00
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
2020-12-17 16:22:25 +01:00
<span class="fas fa-question-circle"></span>
2019-01-02 23:24:07 +01:00
How to
2018-12-29 22:24:19 +01:00
2019-01-02 23:24:07 +01:00
<span class="caret"></span>
2018-12-29 22:24:19 +01:00
</a>
2019-01-02 23:24:07 +01:00
<ul class="dropdown-menu" role="menu">
<li>
<a href="../articles/AMR.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-directions"></span>
2019-01-02 23:24:07 +01:00
Conduct AMR analysis
</a>
</li>
<li>
2019-02-14 10:23:51 +01:00
<a href="../articles/resistance_predict.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-dice"></span>
2019-01-02 23:24:07 +01:00
Predict antimicrobial resistance
</a>
</li>
2020-08-21 11:40:13 +02:00
<li>
<a href="../articles/datasets.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-database"></span>
2020-08-21 11:40:13 +02:00
Data sets for download / own use
2020-08-21 11:40:13 +02:00
</a>
</li>
2020-04-13 21:09:56 +02:00
<li>
<a href="../articles/PCA.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-compress"></span>
2020-04-13 21:09:56 +02:00
Conduct principal component analysis for AMR
</a>
</li>
2019-05-28 16:50:40 +02:00
<li>
<a href="../articles/MDR.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-skull-crossbones"></span>
2019-05-28 16:50:40 +02:00
Determine multi-drug resistance (MDR)
</a>
</li>
2019-01-29 00:06:50 +01:00
<li>
<a href="../articles/WHONET.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-globe-americas"></span>
2019-01-29 00:06:50 +01:00
Work with WHONET data
</a>
</li>
2019-02-14 15:18:17 +01:00
<li>
<a href="../articles/SPSS.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-file-upload"></span>
2019-02-14 15:18:17 +01:00
Import data from SPSS/SAS/Stata
</a>
</li>
2019-01-02 23:24:07 +01:00
<li>
<a href="../articles/EUCAST.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-exchange-alt"></span>
2019-01-02 23:24:07 +01:00
Apply EUCAST rules
</a>
</li>
<li>
2019-02-14 10:23:51 +01:00
<a href="../reference/mo_property.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-bug"></span>
2019-01-02 23:24:07 +01:00
Get properties of a microorganism
</a>
</li>
<li>
2019-05-10 16:44:59 +02:00
<a href="../reference/ab_property.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-capsules"></span>
2019-01-02 23:24:07 +01:00
Get properties of an antibiotic
</a>
</li>
2019-01-11 20:37:23 +01:00
<li>
<a href="../articles/benchmarks.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-shipping-fast"></span>
2019-01-11 20:37:23 +01:00
Other: benchmarks
</a>
</li>
2019-01-02 23:24:07 +01:00
</ul>
2018-12-29 22:24:19 +01:00
</li>
<li>
2020-07-28 18:39:57 +02:00
<a href="../reference/index.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-book-open"></span>
2018-12-29 22:24:19 +01:00
Manual
</a>
</li>
<li>
<a href="../authors.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-users"></span>
2018-12-29 22:24:19 +01:00
Authors
</a>
</li>
<li>
2020-07-28 18:39:57 +02:00
<a href="../news/index.html">
2020-12-17 16:22:25 +01:00
<span class="far fa-newspaper"></span>
2018-12-29 22:24:19 +01:00
Changelog
</a>
</li>
2019-01-02 23:24:07 +01:00
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
2020-07-08 14:48:06 +02:00
<a href="https://github.com/msberends/AMR">
2020-12-17 16:22:25 +01:00
<span class="fab fa-github"></span>
2018-12-29 22:24:19 +01:00
Source Code
</a>
</li>
2019-01-02 23:24:07 +01:00
<li>
2020-07-28 18:39:57 +02:00
<a href="../survey.html">
2020-12-17 16:22:25 +01:00
<span class="fas fa-clipboard-list"></span>
2018-12-29 22:24:19 +01:00
2020-07-28 18:39:57 +02:00
Survey
2018-12-29 22:24:19 +01:00
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
</header>
<div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Determine first (weighted) isolates</h1>
2020-07-08 14:48:06 +02:00
<small class="dont-index">Source: <a href='https://github.com/msberends/AMR/blob/master/R/first_isolate.R'><code>R/first_isolate.R</code></a></small>
2018-12-29 22:24:19 +01:00
<div class="hidden name"><code>first_isolate.Rd</code></div>
</div>
<div class="ref-description">
2020-11-23 21:50:27 +01:00
<p>Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type. To determine patient episodes not necessarily based on microorganisms, use <code><a href='is_new_episode.html'>is_new_episode()</a></code> that also supports grouping with the <code>dplyr</code> package.</p>
2018-12-29 22:24:19 +01:00
</div>
<pre class="usage"><span class='fu'>first_isolate</span><span class='op'>(</span>
<span class='va'>x</span>,
col_date <span class='op'>=</span> <span class='cn'>NULL</span>,
col_patient_id <span class='op'>=</span> <span class='cn'>NULL</span>,
col_mo <span class='op'>=</span> <span class='cn'>NULL</span>,
col_testcode <span class='op'>=</span> <span class='cn'>NULL</span>,
col_specimen <span class='op'>=</span> <span class='cn'>NULL</span>,
col_icu <span class='op'>=</span> <span class='cn'>NULL</span>,
col_keyantibiotics <span class='op'>=</span> <span class='cn'>NULL</span>,
episode_days <span class='op'>=</span> <span class='fl'>365</span>,
testcodes_exclude <span class='op'>=</span> <span class='cn'>NULL</span>,
icu_exclude <span class='op'>=</span> <span class='cn'>FALSE</span>,
specimen_group <span class='op'>=</span> <span class='cn'>NULL</span>,
type <span class='op'>=</span> <span class='st'>"keyantibiotics"</span>,
ignore_I <span class='op'>=</span> <span class='cn'>TRUE</span>,
points_threshold <span class='op'>=</span> <span class='fl'>2</span>,
info <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/interactive.html'>interactive</a></span><span class='op'>(</span><span class='op'>)</span>,
include_unknown <span class='op'>=</span> <span class='cn'>FALSE</span>,
<span class='va'>...</span>
<span class='op'>)</span>
<span class='fu'>filter_first_isolate</span><span class='op'>(</span>
<span class='va'>x</span>,
col_date <span class='op'>=</span> <span class='cn'>NULL</span>,
col_patient_id <span class='op'>=</span> <span class='cn'>NULL</span>,
col_mo <span class='op'>=</span> <span class='cn'>NULL</span>,
<span class='va'>...</span>
<span class='op'>)</span>
<span class='fu'>filter_first_weighted_isolate</span><span class='op'>(</span>
<span class='va'>x</span>,
col_date <span class='op'>=</span> <span class='cn'>NULL</span>,
col_patient_id <span class='op'>=</span> <span class='cn'>NULL</span>,
col_mo <span class='op'>=</span> <span class='cn'>NULL</span>,
col_keyantibiotics <span class='op'>=</span> <span class='cn'>NULL</span>,
<span class='va'>...</span>
<span class='op'>)</span></pre>
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
<table class="ref-arguments">
<colgroup><col class="name" /><col class="desc" /></colgroup>
<tr>
2020-11-24 11:47:54 +01:00
<th>x</th>
2020-12-08 12:37:25 +01:00
<td><p>a <a href='https://rdrr.io/r/base/data.frame.html'>data.frame</a> containing isolates. Can be omitted when used inside <code>dplyr</code> verbs, such as <code><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter()</a></code>, <code><a href='https://dplyr.tidyverse.org/reference/mutate.html'>mutate()</a></code> and <code><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarise()</a></code>.</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>col_date</th>
2020-11-17 16:57:41 +01:00
<td><p>column name of the result date (or date that is was received on the lab), defaults to the first column with a date class</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>col_patient_id</th>
<td><p>column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)</p></td>
</tr>
<tr>
<th>col_mo</th>
<td><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></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>col_testcode</th>
2020-12-17 16:22:25 +01:00
<td><p>column name of the test codes. Use <code>col_testcode = NULL</code> to <strong>not</strong> exclude certain test codes (such as test codes for screening). In that case <code>testcodes_exclude</code> will be ignored.</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>col_specimen</th>
<td><p>column name of the specimen type or group</p></td>
</tr>
<tr>
<th>col_icu</th>
<td><p>column name of the logicals (<code>TRUE</code>/<code>FALSE</code>) whether a ward or department is an Intensive Care Unit (ICU)</p></td>
</tr>
<tr>
<th>col_keyantibiotics</th>
<td><p>column name of the key antibiotics to determine first <em>weighted</em> isolates, see <code><a href='key_antibiotics.html'>key_antibiotics()</a></code>. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use <code>col_keyantibiotics = FALSE</code> to prevent this.</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>episode_days</th>
<td><p>episode in days after which a genus/species combination will be determined as 'first isolate' again. The default of 365 days is based on the guideline by CLSI, see Source.</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>testcodes_exclude</th>
<td><p>character vector with test codes that should be excluded (case-insensitive)</p></td>
</tr>
<tr>
<th>icu_exclude</th>
2020-12-22 00:51:17 +01:00
<td><p>logical whether ICU isolates should be excluded (rows with value <code>TRUE</code> in the column set with <code>col_icu</code>)</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>specimen_group</th>
2020-12-22 00:51:17 +01:00
<td><p>value in the column set with <code>col_specimen</code> to filter on</p></td>
2018-12-29 22:24:19 +01:00
</tr>
<tr>
<th>type</th>
<td><p>type to determine weighed isolates; can be <code>"keyantibiotics"</code> or <code>"points"</code>, see Details</p></td>
</tr>
<tr>
<th>ignore_I</th>
<td><p>logical to determine whether antibiotic interpretations with <code>"I"</code> will be ignored when <code>type = "keyantibiotics"</code>, see Details</p></td>
</tr>
<tr>
<th>points_threshold</th>
<td><p>points until the comparison of key antibiotics will lead to inclusion of an isolate when <code>type = "points"</code>, see Details</p></td>
</tr>
<tr>
<th>info</th>
<td><p>print progress</p></td>
</tr>
<tr>
<th>include_unknown</th>
<td><p>logical to determine whether 'unknown' microorganisms should be included too, i.e. microbial code <code>"UNKNOWN"</code>, which defaults to <code>FALSE</code>. For WHONET users, this means that all records with organism code <code>"con"</code> (<em>contamination</em>) will be excluded at default. Isolates with a microbial ID of <code>NA</code> will always be excluded as first isolate.</p></td>
</tr>
2018-12-29 22:24:19 +01:00
<tr>
<th>...</th>
2020-12-22 00:51:17 +01:00
<td><p>arguments passed on to <code>first_isolate()</code> when using <code>filter_first_isolate()</code>, or arguments passed on to <code><a href='key_antibiotics.html'>key_antibiotics()</a></code> when using <code>filter_first_weighted_isolate()</code></p></td>
2018-12-29 22:24:19 +01:00
</tr>
</table>
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="source"><a class="anchor" href="#source"></a>Source</h2>
2020-05-16 13:05:47 +02:00
<p>Methodology of this function is strictly based on:</p>
<p><strong>M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition</strong>, 2014, <em>Clinical and Laboratory Standards Institute (CLSI)</em>. <a href='https://clsi.org/standards/products/microbiology/documents/m39/'>https://clsi.org/standards/products/microbiology/documents/m39/</a>.</p>
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
<p>A <code><a href='https://rdrr.io/r/base/logical.html'>logical</a></code> vector</p>
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
2020-12-22 00:51:17 +01:00
<p>These functions are context-aware when used inside <code>dplyr</code> verbs, such as <code><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter()</a></code>, <code><a href='https://dplyr.tidyverse.org/reference/mutate.html'>mutate()</a></code> and <code><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarise()</a></code>. This means that then the <code>x</code> argument can be omitted, please see <em>Examples</em>.</p>
<p>The <code>first_isolate()</code> function is a wrapper around the <code><a href='is_new_episode.html'>is_new_episode()</a></code> function, but more efficient for data sets containing microorganism codes or names.</p>
2020-11-17 16:57:41 +01:00
<p>All isolates with a microbial ID of <code>NA</code> will be excluded as first isolate.</p><h3 class='hasAnchor' id='arguments'><a class='anchor' href='#arguments'></a>Why this is so important</h3>
<p>To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode <a href='https://pubmed.ncbi.nlm.nih.gov/17304462/'>(Hindler <em>et al.</em> 2007)</a>. If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all <em>S. aureus</em> isolates would be overestimated, because you included this MRSA more than once. It would be <a href='https://en.wikipedia.org/wiki/Selection_bias'>selection bias</a>.</p>
2020-11-17 16:57:41 +01:00
<h3 class='hasAnchor' id='arguments'><a class='anchor' href='#arguments'></a><code>filter_*()</code> shortcuts</h3>
<p>The functions <code>filter_first_isolate()</code> and <code>filter_first_weighted_isolate()</code> are helper functions to quickly filter on first isolates.</p>
<p>The function <code>filter_first_isolate()</code> is essentially equal to either:</p><pre> <span class='va'>x</span><span class='op'>[</span><span class='fu'>first_isolate</span><span class='op'>(</span><span class='va'>x</span>, <span class='va'>...</span><span class='op'>)</span>, <span class='op'>]</span>
<span class='va'>x</span> <span class='op'>%&gt;%</span> <span class='fu'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='op'>(</span><span class='fu'>first_isolate</span><span class='op'>(</span><span class='va'>...</span><span class='op'>)</span><span class='op'>)</span>
</pre>
2020-04-13 21:09:56 +02:00
<p>The function <code>filter_first_weighted_isolate()</code> is essentially equal to:</p><pre> <span class='va'>x</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/mutate.html'>mutate</a></span><span class='op'>(</span>keyab <span class='op'>=</span> <span class='fu'><a href='key_antibiotics.html'>key_antibiotics</a></span><span class='op'>(</span><span class='va'>.</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/mutate.html'>mutate</a></span><span class='op'>(</span>only_weighted_firsts <span class='op'>=</span> <span class='fu'>first_isolate</span><span class='op'>(</span><span class='va'>x</span>,
col_keyantibiotics <span class='op'>=</span> <span class='st'>"keyab"</span>, <span class='va'>...</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='op'>(</span><span class='va'>only_weighted_firsts</span> <span class='op'>==</span> <span class='cn'>TRUE</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/select.html'>select</a></span><span class='op'>(</span><span class='op'>-</span><span class='va'>only_weighted_firsts</span>, <span class='op'>-</span><span class='va'>keyab</span><span class='op'>)</span>
</pre>
2019-10-11 17:21:02 +02:00
2020-11-17 16:57:41 +01:00
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="key-antibiotics"><a class="anchor" href="#key-antibiotics"></a>Key antibiotics</h2>
2019-10-11 17:21:02 +02:00
<p>There are two ways to determine whether isolates can be included as first <em>weighted</em> isolates which will give generally the same results:</p><ol>
2020-12-22 00:51:17 +01:00
<li><p>Using <code>type = "keyantibiotics"</code> and argument <code>ignore_I</code></p>
<p>Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With <code>ignore_I = FALSE</code>, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the <code><a href='key_antibiotics.html'>key_antibiotics()</a></code> function.</p></li>
2020-12-22 00:51:17 +01:00
<li><p>Using <code>type = "points"</code> and argument <code>points_threshold</code></p>
<p>A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds <code>points_threshold</code>, which default to <code>2</code>, an isolate will be (re)selected as a first weighted isolate.</p></li>
</ol>
2020-02-22 17:03:47 +01:00
<h2 class="hasAnchor" id="stable-lifecycle"><a class="anchor" href="#stable-lifecycle"></a>Stable lifecycle</h2>
<p><img src='figures/lifecycle_stable.svg' style=margin-bottom:5px /> <br />
The <a href='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>
2020-12-22 00:51:17 +01:00
<p>If the unlying code needs breaking changes, they will occur gradually. For example, a argument will be deprecated and first continue to work, but will emit an 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>
2019-01-02 23:24:07 +01:00
<h2 class="hasAnchor" id="read-more-on-our-website-"><a class="anchor" href="#read-more-on-our-website-"></a>Read more on our website!</h2>
2019-10-11 17:21:02 +02:00
2020-10-08 11:16:03 +02:00
<p>On our website <a href='https://msberends.github.io/AMR/'>https://msberends.github.io/AMR/</a> you can find <a href='https://msberends.github.io/AMR/articles/AMR.html'>a comprehensive tutorial</a> about how to conduct AMR analysis, the <a href='https://msberends.github.io/AMR/reference/'>complete documentation of all functions</a> and <a href='https://msberends.github.io/AMR/articles/WHONET.html'>an example analysis using WHONET data</a>. As we would like to better understand the backgrounds and needs of our users, please <a href='https://msberends.github.io/AMR/survey.html'>participate in our survey</a>!</p>
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>
<div class='dont-index'><p><code><a href='key_antibiotics.html'>key_antibiotics()</a></code></p></div>
2018-12-29 22:24:19 +01:00
<h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
2019-10-11 17:21:02 +02:00
<pre class="examples"><span class='co'># `example_isolates` is a dataset available in the AMR package.</span>
<span class='co'># See ?example_isolates.</span>
2019-01-02 23:24:07 +01:00
<span class='co'># basic filtering on first isolates</span>
<span class='va'>example_isolates</span><span class='op'>[</span><span class='fu'>first_isolate</span><span class='op'>(</span><span class='va'>example_isolates</span><span class='op'>)</span>, <span class='op'>]</span>
2020-11-17 16:57:41 +01:00
<span class='co'># filtering based on isolates ----------------------------------------------</span>
<span class='co'># \donttest{</span>
<span class='kw'>if</span> <span class='op'>(</span><span class='kw'><a href='https://rdrr.io/r/base/library.html'>require</a></span><span class='op'>(</span><span class='st'><a href='https://dplyr.tidyverse.org'>"dplyr"</a></span><span class='op'>)</span><span class='op'>)</span> <span class='op'>{</span>
2020-11-17 16:57:41 +01:00
<span class='co'># filter on first isolates:</span>
<span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/mutate.html'>mutate</a></span><span class='op'>(</span>first_isolate <span class='op'>=</span> <span class='fu'>first_isolate</span><span class='op'>(</span><span class='va'>.</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='op'>(</span><span class='va'>first_isolate</span> <span class='op'>==</span> <span class='cn'>TRUE</span><span class='op'>)</span>
2020-11-17 16:57:41 +01:00
<span class='co'># short-hand versions:</span>
<span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='op'>(</span><span class='fu'>first_isolate</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span>
<span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'>filter_first_isolate</span><span class='op'>(</span><span class='op'>)</span>
<span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'>filter_first_weighted_isolate</span><span class='op'>(</span><span class='op'>)</span>
2020-08-10 12:46:03 +02:00
2020-11-17 16:57:41 +01:00
<span class='co'># now let's see if first isolates matter:</span>
<span class='va'>A</span> <span class='op'>&lt;-</span> <span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/group_by.html'>group_by</a></span><span class='op'>(</span><span class='va'>hospital_id</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarise</a></span><span class='op'>(</span>count <span class='op'>=</span> <span class='fu'><a href='count.html'>n_rsi</a></span><span class='op'>(</span><span class='va'>GEN</span><span class='op'>)</span>, <span class='co'># gentamicin availability</span>
resistance <span class='op'>=</span> <span class='fu'><a href='proportion.html'>resistance</a></span><span class='op'>(</span><span class='va'>GEN</span><span class='op'>)</span><span class='op'>)</span> <span class='co'># gentamicin resistance</span>
<span class='va'>B</span> <span class='op'>&lt;-</span> <span class='va'>example_isolates</span> <span class='op'>%&gt;%</span>
<span class='fu'>filter_first_weighted_isolate</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>%&gt;%</span> <span class='co'># the 1st isolate filter</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/group_by.html'>group_by</a></span><span class='op'>(</span><span class='va'>hospital_id</span><span class='op'>)</span> <span class='op'>%&gt;%</span>
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarise</a></span><span class='op'>(</span>count <span class='op'>=</span> <span class='fu'><a href='count.html'>n_rsi</a></span><span class='op'>(</span><span class='va'>GEN</span><span class='op'>)</span>, <span class='co'># gentamicin availability</span>
resistance <span class='op'>=</span> <span class='fu'><a href='proportion.html'>resistance</a></span><span class='op'>(</span><span class='va'>GEN</span><span class='op'>)</span><span class='op'>)</span> <span class='co'># gentamicin resistance</span>
<span class='co'># Have a look at A and B.</span>
<span class='co'># B is more reliable because every isolate is counted only once.</span>
<span class='co'># Gentamicin resistance in hospital D appears to be 3.7% higher than</span>
<span class='co'># when you (erroneously) would have used all isolates for analysis.</span>
<span class='op'>}</span>
<span class='co'># }</span>
</pre>
2018-12-29 22:24:19 +01:00
</div>
2020-04-13 21:09:56 +02:00
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
2020-04-15 11:30:28 +02:00
<nav id="toc" data-toggle="toc" class="sticky-top">
<h2 data-toc-skip>Contents</h2>
</nav>
2018-12-29 22:24:19 +01:00
</div>
</div>
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
<footer>
<div class="copyright">
2020-01-26 20:38:54 +01:00
<p>Developed by <a href='https://www.rug.nl/staff/m.s.berends/'>Matthijs S. Berends</a>, <a href='https://www.rug.nl/staff/c.f.luz/'>Christian F. Luz</a>, <a href='https://www.rug.nl/staff/a.w.friedrich/'>Alexander W. Friedrich</a>, <a href='https://www.rug.nl/staff/b.sinha/'>Bhanu N. M. Sinha</a>, <a href='https://www.rug.nl/staff/c.j.albers/'>Casper J. Albers</a>, <a href='https://www.rug.nl/staff/c.glasner/'>Corinna Glasner</a>.</p>
2018-12-29 22:24:19 +01:00
</div>
<div class="pkgdown">
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
2018-12-29 22:24:19 +01:00
</div>
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
</footer>
</div>
2019-10-11 17:21:02 +02:00
2018-12-29 22:24:19 +01:00
</body>
</html>
2019-10-11 17:21:02 +02:00