1
0
mirror of https://github.com/msberends/AMR.git synced 2025-07-27 09:08:02 +02:00
Files
articles
deps
news
reference
figures
%like%.html
%like_case%.html
%unlike%.html
%unlike_case%.html
3MRGN.html
4MRGN.html
AMR-deprecated.html
AMR-options.html
AMR-package.html
AMR.html
ATC.html
BRMO.html
EUCAST.html
MDR.html
NA_disk_.html
NA_mic_.html
NA_sir_.html
PDR.html
WHOCC.html
WHONET.html
XDR.html
ab.html
ab_atc.html
ab_atc_group1.html
ab_atc_group2.html
ab_cid.html
ab_class.html
ab_ddd.html
ab_ddd_units.html
ab_from_text.html
ab_group.html
ab_info.html
ab_loinc.html
ab_name.html
ab_property.html
ab_reset_session.html
ab_selector.html
ab_synonyms.html
ab_tradenames.html
ab_url.html
add_custom_antimicrobials.html
add_custom_microorganisms.html
administrable_iv.html
administrable_per_os.html
age.html
age_groups-1.png
age_groups.html
all_antimicrobials.html
aminoglycosides.html
aminopenicillins.html
amr_class.html
amr_distance_from_row.html
amr_selector.html
anti_join_microorganisms.html
antibiogram-1.png
antibiogram-2.png
antibiogram-3.png
antibiogram-4.png
antibiogram.html
antibiotics.html
antifungals.html
antimicrobial_selectors.html
antimicrobials.html
antimicrobials_equal.html
antimycobacterials.html
antivirals.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.html
as.mo.html
as.sir-1.png
as.sir-2.png
as.sir.data.frame.html
as.sir.default.html
as.sir.disk.html
as.sir.html
as.sir.mic.html
atc_online.html
atc_online_ddd.html
atc_online_ddd_units.html
atc_online_groups.html
autoplot.antibiogram.html
autoplot.disk.html
autoplot.mic.html
autoplot.resistance_predict.html
autoplot.sir.html
av.html
av_atc.html
av_cid.html
av_ddd.html
av_ddd_units.html
av_from_text.html
av_group.html
av_info.html
av_loinc.html
av_name.html
av_property.html
av_synonyms.html
av_tradenames.html
av_url.html
availability.html
betalactams.html
betalactams_with_inhibitor.html
brmo.html
bug_drug_combinations.html
carbapenems.html
cephalosporins.html
cephalosporins_1st.html
cephalosporins_2nd.html
cephalosporins_3rd.html
cephalosporins_4th.html
cephalosporins_5th.html
clear_custom_antimicrobials.html
clear_custom_microorganisms.html
clinical_breakpoints.html
count.html
count_I.html
count_IR.html
count_R.html
count_S.html
count_SI.html
count_all.html
count_df.html
count_resistant.html
count_susceptible.html
custom_eucast_rules.html
custom_mdro_guideline.html
disk.html
dosage.html
droplevels.mic.html
eucast_dosage.html
eucast_exceptional_phenotypes.html
eucast_rules.html
example_isolates.html
example_isolates_unclean.html
export_ncbi_biosample.html
facet_sir.html
filter_first_isolate.html
first_isolate.html
fluoroquinolones.html
format.bug_drug_combinations.html
full_join_microorganisms.html
g.test.html
geom_sir.html
get_AMR_locale.html
get_episode.html
get_mo_source.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
ggplot_sir_predict.html
glycopeptides.html
guess_ab_col.html
index.html
inner_join.html
inner_join_microorganisms.html
intrinsic_resistant.html
is.ab.html
is.av.html
is.disk.html
is.mic.html
is.mo.html
is.sir.html
is_new_episode.html
is_sir_eligible.html
isoxazolylpenicillins.html
italicise_taxonomy.html
italicize_taxonomy.html
join.html
key_antimicrobials.html
knit_print.antibiogram.html
kurtosis.data.frame.html
kurtosis.default.html
kurtosis.html
kurtosis.matrix.html
labels_sir_count.html
left_join_microorganisms.html
like.html
lincosamides.html
lipoglycopeptides.html
macrolides.html
mdr_cmi2012.html
mdr_tb.html
mdro.html
mean_amr_distance.data.frame.html
mean_amr_distance.html
mean_amr_distance.sir.html
mic.html
mic_p50.html
mic_p90.html
microorganisms.codes.html
microorganisms.groups.html
microorganisms.html
mo.html
mo_authors.html
mo_class.html
mo_cleaning_regex.html
mo_current.html
mo_domain.html
mo_failures.html
mo_family.html
mo_fullname.html
mo_gbif.html
mo_genus.html
mo_gramstain.html
mo_group_members.html
mo_info.html
mo_is_anaerobic.html
mo_is_gram_negative.html
mo_is_gram_positive.html
mo_is_intrinsic_resistant.html
mo_is_yeast.html
mo_kingdom.html
mo_lpsn.html
mo_matching_score.html
mo_mycobank.html
mo_name.html
mo_order.html
mo_oxygen_tolerance.html
mo_pathogenicity.html
mo_phylum.html
mo_property.html
mo_rank.html
mo_ref.html
mo_renamed.html
mo_reset_session.html
mo_shortname.html
mo_snomed.html
mo_source.html
mo_species.html
mo_status.html
mo_subspecies.html
mo_synonyms.html
mo_taxonomy.html
mo_type.html
mo_uncertainties.html
mo_url.html
mo_year.html
monobactams.html
mrgn.html
n_sir.html
nitrofurans.html
not_intrinsic_resistant.html
oxazolidinones.html
pca-1.png
pca-2.png
pca.html
penicillins.html
phenicols.html
plot-1.png
plot-10.png
plot-11.png
plot-12.png
plot-13.png
plot-14.png
plot-15.png
plot-16.png
plot-17.png
plot-18.png
plot-19.png
plot-2.png
plot-20.png
plot-3.png
plot-4.png
plot-5.png
plot-6.png
plot-7.png
plot-8.png
plot-9.png
plot.antibiogram.html
plot.disk.html
plot.html
plot.mic.html
plot.resistance_predict.html
plot.sir.html
polymyxins.html
portion.html
proportion.html
proportion_I.html
proportion_IR.html
proportion_R.html
proportion_S.html
proportion_SI.html
proportion_df.html
quinolones.html
random.html
random_disk.html
random_mic.html
random_sir.html
rescale_mic.html
reset_AMR_locale.html
resistance.html
resistance_predict-1.png
resistance_predict-2.png
resistance_predict-3.png
resistance_predict-4.png
resistance_predict.html
retrieve_wisca_parameters.html
rifamycins.html
right_join_microorganisms.html
scale_color_mic.html
scale_color_sir.html
scale_colour_mic.html
scale_colour_sir.html
scale_fill_mic.html
scale_fill_sir.html
scale_sir_colors.html
scale_sir_colours.html
scale_x_mic.html
scale_x_sir.html
scale_y_mic.html
scale_y_percent.html
semi_join_microorganisms.html
set_AMR_locale.html
set_ab_names.html
set_mo_source.html
sir.html
sir_confidence_interval.html
sir_df.html
sir_interpretation_history.html
sir_predict.html
skewness.data.frame.html
skewness.default.html
skewness.html
skewness.matrix.html
streptogramins.html
susceptibility.html
tetracyclines.html
theme_sir.html
top_n_microorganisms.html
translate.html
translate_AMR.html
trimethoprims.html
ureidopenicillins.html
wisca.html
.nojekyll
404.html
AMRforRGPT.svg
AMRforRGPT_python.svg
LICENSE-text.html
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
countries.png
countries_large.png
endorsement_clsi_eucast.jpg
extra.css
extra.js
favicon-16x16.png
favicon-32x32.png
favicon.ico
index.html
katex-auto.js
lang_au.svg
lang_ca.svg
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_sa.svg
lang_sv.svg
lang_tr.svg
lang_uk.svg
lang_us.svg
lang_zh.svg
lightswitch.js
link.svg
logo.svg
logo_certe.svg
logo_eh1h.png
logo_interreg.png
logo_python.svg
logo_rug.svg
logo_umcg.svg
pkgdown.js
pkgdown.yml
plot_readme.png
search.json
sitemap.xml
AMR/reference/ggplot_pca.html
2025-03-20 21:09:17 +00:00

