Dynamic low-dimensional linear projections of multivariate data collectively known as tours provide an important tool for exploring multivariate data and models. The R package tourr provides functions for several types of tours: grand, guided, little, local and frozen. Each of these can be viewed dynamically, or saved into a data object for animation. This paper describes a new package, spinifex, which provides a manual tour of multivariate data where the projection coefficient of a single variable is controlled. The variable is rotated fully into the projection, or completely out of the projection. The resulting sequence of projections can be displayed as an animation, with functions from either the plotly or gganimate packages. By varying the coefficient of a single variable, it is possible to explore the sensitivity of structure in the projection to that variable. This is particularly useful when used with a projection pursuit guided tour to simplify and understand the solution. The use of the manual tour is applied particle physics data to illustrate the sensitivity of structure in a projection to specific variable contributions.
Supplementary materials are available in addition to this article. It can be downloaded at RJ-2020-027.zip
tourr, spinifex, plotly, gganimate, ggplot2, shiny, knitr, rmarkdown
TeachingStatistics, ReproducibleResearch, WebTechnologies, Graphics, Phylogenetics
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Spyrison & Cook, "spinifex: An R Package for Creating a Manual Tour of Low-dimensional Projections of Multivariate Data", The R Journal, 2020
BibTeX citation
@article{RJ-2020-027, author = {Spyrison, Nicholas and Cook, Dianne}, title = {spinifex: An R Package for Creating a Manual Tour of Low-dimensional Projections of Multivariate Data}, journal = {The R Journal}, year = {2020}, note = {https://doi.org/10.32614/RJ-2020-027}, doi = {10.32614/RJ-2020-027}, volume = {12}, issue = {1}, issn = {2073-4859}, pages = {243-257} }