1
0
mirror of https://github.com/msberends/AMR.git synced 2024-12-28 04:06:12 +01:00
AMR/docs/reference/like.html

354 lines
16 KiB
HTML
Raw Normal View History

2018-12-23 21:26:21 +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">
2018-12-29 22:24:19 +01:00
<title>Pattern Matching — like • 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-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
2018-12-29 22:24:19 +01:00
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/flatly/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
2018-12-23 21:26:21 +01:00
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
2019-10-13 09:31:58 +02:00
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" />
2018-12-23 21:26:21 +01:00
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
2019-10-13 09:31:58 +02:00
<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>
2018-12-23 21:26:21 +01:00
<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>
2018-12-29 22:24:19 +01:00
<!-- docsearch -->
<script src="../docsearch.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.1/docsearch.min.css" integrity="sha256-QOSRU/ra9ActyXkIBbiIB144aDBdtvXBcNc3OTNuX/Q=" crossorigin="anonymous" />
<link href="../docsearch.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js" integrity="sha256-4HLtjeVgH0eIB3aZ9mLYF6E8oU5chNdjU6p6rrXpl9U=" crossorigin="anonymous"></script>
2018-12-23 21:26:21 +01:00
2018-12-29 22:24:19 +01:00
<link href="../extra.css" rel="stylesheet">
<script src="../extra.js"></script>
2018-12-23 21:26:21 +01:00
2019-10-13 09:31:58 +02:00
<meta property="og:title" content="Pattern Matching — like" />
<meta property="og:description" content="Convenient wrapper around base::grep() to match a pattern: a %like% b. It always returns a logical vector and is always case-insensitive (use a %like_case% b for case-sensitive matching). Also, pattern (b) can be as long as x (a) to compare items of each index in both vectors, or can both have the same length to iterate over all cases." />
2019-01-02 23:24:07 +01:00
<meta property="og:image" content="https://msberends.gitlab.io/AMR/logo.png" />
2018-12-23 21:26:21 +01:00
<meta name="twitter:card" content="summary" />
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +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-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
</head>
<body>
<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">
2018-12-29 22:24:19 +01:00
<a class="navbar-link" href="../index.html">AMR (for R)</a>
2019-11-29 19:43:23 +01:00
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">0.9.0</span>
2018-12-23 21:26:21 +01:00
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="../index.html">
2018-12-29 22:24:19 +01:00
<span class="fa fa-home"></span>
2018-12-23 21:26:21 +01:00
2018-12-29 22:24:19 +01:00
Home
2018-12-23 21:26:21 +01:00
</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">
<span class="fa fa-question-circle"></span>
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">
<span class="fa fa-directions"></span>
Conduct AMR analysis
</a>
</li>
<li>
2019-02-14 10:23:51 +01:00
<a href="../articles/resistance_predict.html">
2019-01-02 23:24:07 +01:00
<span class="fa fa-dice"></span>
Predict antimicrobial resistance
</a>
</li>
2019-05-28 16:50:40 +02:00
<li>
<a href="../articles/MDR.html">
<span class="fa fa-skull-crossbones"></span>
Determine multi-drug resistance (MDR)
</a>
</li>
2019-01-29 00:06:50 +01:00
<li>
<a href="../articles/WHONET.html">
<span class="fa fa-globe-americas"></span>
Work with WHONET data
</a>
</li>
2019-02-14 15:18:17 +01:00
<li>
<a href="../articles/SPSS.html">
<span class="fa fa-file-upload"></span>
Import data from SPSS/SAS/Stata
</a>
</li>
2019-01-02 23:24:07 +01:00
<li>
<a href="../articles/EUCAST.html">
<span class="fa fa-exchange-alt"></span>
Apply EUCAST rules
</a>
</li>
<li>
2019-02-14 10:23:51 +01:00
<a href="../reference/mo_property.html">
2019-01-02 23:24:07 +01:00
<span class="fa fa-bug"></span>
Get properties of a microorganism
</a>
</li>
<li>
2019-05-16 21:20:00 +02:00
<a href="../reference/ab_property.html">
2019-01-02 23:24:07 +01:00
<span class="fa fa-capsules"></span>
Get properties of an antibiotic
</a>
</li>
2019-01-11 20:37:23 +01:00
<li>
<a href="../articles/benchmarks.html">
<span class="fa fa-shipping-fast"></span>
Other: benchmarks
</a>
</li>
2019-01-02 23:24:07 +01:00
</ul>
2018-12-23 21:26:21 +01:00
</li>
<li>
2018-12-29 22:24:19 +01:00
<a href="../reference/">
<span class="fa fa-book-open"></span>
Manual
</a>
</li>
<li>
<a href="../authors.html">
<span class="fa fa-users"></span>
Authors
</a>
2018-12-23 21:26:21 +01:00
</li>
2018-12-29 22:24:19 +01:00
<li>
<a href="../news/">
<span class="far fa far fa-newspaper"></span>
2018-12-23 21:26:21 +01:00
2018-12-29 22:24:19 +01:00
Changelog
2018-12-23 21:26:21 +01:00
</a>
</li>
2019-01-02 23:24:07 +01:00
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
2018-12-29 22:24:19 +01:00
<a href="https://gitlab.com/msberends/AMR">
<span class="fab fa fab fa-gitlab"></span>
Source Code
</a>
2018-12-23 21:26:21 +01:00
</li>
2019-01-02 23:24:07 +01:00
<li>
2018-12-29 22:24:19 +01:00
<a href="../LICENSE-text.html">
<span class="fa fa-book"></span>
Licence
</a>
</li>
2018-12-23 21:26:21 +01:00
</ul>
2019-10-13 09:31:58 +02:00
<form class="navbar-form navbar-right hidden-xs hidden-sm" role="search">
2018-12-29 22:24:19 +01:00
<div class="form-group">
<input type="search" class="form-control" name="search-input" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off">
</div>
</form>
2018-12-23 21:26:21 +01:00
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
</header>
<div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Pattern Matching</h1>
<div class="hidden name"><code>like.Rd</code></div>
</div>
<div class="ref-description">
<p>Convenient wrapper around <code><a href='https://rdrr.io/r/base/grep.html'>base::grep()</a></code> to match a pattern: <code>a %like% b</code>. It always returns a <code><a href='https://rdrr.io/r/base/logical.html'>logical</a></code> vector and is always case-insensitive (use <code>a %like_case% b</code> for case-sensitive matching). Also, <code>pattern</code> (<em>b</em>) can be as long as <code>x</code> (<em>a</em>) to compare items of each index in both vectors, or can both have the same length to iterate over all cases.</p>
2018-12-23 21:26:21 +01:00
</div>
<pre class="usage"><span class='fu'>like</span>(<span class='no'>x</span>, <span class='no'>pattern</span>, <span class='kw'>ignore.case</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)
2018-12-23 21:26:21 +01:00
<span class='no'>x</span> <span class='kw'>%like%</span> <span class='no'>pattern</span>
<span class='no'>x</span> <span class='kw'>%like_case%</span> <span class='no'>pattern</span></pre>
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +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>
<th>x</th>
2019-11-29 19:43:23 +01:00
<td><p>a character vector where matches are sought, or an object which can be coerced by <code><a href='https://rdrr.io/r/base/character.html'>as.character()</a></code> to a character vector.</p></td>
2018-12-23 21:26:21 +01:00
</tr>
<tr>
<th>pattern</th>
2019-11-29 19:43:23 +01:00
<td><p>a character string containing a regular expression (or <code><a href='https://rdrr.io/r/base/character.html'>character</a></code> string for <code>fixed = TRUE</code>) to be matched in the given character vector. Coerced by <code><a href='https://rdrr.io/r/base/character.html'>as.character()</a></code> to a character string if possible. If a <code><a href='https://rdrr.io/r/base/character.html'>character</a></code> vector of length 2 or more is supplied, the first element is used with a warning.</p></td>
2018-12-23 21:26:21 +01:00
</tr>
<tr>
<th>ignore.case</th>
2019-11-29 19:43:23 +01:00
<td><p>if <code>FALSE</code>, the pattern matching is <em>case sensitive</em> and if <code>TRUE</code>, case is ignored during matching.</p></td>
</tr>
2018-12-23 21:26:21 +01:00
</table>
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
<h2 class="hasAnchor" id="source"><a class="anchor" href="#source"></a>Source</h2>
<p>Idea from the <a href='https://github.com/Rdatatable/data.table/blob/master/R/like.R'><code>like</code> function from the <code>data.table</code> package</a>, but made it case insensitive at default and let it support multiple patterns. Also, if the regex fails the first time, it tries again with <code>perl = TRUE</code>.</p>
2018-12-23 21:26:21 +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-23 21:26:21 +01:00
<h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
<p>Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like <code>Ctrl+Shift+L</code> or <code>Cmd+Shift+L</code> (see <code>Tools</code> &gt; <code>Modify Keyboard Shortcuts...</code>).</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-13 09:31:58 +02:00
<p>On our website <a href='https://msberends.gitlab.io/AMR'>https://msberends.gitlab.io/AMR</a> you can find <a href='https://msberends.gitlab.io/AMR/articles/AMR.html'>a tutorial</a> about how to conduct AMR analysis, the <a href='https://msberends.gitlab.io/AMR/reference'>complete documentation of all functions</a> (which reads a lot easier than here in R) and <a href='https://msberends.gitlab.io/AMR/articles/WHONET.html'>an example analysis using WHONET data</a>.</p>
2018-12-23 21:26:21 +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='https://rdrr.io/r/base/grep.html'>base::grep()</a></code></p></div>
2018-12-23 21:26:21 +01:00
<h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
2019-10-13 09:31:58 +02:00
<pre class="examples"><span class='co'># simple test</span>
2018-12-23 21:26:21 +01:00
<span class='no'>a</span> <span class='kw'>&lt;-</span> <span class='st'>"This is a test"</span>
<span class='no'>b</span> <span class='kw'>&lt;-</span> <span class='st'>"TEST"</span>
2019-01-02 23:24:07 +01:00
<span class='no'>a</span> <span class='kw'>%like%</span> <span class='no'>b</span>
<span class='co'>#&gt; TRUE</span>
<span class='no'>b</span> <span class='kw'>%like%</span> <span class='no'>a</span>
<span class='co'>#&gt; FALSE</span>
2018-12-23 21:26:21 +01:00
<span class='co'># also supports multiple patterns, length must be equal to x</span>
2019-10-13 09:31:58 +02:00
<span class='no'>a</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"Test case"</span>, <span class='st'>"Something different"</span>, <span class='st'>"Yet another thing"</span>)
<span class='no'>b</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"case"</span>, <span class='st'>"diff"</span>, <span class='st'>"yet"</span>)
2019-01-02 23:24:07 +01:00
<span class='no'>a</span> <span class='kw'>%like%</span> <span class='no'>b</span>
<span class='co'>#&gt; TRUE TRUE TRUE</span>
2018-12-23 21:26:21 +01:00
<span class='co'># get frequencies of bacteria whose name start with 'Ent' or 'ent'</span>
2019-10-13 09:31:58 +02:00
<span class='fu'><a href='https://rdrr.io/r/base/library.html'>library</a></span>(<span class='no'>dplyr</span>)
<span class='no'>example_isolates</span> <span class='kw'>%&gt;%</span>
2019-11-06 14:43:23 +01:00
<span class='fu'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span>(<span class='fu'><a href='mo_property.html'>mo_genus</a></span>(<span class='no'>mo</span>) <span class='kw'>%like%</span> <span class='st'>'^ent'</span>) <span class='kw'>%&gt;%</span>
<span class='fu'><a href='https://rdrr.io/pkg/cleaner/man/freq.html'>freq</a></span>(<span class='fu'><a href='mo_property.html'>mo_fullname</a></span>(<span class='no'>mo</span>))</pre>
2018-12-23 21:26:21 +01:00
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
<h2>Contents</h2>
<ul class="nav nav-pills nav-stacked">
<li><a href="#arguments">Arguments</a></li>
<li><a href="#source">Source</a></li>
<li><a href="#value">Value</a></li>
<li><a href="#details">Details</a></li>
2019-01-02 23:24:07 +01:00
<li><a href="#read-more-on-our-website-">Read more on our website!</a></li>
2018-12-23 21:26:21 +01:00
<li><a href="#see-also">See also</a></li>
<li><a href="#examples">Examples</a></li>
</ul>
</div>
</div>
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
<footer>
<div class="copyright">
<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/'>Alex 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-23 21:26:21 +01:00
</div>
<div class="pkgdown">
2019-10-13 09:31:58 +02:00
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p>
2018-12-23 21:26:21 +01:00
</div>
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
</footer>
</div>
2018-12-29 22:24:19 +01:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.1/docsearch.min.js" integrity="sha256-GKvGqXDznoRYHCwKXGnuchvKSwmx9SRMrZOTh2g4Sb0=" crossorigin="anonymous"></script>
<script>
docsearch({
apiKey: 'f737050abfd4d726c63938e18f8c496e',
indexName: 'amr',
inputSelector: 'input#search-input.form-control',
transformData: function(hits) {
return hits.map(function (hit) {
hit.url = updateHitURL(hit);
return hit;
});
}
});
</script>
2018-12-23 21:26:21 +01:00
2019-10-13 09:31:58 +02:00
2018-12-23 21:26:21 +01:00
</body>
</html>
2019-10-13 09:31:58 +02:00