260 lines
28 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"><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.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="PCA Biplot with ggplot2 — ggplot_pca"><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."><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"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></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.9222</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 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="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</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="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>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa 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 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/main/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 class="va">x</span>, choices <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">2</span>, scale <span class="op">=</span> <span class="fl">1</span>, pc.biplot <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span> labels <span class="op">=</span> <span class="cn">NULL</span>, labels_textsize <span class="op">=</span> <span class="fl">3</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>, ellipse <span class="op">=</span> <span class="cn">TRUE</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>, ellipse_alpha <span class="op">=</span> <span class="fl">0.5</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>, arrows <span class="op">=</span> <span class="cn">TRUE</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>, arrows_textsize <span class="op">=</span> <span class="fl">3</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>, base_textsize <span class="op">=</span> <span class="fl">10</span>, <span class="va">...</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 id="arg-x">x<a class="anchor" aria-label="anchor" href="#arg-x"></a></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 id="arg-choices">choices<a class="anchor" aria-label="anchor" href="#arg-choices"></a></dt>
<dd><p>length 2 vector specifying the components to plot. Only the default
is a biplot in the strict sense.</p></dd>
<dt id="arg-scale">scale<a class="anchor" aria-label="anchor" href="#arg-scale"></a></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 id="arg-pc-biplot">pc.biplot<a class="anchor" aria-label="anchor" href="#arg-pc-biplot"></a></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 id="arg-labels">labels<a class="anchor" aria-label="anchor" href="#arg-labels"></a></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 id="arg-labels-textsize">labels_textsize<a class="anchor" aria-label="anchor" href="#arg-labels-textsize"></a></dt>
<dd><p>the size of the text used for the labels</p></dd>
<dt id="arg-labels-text-placement">labels_text_placement<a class="anchor" aria-label="anchor" href="#arg-labels-text-placement"></a></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 id="arg-groups">groups<a class="anchor" aria-label="anchor" href="#arg-groups"></a></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 id="arg-ellipse">ellipse<a class="anchor" aria-label="anchor" href="#arg-ellipse"></a></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 id="arg-ellipse-prob">ellipse_prob<a class="anchor" aria-label="anchor" href="#arg-ellipse-prob"></a></dt>
<dd><p>statistical size of the ellipse in normal probability</p></dd>
<dt id="arg-ellipse-size">ellipse_size<a class="anchor" aria-label="anchor" href="#arg-ellipse-size"></a></dt>
<dd><p>the size of the ellipse line</p></dd>
<dt id="arg-ellipse-alpha">ellipse_alpha<a class="anchor" aria-label="anchor" href="#arg-ellipse-alpha"></a></dt>
<dd><p>the alpha (transparency) of the ellipse line</p></dd>
<dt id="arg-points-size">points_size<a class="anchor" aria-label="anchor" href="#arg-points-size"></a></dt>
<dd><p>the size of the points</p></dd>
<dt id="arg-points-alpha">points_alpha<a class="anchor" aria-label="anchor" href="#arg-points-alpha"></a></dt>
<dd><p>the alpha (transparency) of the points</p></dd>
<dt id="arg-arrows">arrows<a class="anchor" aria-label="anchor" href="#arg-arrows"></a></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 id="arg-arrows-colour">arrows_colour<a class="anchor" aria-label="anchor" href="#arg-arrows-colour"></a></dt>
<dd><p>the colour of the arrow and their text</p></dd>
<dt id="arg-arrows-size">arrows_size<a class="anchor" aria-label="anchor" href="#arg-arrows-size"></a></dt>
<dd><p>the size (thickness) of the arrow lines</p></dd>
<dt id="arg-arrows-textsize">arrows_textsize<a class="anchor" aria-label="anchor" href="#arg-arrows-textsize"></a></dt>
<dd><p>the size of the text at the end of the arrows</p></dd>
<dt id="arg-arrows-textangled">arrows_textangled<a class="anchor" aria-label="anchor" href="#arg-arrows-textangled"></a></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 id="arg-arrows-alpha">arrows_alpha<a class="anchor" aria-label="anchor" href="#arg-arrows-alpha"></a></dt>
<dd><p>the alpha (transparency) of the arrows and their text</p></dd>
<dt id="arg-base-textsize">base_textsize<a class="anchor" aria-label="anchor" href="#arg-base-textsize"></a></dt>
<dd><p>the text size for all plot elements except the labels and arrows</p></dd>
<dt id="arg--">...<a class="anchor" aria-label="anchor" href="#arg--"></a></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>, main <span class="op">=</span> <span class="st">"Base R biplot"</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 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">"ggplot2 biplot"</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="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="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">"ggplot2 biplot"</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" (<span style="background-color: #EEEEEE;">minimum</span> = 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> <span style="color: #0000BB;"> Columns selected for PCA: "</span><span style="color: #0000BB; font-weight: bold;">AMC</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CAZ</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CTX</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">CXM</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">GEN</span><span style="color: #0000BB;">", "</span><span style="color: #0000BB; font-weight: bold;">SXT</span><span style="color: #0000BB;">",</span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> <span style="color: #0000BB;"> "</span><span style="color: #0000BB; font-weight: bold;">TMP</span><span style="color: #0000BB;">", and "</span><span style="color: #0000BB; font-weight: bold;">TOB</span><span style="color: #0000BB;">". Total observations available: 7.</span></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" 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>