1
0
mirror of https://github.com/msberends/AMR.git synced 2025-07-27 22:05:29 +02:00
Files
articles
deps
news
reference
figures
AMR-deprecated.html
AMR-options.html
AMR.html
Rplot001.png
Rplot002.png
Rplot003.png
Rplot004.png
Rplot005.png
Rplot006.png
Rplot007.png
Rplot008.png
Rplot009.png
Rplot010.png
WHOCC.html
WHONET.html
ab_from_text.html
ab_property.html
add_custom_antimicrobials.html
add_custom_microorganisms.html
age.html
age_groups-1.png
age_groups.html
antibiogram-1.png
antibiogram-2.png
antibiogram-3.png
antibiogram-4.png
antibiogram.html
antibiotic_class_selectors.html
antibiotics.html
as.ab.html
as.av.html
as.disk.html
as.mic-1.png
as.mic-2.png
as.mic-3.png
as.mic-4.png
as.mic-5.png
as.mic.html
as.mo.html
as.sir-1.png
as.sir-2.png
as.sir.html
atc_online.html
av_from_text.html
av_property.html
availability.html
bug_drug_combinations.html
clinical_breakpoints.html
count.html
custom_eucast_rules.html
dosage.html
eucast_rules.html
example_isolates.html
example_isolates_unclean.html
first_isolate.html
g.test.html
get_episode.html
ggplot_pca-1.png
ggplot_pca-2.png
ggplot_pca.html
ggplot_sir-1.png
ggplot_sir-10.png
ggplot_sir-2.png
ggplot_sir-3.png
ggplot_sir-4.png
ggplot_sir-5.png
ggplot_sir-6.png
ggplot_sir-7.png
ggplot_sir-8.png
ggplot_sir-9.png
ggplot_sir.html
guess_ab_col.html
index.html
intrinsic_resistant.html
italicise_taxonomy.html
join.html
key_antimicrobials.html
kurtosis.html
like.html
mdro.html
mean_amr_distance.html
microorganisms.codes.html
microorganisms.html
mo_matching_score.html
mo_property.html
mo_source.html
pca-1.png
pca-2.png
pca.html
plot-1.png
plot-2.png
plot-3.png
plot-4.png
plot-5.png
plot-6.png
plot-7.png
plot-8.png
plot-9.png
plot.html
proportion.html
random.html
resistance_predict-1.png
resistance_predict-2.png
resistance_predict-3.png
resistance_predict-4.png
resistance_predict.html
skewness.html
translate.html
.nojekyll
404.html
AMR_intro.png
AMR_intro.svg
LICENSE-text.html
android-chrome-192x192.png
android-chrome-512x512.png
apple-touch-icon-120x120.png
apple-touch-icon-152x152.png
apple-touch-icon-180x180.png
apple-touch-icon-60x60.png
apple-touch-icon-76x76.png
apple-touch-icon.png
authors.html
browserconfig.xml
countries.png
countries_large.png
extra.css
extra.js
favicon-16x16.png
favicon-32x32.png
favicon.ico
import1.png
import2.png
index.html
lang_cs.svg
lang_da.svg
lang_de.svg
lang_el.svg
lang_en.svg
lang_es.svg
lang_fi.svg
lang_fr.svg
lang_it.svg
lang_ja.svg
lang_nl.svg
lang_no.svg
lang_pl.svg
lang_pt.svg
lang_ro.svg
lang_ru.svg
lang_sv.svg
lang_tr.svg
lang_uk.svg
lang_zh.svg
link.svg
logo.svg
logo_certe.svg
logo_eh1h.png
logo_interreg.png
logo_rug.svg
logo_umcg.svg
mstile-150x150.png
mstile-310x310.png
pkgdown.js
pkgdown.yml
safari-pinned-tab.svg
search.json
site.webmanifest
sitemap.xml
AMR/reference/ggplot_pca.html
2023-02-22 15:34:03 +00:00

