2020-03-07 21:48: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" >
2020-03-08 11:18:59 +01:00
< title > Principal Component Analysis (for AMR) — pca • AMR (for R)< / title >
2020-03-07 21:48:21 +01:00
<!-- 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" / >
<!-- 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 >
2020-03-07 21:48:21 +01:00
<!-- Bootstrap -->
2020-04-13 21:09:56 +02:00
< link href = "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css" rel = "stylesheet" crossorigin = "anonymous" / >
2020-03-07 21:48:21 +01:00
2020-04-13 21:09:56 +02: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-03-07 21:48:21 +01:00
2020-04-17 19:16:30 +02:00
<!-- bootstrap - toc -->
< link rel = "stylesheet" href = "../bootstrap-toc.css" >
< script src = "../bootstrap-toc.js" > < / script >
2020-03-07 21:48:21 +01:00
<!-- Font Awesome icons -->
2020-04-17 19:16:30 +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" / >
2020-03-07 21:48:21 +01:00
<!-- clipboard.js -->
2020-04-17 19:16:30 +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 >
2020-03-07 21:48:21 +01:00
<!-- headroom.js -->
2020-04-17 19:16:30 +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 >
2020-03-07 21:48:21 +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 >
2020-03-08 11:18:59 +01:00
< meta property = "og:title" content = "Principal Component Analysis (for AMR) — pca" / >
< meta property = "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." / >
2020-04-17 19:16:30 +02:00
< meta property = "og:image" content = "https://msberends.gitlab.io/AMR/logo.svg" / >
2020-03-07 21:48: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]-->
< / head >
2020-04-17 19:16:30 +02:00
< body data-spy = "scroll" data-target = "#toc" >
2020-03-07 21:48:21 +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 >
2020-05-28 16:48:55 +02:00
< span class = "version label label-default" data-toggle = "tooltip" data-placement = "bottom" title = "Latest development version" > 1.2.0< / span >
2020-03-07 21:48:21 +01:00
< / span >
< / div >
< div id = "navbar" class = "navbar-collapse collapse" >
< ul class = "nav navbar-nav" >
< li >
< a href = "../index.html" >
< span class = "fa fa-home" > < / span >
Home
< / a >
< / li >
< 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
< span class = "caret" > < / span >
< / a >
< ul class = "dropdown-menu" role = "menu" >
< li >
< a href = "../articles/AMR.html" >
< span class = "fa fa-directions" > < / span >
Conduct AMR analysis
< / a >
< / li >
< li >
< a href = "../articles/resistance_predict.html" >
< span class = "fa fa-dice" > < / span >
Predict antimicrobial resistance
< / a >
< / li >
< li >
< a href = "../articles/PCA.html" >
< span class = "fa fa-compress" > < / span >
Conduct principal component analysis for AMR
< / a >
< / li >
< li >
< a href = "../articles/MDR.html" >
< span class = "fa fa-skull-crossbones" > < / span >
Determine multi-drug resistance (MDR)
< / a >
< / li >
< li >
< a href = "../articles/WHONET.html" >
< span class = "fa fa-globe-americas" > < / span >
Work with WHONET data
< / a >
< / li >
< li >
< a href = "../articles/SPSS.html" >
< span class = "fa fa-file-upload" > < / span >
Import data from SPSS/SAS/Stata
< / a >
< / li >
< li >
< a href = "../articles/EUCAST.html" >
< span class = "fa fa-exchange-alt" > < / span >
Apply EUCAST rules
< / a >
< / li >
< li >
< a href = "../reference/mo_property.html" >
< span class = "fa fa-bug" > < / span >
Get properties of a microorganism
< / a >
< / li >
< li >
< a href = "../reference/ab_property.html" >
< span class = "fa fa-capsules" > < / span >
Get properties of an antibiotic
< / a >
< / li >
< li >
< a href = "../articles/benchmarks.html" >
< span class = "fa fa-shipping-fast" > < / span >
Other: benchmarks
< / a >
< / li >
< / ul >
< / li >
< li >
< 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 >
< / li >
< li >
< a href = "../news/" >
< span class = "far fa far fa-newspaper" > < / span >
Changelog
< / a >
< / li >
< / ul >
< ul class = "nav navbar-nav navbar-right" >
< li >
< a href = "https://gitlab.com/msberends/AMR" >
< span class = "fab fa fab fa-gitlab" > < / span >
Source Code
< / a >
< / li >
< li >
< a href = "../LICENSE-text.html" >
< span class = "fa fa-book" > < / span >
Licence
< / a >
< / li >
< / ul >
< / div > <!-- /.nav - collapse -->
< / div > <!-- /.container -->
< / div > <!-- /.navbar -->
< / header >
< div class = "row" >
< div class = "col-md-9 contents" >
< div class = "page-header" >
< h1 > Principal Component Analysis (for AMR)< / h1 >
2020-04-17 19:16:30 +02:00
< small class = "dont-index" > Source: < a href = 'https://gitlab.com/msberends/AMR/blob/master/R/pca.R' > < code > R/pca.R< / code > < / a > < / small >
2020-03-07 21:48:21 +01:00
< div class = "hidden name" > < code > pca.Rd< / code > < / div >
< / div >
< div class = "ref-description" >
2020-03-08 11:18:59 +01:00
< 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 >
2020-03-07 21:48:21 +01:00
< / div >
2020-03-08 11:18:59 +01:00
< pre class = "usage" > < span class = 'fu' > pca< / span > (
2020-03-07 21:48:21 +01:00
< span class = 'no' > x< / span > ,
< span class = 'no' > ...< / span > ,
< span class = 'kw' > retx< / span > < span class = 'kw' > =< / span > < span class = 'fl' > TRUE< / span > ,
< span class = 'kw' > center< / span > < span class = 'kw' > =< / span > < span class = 'fl' > TRUE< / span > ,
< span class = 'kw' > scale.< / span > < span class = 'kw' > =< / span > < span class = 'fl' > TRUE< / span > ,
< span class = 'kw' > tol< / span > < span class = 'kw' > =< / span > < span class = 'kw' > NULL< / span > ,
< span class = 'kw' > rank.< / span > < span class = 'kw' > =< / span > < span class = 'kw' > NULL< / span >
2020-03-08 11:18:59 +01:00
)< / pre >
2020-03-07 21:48: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 >
< td > < p > a < a href = 'https://rdrr.io/r/base/data.frame.html' > data.frame< / a > containing numeric columns< / p > < / td >
< / tr >
< tr >
< th > ...< / th >
2020-05-16 13:05:47 +02:00
< td > < p > columns of < code > x< / code > to be selected for PCA, can be unquoted since it supports quasiquotation.< / p > < / td >
2020-03-07 21:48:21 +01:00
< / tr >
< tr >
< th > retx< / th >
< td > < p > a logical value indicating whether the rotated variables
should be returned.< / p > < / td >
< / tr >
< tr >
< th > center< / th >
< td > < p > a logical value indicating whether the variables
should be shifted to be zero centered. Alternately, a vector of
length equal the number of columns of < code > x< / code > can be supplied.
The value is passed to < code > scale< / code > .< / p > < / td >
< / tr >
< tr >
< th > scale.< / th >
< td > < p > a logical value indicating whether the variables should
be scaled to have unit variance before the analysis takes
place. The default is < code > FALSE< / code > for consistency with S, but
in general scaling is advisable. Alternatively, a vector of length
equal the number of columns of < code > x< / code > can be supplied. The
value is passed to < code > < a href = 'https://rdrr.io/r/base/scale.html' > scale< / a > < / code > .< / p > < / td >
< / tr >
< tr >
< th > tol< / th >
< td > < p > a value indicating the magnitude below which components
should be omitted. (Components are omitted if their
standard deviations are less than or equal to < code > tol< / code > times the
standard deviation of the first component.) With the default null
setting, no components are omitted (unless < code > rank.< / code > is specified
less than < code > < a href = 'https://rdrr.io/r/base/Extremes.html' > min(dim(x))< / a > < / code > .). Other settings for tol could be
< code > tol = 0< / code > or < code > tol = sqrt(.Machine$double.eps)< / code > , which
would omit essentially constant components.< / p > < / td >
< / tr >
< tr >
< th > rank.< / th >
< td > < p > optionally, a number specifying the maximal rank, i.e.,
maximal number of principal components to be used. Can be set as
alternative or in addition to < code > tol< / code > , useful notably when the
desired rank is considerably smaller than the dimensions of the matrix.< / p > < / td >
< / tr >
< / table >
2020-03-08 11:18:59 +01:00
< h2 class = "hasAnchor" id = "value" > < a class = "anchor" href = "#value" > < / a > Value< / h2 >
< p > An object of classes pca and < a href = 'https://rdrr.io/r/stats/prcomp.html' > prcomp< / a > < / p >
2020-03-07 21:48:21 +01:00
< h2 class = "hasAnchor" id = "details" > < a class = "anchor" href = "#details" > < / a > Details< / h2 >
2020-03-08 11:18:59 +01:00
< p > The < code > pca()< / code > function takes a < a href = 'https://rdrr.io/r/base/data.frame.html' > data.frame< / a > as input and performs the actual PCA with the < span style = "R" > R< / span > function < code > < a href = 'https://rdrr.io/r/stats/prcomp.html' > prcomp()< / a > < / code > .< / p >
< p > The result of the < code > pca()< / code > function is a < a href = 'https://rdrr.io/r/stats/prcomp.html' > 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 numeric values. These are probably the groups and labels, and will be used by < code > < a href = 'ggplot_pca.html' > ggplot_pca()< / a > < / code > .< / p >
2020-03-14 14:05:43 +01:00
< h2 class = "hasAnchor" id = "maturing-lifecycle" > < a class = "anchor" href = "#maturing-lifecycle" > < / a > Maturing lifecycle< / h2 >
2020-03-07 21:48:21 +01:00
2020-03-14 14:05:43 +01:00
< p > < img src = 'figures/lifecycle_maturing.svg' style = margin-bottom:5px / > < br / >
2020-05-22 20:15:19 +02:00
The < a href = 'lifecycle.html' > lifecycle< / a > of this function is < strong > maturing< / strong > . The unlying code of a maturing function has been roughed out, but finer details might still change. This function needs wider usage and more extensive testing in order to optimise the unlying code.< / p >
2020-03-07 21:48:21 +01:00
< h2 class = "hasAnchor" id = "examples" > < a class = "anchor" href = "#examples" > < / a > Examples< / h2 >
< pre class = "examples" > < span class = 'co' > # `example_isolates` is a dataset available in the AMR package.< / span >
< span class = 'co' > # See ?example_isolates.< / span >
2020-05-16 13:05:47 +02:00
< span class = 'kw' > if< / span > (< span class = 'fl' > FALSE< / span > ) {
2020-03-07 21:48:21 +01:00
< span class = 'co' > # calculate the resistance per group first< / span >
< span class = 'fu' > < a href = 'https://rdrr.io/r/base/library.html' > library< / a > < / span > (< span class = 'no' > dplyr< / span > )
< span class = 'no' > resistance_data< / span > < span class = 'kw' > < -< / span > < span class = 'no' > example_isolates< / span > < span class = 'kw' > %> %< / span >
< span class = 'fu' > < a href = 'https://dplyr.tidyverse.org/reference/group_by.html' > group_by< / a > < / span > (< span class = 'kw' > order< / span > < span class = 'kw' > =< / span > < span class = 'fu' > < a href = 'mo_property.html' > mo_order< / a > < / span > (< span class = 'no' > mo< / span > ), < span class = 'co' > # group on anything, like order< / span >
< span class = 'kw' > genus< / span > < span class = 'kw' > =< / span > < span class = 'fu' > < a href = 'mo_property.html' > mo_genus< / a > < / span > (< span class = 'no' > mo< / span > )) < span class = 'kw' > %> %< / span > < span class = 'co' > # and genus as we do here< / span >
< span class = 'fu' > < a href = 'https://dplyr.tidyverse.org/reference/summarise_all.html' > summarise_if< / a > < / span > (< span class = 'no' > is.rsi< / span > , < span class = 'no' > resistance< / span > ) < span class = 'co' > # then get resistance of all drugs< / span >
< span class = 'co' > # now conduct PCA for certain antimicrobial agents< / span >
< span class = 'no' > pca_result< / span > < span class = 'kw' > < -< / span > < span class = 'no' > resistance_data< / span > < span class = 'kw' > %> %< / span >
< span class = 'fu' > pca< / span > (< span class = 'no' > AMC< / span > , < span class = 'no' > CXM< / span > , < span class = 'no' > CTX< / span > , < span class = 'no' > CAZ< / span > , < span class = 'no' > GEN< / span > , < span class = 'no' > TOB< / span > , < span class = 'no' > TMP< / span > , < span class = 'no' > SXT< / span > )
< span class = 'no' > pca_result< / span >
< span class = 'fu' > < a href = 'https://rdrr.io/r/base/summary.html' > summary< / a > < / span > (< span class = 'no' > pca_result< / span > )
< span class = 'fu' > < a href = 'https://rdrr.io/r/stats/biplot.html' > biplot< / a > < / span > (< span class = 'no' > pca_result< / span > )
2020-05-16 13:05:47 +02:00
< span class = 'fu' > < a href = 'ggplot_pca.html' > ggplot_pca< / a > < / span > (< span class = 'no' > pca_result< / span > ) < span class = 'co' > # a new and convenient plot function< / span >
}< / pre >
2020-03-07 21:48:21 +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-17 19:16:30 +02:00
< nav id = "toc" data-toggle = "toc" class = "sticky-top" >
< h2 data-toc-skip > Contents< / h2 >
< / nav >
2020-03-07 21:48:21 +01:00
< / div >
< / div >
< 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/' > 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 >
< / div >
< div class = "pkgdown" >
2020-05-16 13:05:47 +02:00
< p > Site built with < a href = "https://pkgdown.r-lib.org/" > pkgdown< / a > 1.5.1.< / p >
2020-03-07 21:48:21 +01:00
< / div >
< / footer >
< / div >
< / body >
< / html >