<!-- Generated by pkgdown: do not edit by hand --><htmllang="en"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><metaname="description"content="Performs a principal component analysis (PCA) based on a data set with automatic determination for afterwards plotting the groups and labels, and automatic filtering on only suitable (i.e. non-empty and numeric) variables."><title>Principal Component Analysis (for AMR) — pca • AMR (for R)</title><!-- favicons --><linkrel="icon"type="image/png"sizes="16x16"href="../favicon-16x16.png"><linkrel="icon"type="image/png"sizes="32x32"href="../favicon-32x32.png"><linkrel="apple-touch-icon"type="image/png"sizes="180x180"href="../apple-touch-icon.png"><linkrel="apple-touch-icon"type="image/png"sizes="120x120"href="../apple-touch-icon-120x120.png"><linkrel="apple-touch-icon"type="image/png"sizes="76x76"href="../apple-touch-icon-76x76.png"><linkrel="apple-touch-icon"type="image/png"sizes="60x60"href="../apple-touch-icon-60x60.png"><scriptsrc="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><linkhref="../deps/bootstrap-5.3.1/bootstrap.min.css"rel="stylesheet"><scriptsrc="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><linkhref="../deps/Lato-0.4.9/font.css"rel="stylesheet"><linkhref="../deps/Fira_Code-0.4.9/font.css"rel="stylesheet"><!-- Font Awesome icons --><linkrel="stylesheet"href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk="crossorigin="anonymous"><linkrel="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 --><scriptsrc="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 --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js"integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js"integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4="crossorigin="anonymous"></script><!-- clipboard.js --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js"integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI="crossorigin="anonymous"></script><!-- search --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js"integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A=="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js"integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg=="crossorigin="anonymous"></script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js"integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww=="crossorigin="anonymous"></script><!-- pkgdown --><scriptsrc="../pkgdown.js"></script><linkhref="../extra.css"rel="stylesheet"><scriptsrc="../extra.js"></script><metaproperty="og:title"content="Principal Component Analysis (for AMR) — pca"><metaproperty="og:description"content="Performs a principal component analysis (PCA) based on a data set with automatic determination for afterwards plotting the groups and labels, and automatic filtering on only suitable (i.e. non-empty and numeric) variables."><metaproperty="og:image"content="https://msberends.github.io/AMR/logo.svg"><metan
<p>Performs a principal component analysis (PCA) based on a data set with automatic determination for afterwards plotting the groups and labels, and automatic filtering on only suitable (i.e. non-empty and numeric) variables.</p>
<p>The <code>pca()</code> function takes a <ahref="https://rdrr.io/r/base/data.frame.html"class="external-link">data.frame</a> as input and performs the actual PCA with the <spanstyle="R">R</span> function <code><ahref="https://rdrr.io/r/stats/prcomp.html"class="external-link">prcomp()</a></code>.</p>
<p>The result of the <code>pca()</code> function is a <ahref="https://rdrr.io/r/stats/prcomp.html"class="external-link">prcomp</a> object, with an additional attribute <code>non_numeric_cols</code> which is a vector with the column names of all columns that do not contain <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> values. These are probably the groups and labels, and will be used by <code><ahref="ggplot_pca.html">ggplot_pca()</a></code>.</p>
<divclass="sourceCode"><preclass="sourceCode r"><code><spanclass="r-in"><span><spanclass="co"># `example_isolates` is a data set available in the AMR package.</span></span></span>
<spanclass="r-in"><span><spanclass="co"># See ?example_isolates.</span></span></span>
<spanclass="r-in"><span> order <spanclass="op">=</span><spanclass="fu"><ahref="mo_property.html">mo_order</a></span><spanclass="op">(</span><spanclass="va">mo</span><spanclass="op">)</span>, <spanclass="co"># group on anything, like order</span></span></span>
<spanclass="r-in"><span> genus <spanclass="op">=</span><spanclass="fu"><ahref="mo_property.html">mo_genus</a></span><spanclass="op">(</span><spanclass="va">mo</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="op">)</span><spanclass="op"><ahref="https://magrittr.tidyverse.org/reference/pipe.html"class="external-link">%>%</a></span><spanclass="co"># and genus as we do here;</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://dplyr.tidyverse.org/reference/filter.html"class="external-link">filter</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://dplyr.tidyverse.org/reference/context.html"class="external-link">n</a></span><spanclass="op">(</span><spanclass="op">)</span><spanclass="op">>=</span><spanclass="fl">30</span><spanclass="op">)</span><spanclass="op"><ahref="https://magrittr.tidyverse.org/reference/pipe.html"class="external-link">%>%</a></span><spanclass="co"># filter on only 30 results per group</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://dplyr.tidyverse.org/reference/summarise_all.html"class="external-link">summarise_if</a></span><spanclass="op">(</span><spanclass="va">is.sir</span>, <spanclass="va">resistance</span><spanclass="op">)</span><spanclass="co"># then get resistance of all drugs</span></span></span>
<spanclass="r-wrn co"><spanclass="r-pr">#></span><spanstyle="color: #00BBBB;">ℹ</span> In group 5: `order = "Lactobacillales"` and `genus = "Enterococcus"`.</span>
<spanclass="r-wrn co"><spanclass="r-pr">#></span> Caused by warning:</span>
<spanclass="r-wrn co"><spanclass="r-pr">#></span><spanstyle="color: #BBBB00;">!</span> Introducing NA: only 14 results available for PEN in group: order =</span>
<spanclass="r-wrn co"><spanclass="r-pr">#></span> "Lactobacillales", genus = "Enterococcus" (minimum = 30).</span>
<spanclass="r-wrn co"><spanclass="r-pr">#></span><spanstyle="color: #00BBBB;">ℹ</span> Run `dplyr::last_dplyr_warnings()` to see the 72 remaining warnings.</span>
<p></p><p><code>AMR</code> (for R). Free and open-source, licenced under the <atarget="_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 <atarget="_blank"href="https://www.rug.nl"class="external-link">University of Groningen</a> and <atarget="_blank"href="https://www.umcg.nl"class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>