365 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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"><meta name="description" content="Produces a ggplot2 variant of a so-called biplot for PCA (principal component analysis), but is more flexible and more appealing than the base R biplot() function."><title>PCA Biplot with ggplot2 — ggplot_pca • 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.2.2/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.2.2/bootstrap.bundle.min.js"></script><link href="../deps/Fira_Code-0.4.5/font.css" rel="stylesheet"><!-- Font Awesome icons --><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"><!-- bootstrap-toc --><script src="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin="anonymous"></script><!-- headroom.js --><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><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="PCA Biplot with ggplot2 — ggplot_pca"><meta property="og:description" content="Produces a ggplot2 variant of a so-called biplot for PCA (principal component analysis), but is more flexible and more appealing than the base R biplot() function."><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:creator" content="@msberends"><meta name="twitter:site" content="@msberends"><!-- 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]--></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar fixed-top navbar-dark navbar-expand-lg bg-primary"><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="">1.8.2.9141</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="nav-item">
<a class="nav-link" href="../index.html">
<span class="fa fa-home"></span>
Home
</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown--how-to">
<span class="fa fa-question-circle"></span>
How to
</a>
<div class="dropdown-menu" aria-labelledby="dropdown--how-to">
<a class="dropdown-item" href="../reference/AMR-options.html">
<span class="fa fa-gear"></span>
User- Or Team-specific Package Settings
</a>
<a class="dropdown-item" href="../articles/AMR.html">
<span class="fa fa-directions"></span>
Conduct AMR Analysis
</a>
<a class="dropdown-item" href="../reference/antibiogram.html">
<span class="fa fa-file-prescription"></span>
Generate Antibiogram (Trad./Syndromic/WISCA)
</a>
<a class="dropdown-item" href="../articles/resistance_predict.html">
<span class="fa fa-dice"></span>
Predict Antimicrobial Resistance
</a>
<a class="dropdown-item" href="../articles/datasets.html">
<span class="fa fa-database"></span>
Data Sets for Download / Own Use
</a>
<a class="dropdown-item" href="../articles/PCA.html">
<span class="fa fa-compress"></span>
Conduct Principal Component Analysis for AMR
</a>
<a class="dropdown-item" href="../articles/MDR.html">
<span class="fa fa-skull-crossbones"></span>
Determine Multi-Drug Resistance (MDR)
</a>
<a class="dropdown-item" href="../articles/WHONET.html">
<span class="fa fa-globe-americas"></span>
Work with WHONET Data
</a>
<a class="dropdown-item" href="../articles/SPSS.html">
<span class="fa fa-file-upload"></span>
Import Data From SPSS/SAS/Stata
</a>
<a class="dropdown-item" href="../articles/EUCAST.html">
<span class="fa fa-exchange-alt"></span>
Apply Eucast Rules
</a>
<a class="dropdown-item" href="../reference/mo_property.html">
<span class="fa fa-bug"></span>
Get Taxonomy of a Microorganism
</a>
<a class="dropdown-item" href="../reference/ab_property.html">
<span class="fa fa-capsules"></span>
Get Properties of an Antibiotic Drug
</a>
<a class="dropdown-item" href="../reference/av_property.html">
<span class="fa fa-capsules"></span>
Get Properties of an Antiviral Drug
</a>
</div>
</li>
<li class="active 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>
<li class="nav-item">
<a class="nav-link" href="../news/index.html">
<span class="far fa far fa-newspaper"></span>
Changelog
</a>
</li>
</ul><form class="form-inline my-2 my-lg-0" role="search">
<input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="../search.json" id="search-input" placeholder="Search for" autocomplete="off"></form>
<ul class="navbar-nav"><li class="nav-item">
<a class="external-link nav-link" href="https://github.com/msberends/AMR">
<span class="fab fa fab fa-github"></span>
Source Code
</a>
</li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.svg" class="logo" alt=""><h1>PCA Biplot with <code>ggplot2</code></h1>
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/HEAD/R/ggplot_pca.R" class="external-link"><code>R/ggplot_pca.R</code></a></small>
<div class="d-none name"><code>ggplot_pca.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Produces a <code>ggplot2</code> variant of a so-called <a href="https://en.wikipedia.org/wiki/Biplot" class="external-link">biplot</a> for PCA (principal component analysis), but is more flexible and more appealing than the base <span style="R">R</span> <code><a href="https://rdrr.io/r/stats/biplot.html" class="external-link">biplot()</a></code> function.</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">ggplot_pca</span><span class="op">(</span></span>
<span> <span class="va">x</span>,</span>
<span> choices <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">2</span>,</span>
<span> scale <span class="op">=</span> <span class="fl">1</span>,</span>
<span> pc.biplot <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span> labels <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> labels_textsize <span class="op">=</span> <span class="fl">3</span>,</span>
<span> labels_text_placement <span class="op">=</span> <span class="fl">1.5</span>,</span>
<span> groups <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> ellipse <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span> ellipse_prob <span class="op">=</span> <span class="fl">0.68</span>,</span>
<span> ellipse_size <span class="op">=</span> <span class="fl">0.5</span>,</span>
<span> ellipse_alpha <span class="op">=</span> <span class="fl">0.5</span>,</span>
<span> points_size <span class="op">=</span> <span class="fl">2</span>,</span>
<span> points_alpha <span class="op">=</span> <span class="fl">0.25</span>,</span>
<span> arrows <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span> arrows_colour <span class="op">=</span> <span class="st">"darkblue"</span>,</span>
<span> arrows_size <span class="op">=</span> <span class="fl">0.5</span>,</span>
<span> arrows_textsize <span class="op">=</span> <span class="fl">3</span>,</span>
<span> arrows_textangled <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span> arrows_alpha <span class="op">=</span> <span class="fl">0.75</span>,</span>
<span> base_textsize <span class="op">=</span> <span class="fl">10</span>,</span>
<span> <span class="va">...</span></span>
<span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="source">Source<a class="anchor" aria-label="anchor" href="#source"></a></h2>
<p>The <code>ggplot_pca()</code> function is based on the <code>ggbiplot()</code> function from the <code>ggbiplot</code> package by Vince Vu, as found on GitHub: <a href="https://github.com/vqv/ggbiplot" class="external-link">https://github.com/vqv/ggbiplot</a> (retrieved: 2 March 2020, their latest commit: <a href="https://github.com/vqv/ggbiplot/commit/7325e880485bea4c07465a0304c470608fffb5d9" class="external-link"><code>7325e88</code></a>; 12 February 2015).</p>
<p>As per their GPL-2 licence that demands documentation of code changes, the changes made based on the source code were:</p><ol><li><p>Rewritten code to remove the dependency on packages <code>plyr</code>, <code>scales</code> and <code>grid</code></p></li>
<li><p>Parametrised more options, like arrow and ellipse settings</p></li>
<li><p>Hardened all input possibilities by defining the exact type of user input for every argument</p></li>
<li><p>Added total amount of explained variance as a caption in the plot</p></li>
<li><p>Cleaned all syntax based on the <code>lintr</code> package, fixed grammatical errors and added integrity checks</p></li>
<li><p>Updated documentation</p></li>
</ol></div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt>x</dt>
<dd><p>an object returned by <code><a href="pca.html">pca()</a></code>, <code><a href="https://rdrr.io/r/stats/prcomp.html" class="external-link">prcomp()</a></code> or <code><a href="https://rdrr.io/r/stats/princomp.html" class="external-link">princomp()</a></code></p></dd>
<dt>choices</dt>
<dd><p>length 2 vector specifying the components to plot. Only the default
is a biplot in the strict sense.</p></dd>
<dt>scale</dt>
<dd><p>The variables are scaled by <code>lambda ^ scale</code> and the
observations are scaled by <code>lambda ^ (1-scale)</code> where
<code>lambda</code> are the singular values as computed by
<code><a href="https://rdrr.io/r/stats/princomp.html" class="external-link">princomp</a></code>. Normally <code>0 &lt;= scale &lt;= 1</code>, and a warning
will be issued if the specified <code>scale</code> is outside this range.</p></dd>
<dt>pc.biplot</dt>
<dd><p>If true, use what Gabriel (1971) refers to as a "principal component
biplot", with <code>lambda = 1</code> and observations scaled up by sqrt(n) and
variables scaled down by sqrt(n). Then inner products between
variables approximate covariances and distances between observations
approximate Mahalanobis distance.</p></dd>
<dt>labels</dt>
<dd><p>an optional vector of labels for the observations. If set, the labels will be placed below their respective points. When using the <code><a href="pca.html">pca()</a></code> function as input for <code>x</code>, this will be determined automatically based on the attribute <code>non_numeric_cols</code>, see <code><a href="pca.html">pca()</a></code>.</p></dd>
<dt>labels_textsize</dt>
<dd><p>the size of the text used for the labels</p></dd>
<dt>labels_text_placement</dt>
<dd><p>adjustment factor the placement of the variable names (<code>&gt;=1</code> means further away from the arrow head)</p></dd>
<dt>groups</dt>
<dd><p>an optional vector of groups for the labels, with the same length as <code>labels</code>. If set, the points and labels will be coloured according to these groups. When using the <code><a href="pca.html">pca()</a></code> function as input for <code>x</code>, this will be determined automatically based on the attribute <code>non_numeric_cols</code>, see <code><a href="pca.html">pca()</a></code>.</p></dd>
<dt>ellipse</dt>
<dd><p>a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> to indicate whether a normal data ellipse should be drawn for each group (set with <code>groups</code>)</p></dd>
<dt>ellipse_prob</dt>
<dd><p>statistical size of the ellipse in normal probability</p></dd>
<dt>ellipse_size</dt>
<dd><p>the size of the ellipse line</p></dd>
<dt>ellipse_alpha</dt>
<dd><p>the alpha (transparency) of the ellipse line</p></dd>
<dt>points_size</dt>
<dd><p>the size of the points</p></dd>
<dt>points_alpha</dt>
<dd><p>the alpha (transparency) of the points</p></dd>
<dt>arrows</dt>
<dd><p>a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> to indicate whether arrows should be drawn</p></dd>
<dt>arrows_colour</dt>
<dd><p>the colour of the arrow and their text</p></dd>
<dt>arrows_size</dt>
<dd><p>the size (thickness) of the arrow lines</p></dd>
<dt>arrows_textsize</dt>
<dd><p>the size of the text at the end of the arrows</p></dd>
<dt>arrows_textangled</dt>
<dd><p>a <a href="https://rdrr.io/r/base/logical.html" class="external-link">logical</a> whether the text at the end of the arrows should be angled</p></dd>
<dt>arrows_alpha</dt>
<dd><p>the alpha (transparency) of the arrows and their text</p></dd>
<dt>base_textsize</dt>
<dd><p>the text size for all plot elements except the labels and arrows</p></dd>
<dt>...</dt>
<dd><p>arguments passed on to functions</p></dd>
</dl></div>
<div class="section level2">
<h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
<p>The colours for labels and points can be changed by adding another scale layer for colour, such as <code><a href="https://ggplot2.tidyverse.org/reference/scale_viridis.html" class="external-link">scale_colour_viridis_d()</a></code> and <code><a href="https://ggplot2.tidyverse.org/reference/scale_brewer.html" class="external-link">scale_colour_brewer()</a></code>.</p>
</div>
<div class="section level2">
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="co"># `example_isolates` is a data set available in the AMR package.</span></span></span>
<span class="r-in"><span><span class="co"># See ?example_isolates.</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># \donttest{</span></span></span>
<span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="st"><a href="https://dplyr.tidyverse.org" class="external-link">"dplyr"</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span> <span class="co"># calculate the resistance per group first</span></span></span>
<span class="r-in"><span> <span class="va">resistance_data</span> <span class="op">&lt;-</span> <span class="va">example_isolates</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><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></span>
<span class="r-in"><span> order <span class="op">=</span> <span class="fu"><a href="mo_property.html">mo_order</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span>, <span class="co"># group on anything, like order</span></span></span>
<span class="r-in"><span> genus <span class="op">=</span> <span class="fu"><a href="mo_property.html">mo_genus</a></span><span class="op">(</span><span class="va">mo</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span> <span class="co"># and genus as we do here;</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/filter.html" class="external-link">filter</a></span><span class="op">(</span><span class="fu"><a href="https://dplyr.tidyverse.org/reference/context.html" class="external-link">n</a></span><span class="op">(</span><span class="op">)</span> <span class="op">&gt;=</span> <span class="fl">30</span><span class="op">)</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span> <span class="co"># filter on only 30 results per group</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://dplyr.tidyverse.org/reference/summarise_all.html" class="external-link">summarise_if</a></span><span class="op">(</span><span class="va">is.sir</span>, <span class="va">resistance</span><span class="op">)</span> <span class="co"># then get resistance of all drugs</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># now conduct PCA for certain antimicrobial drugs</span></span></span>
<span class="r-in"><span> <span class="va">pca_result</span> <span class="op">&lt;-</span> <span class="va">resistance_data</span> <span class="op"><a href="https://magrittr.tidyverse.org/reference/pipe.html" class="external-link">%&gt;%</a></span></span></span>
<span class="r-in"><span> <span class="fu"><a href="pca.html">pca</a></span><span class="op">(</span><span class="va">AMC</span>, <span class="va">CXM</span>, <span class="va">CTX</span>, <span class="va">CAZ</span>, <span class="va">GEN</span>, <span class="va">TOB</span>, <span class="va">TMP</span>, <span class="va">SXT</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://rdrr.io/r/base/summary.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># old base R plotting method:</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://rdrr.io/r/stats/biplot.html" class="external-link">biplot</a></span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># new ggplot2 plotting method using this package:</span></span></span>
<span class="r-in"><span> <span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="st"><a href="https://ggplot2.tidyverse.org" class="external-link">"ggplot2"</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span> <span class="fu">ggplot_pca</span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># still extendible with any ggplot2 function</span></span></span>
<span class="r-in"><span> <span class="fu">ggplot_pca</span><span class="op">(</span><span class="va">pca_result</span><span class="op">)</span> <span class="op">+</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/scale_viridis.html" class="external-link">scale_colour_viridis_d</a></span><span class="op">(</span><span class="op">)</span> <span class="op">+</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/labs.html" class="external-link">labs</a></span><span class="op">(</span>title <span class="op">=</span> <span class="st">"Title here"</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="op">}</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>There were 73 warnings in `summarise()`.</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> The first warning was:</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span style="color: #00BBBB;"></span> In argument: `PEN = (function (..., minimum = 30, as_percent = FALSE,</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> only_all_tested = FALSE) ...`.</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span style="color: #00BBBB;"></span> In group 5: `order = "Lactobacillales"`, `genus = "Enterococcus"`.</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> Caused by warning:</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span style="color: #BBBB00;">!</span> Introducing NA: only 14 results available for PEN in group: order =</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> "Lactobacillales", genus = "Enterococcus" (minimum = 30).</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span style="color: #00BBBB;"></span> Run `dplyr::last_dplyr_warnings()` to see the 72 remaining warnings.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Columns selected for PCA: "AMC", "CAZ", "CTX", "CXM", "GEN", "SXT",</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> "TMP", and "TOB". Total observations available: 7.</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Groups (n=4, named as 'order'):</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "Caryophanales" "Enterobacterales" "Lactobacillales" "Pseudomonadales" </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-plt img"><img src="ggplot_pca-1.png" alt="" width="700" height="433"></span>
<span class="r-plt img"><img src="ggplot_pca-2.png" alt="" width="700" height="433"></span>
<span class="r-in"><span><span class="co"># }</span></span></span>
</code></pre></div>
</div>
</main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p></p><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></p><p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/logos/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/logos/logo_umcg.svg" style="max-width: 150px;"></a></p>
</div>
</footer></div>
</body></html>