pith. sign in

arxiv: 2605.22284 · v1 · pith:AHLYJUSWnew · submitted 2026-05-21 · 📊 stat.CO · cs.GR

moveEZ: An R Package for Animated Biplots

Pith reviewed 2026-05-22 02:13 UTC · model grok-4.3

classification 📊 stat.CO cs.GR
keywords animated biplotsPCAR packagemultivariate visualizationProcrustes alignmentcategorical variabledata animationclimate indicators
0
0 comments X

The pith

The moveEZ R package provides animated PCA biplots that track multivariate structure across ordered levels of a categorical variable.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper presents the moveEZ R package as an extension to biplotEZ for constructing animated principal component analysis biplots. It supplies three frameworks of rising complexity so that users can see how sample positions and variable vectors change when data are grouped by successive levels of an ordered categorical factor. The simplest approach holds the variable arrows fixed while samples move; the dynamic versions recompute both elements at each level and add Procrustes alignment to keep the picture steady. A reader would care because the package turns repeated multivariate measurements into a single moving display instead of separate static plots, and it works with high-dimensional or grouped data from any field.

Core claim

moveEZ supplies three animation frameworks of increasing methodological complexity for PCA biplots. A fixed-variable frame keeps the variable vectors constant and animates only the sample positions. Two dynamic frames recompute both samples and variables at each categorical level and apply Procrustes alignment together with reflection to maintain visual continuity. The package handles high-dimensional data with grouped structures, integrates with gganimate for publication-quality output, and also produces static faceted displays through a single argument.

What carries the argument

Three animation frameworks of increasing complexity, including a fixed variable frame and dynamic frames that recompute positions with Procrustes alignment, for generating continuous biplot animations across ordered categorical levels.

If this is right

  • Animated and static faceted displays are produced from the same call.
  • The tools apply to any domain that records multivariate measurements repeatedly across an ordered categorical variable.
  • High-dimensional data sets that contain grouped structures remain compatible.
  • Output is generated through gganimate and is suitable for both publications and presentations.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • Similar animation logic could be applied to other ordination methods such as correspondence analysis or multidimensional scaling.
  • The fixed-versus-dynamic distinction might help users decide how much visual stability they need when exploring sequential data.
  • The package could serve as a starting point for interactive web versions that let viewers scrub through the categorical levels manually.

Load-bearing premise

Recomputing and aligning biplots at each level of the categorical variable produces animations that accurately reflect the underlying data evolution without visual artifacts or misleading continuity.

What would settle it

A dataset in which the true multivariate clusters shift in a known direction but the resulting animation either fails to show that shift or displays a spurious continuity after Procrustes alignment.

Figures

Figures reproduced from arXiv: 2605.22284 by Johan\'e Nienkemper-Swanepoel, Raeesa Ganey.

Figure 1
Figure 1. Figure 1: The fixed variable framework where the sample coordinates in matrix Z are sliced according to the levels of the time variable T and the variable vectors in matrix V remaining fixed. Demonstration: gapminder data To illustrate moveplot() with a single observation per group per time level, we use the gapminder dataset available in the gapminder package (Bryan (2025)), which contains continent-level statistic… view at source ↗
Figure 2
Figure 2. Figure 2: PCA biplot of the gapminder data colored by continent and labeled by year. The R Journal Vol. XX/YY, AAAA 20ZZ ISSN 2073-4859 [PITH_FULL_IMAGE:figures/full_fig_p004_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: An animation (or facet) of the PCA biplot of the gapminder data using the function moveplot() under the fixed variable framework. The R Journal Vol. XX/YY, AAAA 20ZZ ISSN 2073-4859 [PITH_FULL_IMAGE:figures/full_fig_p006_3.png] view at source ↗
Figure 4
Figure 4. Figure 4: PCA biplot of the climate data colored by region. The R Journal Vol. XX/YY, AAAA 20ZZ ISSN 2073-4859 [PITH_FULL_IMAGE:figures/full_fig_p007_4.png] view at source ↗
Figure 5
Figure 5. Figure 5: Faceted PCA biplots of the climate data, with each panel representing a distinct time frame, generated using moveplot(). differences are not available which means a sequential exploration is impossible. These aspects are are addressed in moveEZ. Setting move = FALSE produces a faceted display, shown in [PITH_FULL_IMAGE:figures/full_fig_p008_5.png] view at source ↗
Figure 6
Figure 6. Figure 6: The dynamic variable framework where separate matrices Z and V are computed for each level of the time variable T. 5 Dynamic frame moveplot2() extends the animation to both sample coordinates and variable vectors by computing a separate PCA solution for each time slice of the data. Unlike moveplot(), which projects all time slices onto a fixed coordinate system defined by the full dataset, moveplot2() prod… view at source ↗
Figure 7
Figure 7. Figure 7: Faceted PCA biplots of the climate data using moveplot2(). The R Journal Vol. XX/YY, AAAA 20ZZ ISSN 2073-4859 [PITH_FULL_IMAGE:figures/full_fig_p010_7.png] view at source ↗
Figure 8
Figure 8. Figure 8: Faceted PCA biplots of the climate data using ‘moveplot3()‘ where no target is specified. The resulting target biplot is used to align each time slice in Africa_climate using GPA: bp |> moveplot3(time.var = "Year", group.var = "Region", hulls = TRUE, move = FALSE, target = Africa_climate_target) The faceted output will show each year’s biplot aligned to the 1989 reference, exposing the structural differenc… view at source ↗
Figure 9
Figure 9. Figure 9: Fit measures using Procrustes Statistic (PS) and Congruence Coefficient (CC) for each time slice. results$fit.plot results$bias.plot The fit measures in [PITH_FULL_IMAGE:figures/full_fig_p014_9.png] view at source ↗
Figure 10
Figure 10. Figure 10: Bias measures using Absolute Mean Bias (AMB), Mean Bias (MB) and the Root Mean Squared Bias (RMSB) for each time slice. The R Journal Vol. XX/YY, AAAA 20ZZ ISSN 2073-4859 [PITH_FULL_IMAGE:figures/full_fig_p015_10.png] view at source ↗
read the original abstract

The moveEZ (pronounced move easy) R package provides tools for constructing animated PCA biplots that reveal how multivariate structure evolves across the ordered levels of a categorical variable. Built as an extension to the biplotEZ package, moveEZ offers three animation frameworks of increasing methodological complexity: a fixed variable frame, in which variable vectors remain constant and only sample positions are animated; and two dynamic frames, in which both sample positions and variable vectors are recomputed and animated at each level. The dynamic frames support Procrustes alignment and reflection to ensure visual continuity across levels, and are compatible with high-dimensional datasets including grouped structures. The package integrates with gganimate to produce high-quality animations suitable for publications and presentations, and supports both animated and static faceted displays via a single argument. Although originally motivated by tracking shifts in African climate indicators, moveEZ is domain-agnostic and applicable wherever multivariate measurements are recorded repeatedly across an ordered categorical variable, including economic, ecological, and biological settings.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

1 major / 3 minor

Summary. The manuscript describes the moveEZ R package as an extension to biplotEZ for constructing animated PCA biplots that track how multivariate structure evolves across ordered levels of a categorical variable. It outlines three animation frameworks of increasing complexity: a fixed frame (constant variable vectors, animated samples only), and two dynamic frames (recomputed samples and vectors at each level, with optional Procrustes alignment and reflection for continuity). The package integrates with gganimate, supports high-dimensional and grouped data, and allows both animated and static faceted outputs via a single argument.

Significance. If the described features are implemented as claimed, moveEZ fills a useful niche in multivariate visualization by enabling dynamic exploration of biplot changes over categorical sequences. This is relevant for applications in climate, ecology, economics, and biology. The explicit support for Procrustes alignment to maintain visual continuity and the dual animated/static output option are practical strengths that could improve interpretability and publication workflows. The domain-agnostic framing broadens potential adoption beyond the motivating African climate example.

major comments (1)
  1. [§3.2] §3.2 (Dynamic frames description): The claim that Procrustes alignment 'ensures visual continuity' is not accompanied by any quantitative measure (e.g., Procrustes distance before/after alignment) or side-by-side example comparing aligned vs. unaligned frames; without this, the added value of the alignment option over simple recomputation remains unverified and central to the dynamic-framework contribution.
minor comments (3)
  1. [Abstract] Abstract: The compatibility claim with 'high-dimensional datasets including grouped structures' would benefit from a brief note on the underlying PCA method (e.g., prcomp vs. princomp) or any dimension-reduction preprocessing steps.
  2. [Section 4] Usage examples: The manuscript would be strengthened by including at least one complete, reproducible code snippet demonstrating the transition from a static biplotEZ call to a moveEZ animation with the Procrustes option.
  3. [References] References: Add a citation to the gganimate package and to the original biplotEZ paper to clarify the extension relationship.

Simulated Author's Rebuttal

1 responses · 0 unresolved

We thank the referee for their constructive review and recommendation of minor revision. We address the single major comment below and will incorporate the suggested improvements in the revised manuscript.

read point-by-point responses
  1. Referee: [§3.2] §3.2 (Dynamic frames description): The claim that Procrustes alignment 'ensures visual continuity' is not accompanied by any quantitative measure (e.g., Procrustes distance before/after alignment) or side-by-side example comparing aligned vs. unaligned frames; without this, the added value of the alignment option over simple recomputation remains unverified and central to the dynamic-framework contribution.

    Authors: We agree that the manuscript would benefit from explicit evidence demonstrating the benefit of Procrustes alignment. In the revised version we will add a new figure to §3.2 that presents side-by-side static frames (aligned versus unaligned) for the African climate example, together with a short table reporting the Procrustes distances before and after alignment. These additions will quantify the reduction in frame-to-frame discontinuity and thereby substantiate the claim of improved visual continuity. revision: yes

Circularity Check

0 steps flagged

No circularity: software package description without derivations

full rationale

The manuscript describes the moveEZ R package as an extension to biplotEZ for animated PCA biplots across ordered categorical levels. It specifies three animation frameworks (fixed frame, dynamic frames with/without Procrustes alignment) and integration with gganimate, but advances no equations, predictions, fitted parameters, or theoretical derivations. Claims are purely about software features and implementation, with no load-bearing steps that reduce to self-definition, self-citation chains, or renamed inputs. The work is self-contained as a tool description; interpretability is presented as user-dependent rather than a derived result.

Axiom & Free-Parameter Ledger

0 free parameters · 0 axioms · 0 invented entities

This is a software package description with no mathematical derivations, fitted parameters, or new theoretical entities introduced.

pith-pipeline@v0.9.0 · 5703 in / 1001 out tokens · 46143 ms · 2026-05-22T02:13:28.292902+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Lean theorems connected to this paper

Citations machine-checked in the Pith Canon. Every link opens the source theorem in the public Lean library.

What do these tags mean?
matches
The paper's claim is directly supported by a theorem in the formal canon.
supports
The theorem supports part of the paper's argument, but the paper may add assumptions or extra steps.
extends
The paper goes beyond the formal theorem; the theorem is a base layer rather than the whole result.
uses
The paper appears to rely on the theorem as machinery.
contradicts
The paper's claim conflicts with a theorem or certificate in the canon.
unclear
Pith found a possible connection, but the passage is too broad, indirect, or ambiguous to say the theorem truly supports the claim.

Reference graph

Works this paper leans on

18 extracted references · 18 canonical work pages

  1. [1]

    2020 , isbn =

    Carson Sievert , title =. 2020 , isbn =

  2. [2]

    Joe Cheng and Carson Sievert , year =

  3. [3]

    2021 , journal =

    Earo Wang and Dianne Cook , title =. 2021 , journal =. doi:10.32614/RJ-2021-050 , url =

  4. [4]

    Allison Marie Horst and Alison Presmanes Hill and Kristen B Gorman , year =

  5. [5]

    2024 , note =

    biplotEZ: EZ-to-Use Biplots , author =. 2024 , note =

  6. [6]

    Nienkemper-Swanepoel and N

    J. Nienkemper-Swanepoel and N. J. le Roux and S. Gardner-Lubbe , title =. Communications in Statistics - Simulation and Computation , volume =. 2023 , publisher =. doi:10.1080/03610918.2021.1914089 , URL =

  7. [7]

    Gower, J. C. and Dijksterhuis, G. B. , title =. 2004 , type =

  8. [8]

    Greenacre, Michael and Groenen, Patrick J. F. and Hastie, Trevor and Iodice D'Enza, Alfonso and Markos, Angelos and Tuzhilina, Elena , title =. Nature Reviews Methods Primers , volume =. 2022 , doi =

  9. [9]

    Gabriel, K. R. , title =. Biometrika , volume =. doi:10.1093/biomet/58.3.453 , year =

  10. [10]

    Better biplots , journal =

    Blasius, J. Better biplots , journal =. 2009 , doi =

  11. [11]

    Gower, J. C. and Hand, D. J. , title =

  12. [12]

    Gower, J. C. and Lubbe, S. and le Roux, N. J. , title =. 2011 , type =

  13. [13]

    2025 , note =

    gapminder: Data from Gapminder , author =. 2025 , note =

  14. [14]

    2023 , publisher =

    Hersbach, Hans and Bell, Bill and Berrisford, Paul and Biavati, Gabriele and Hor. 2023 , publisher =. doi:10.24381/cds.adbb2d47 , url =

  15. [15]

    and Guti\'errez, J

    Iturbide, M. and Guti\'errez, J. M. and Alves, L. M. and Bedia, J. and Cerezo-Mota, R. and Cimadevilla, E. and Cofi\ no, A. S. and Di Luca, A. and Faria, S. H. and Gorodetskaya, I. V. and Hauser, M. and Herrera, S. and Hennessy, K. and Hewitt, H. T. and Jones, R. G. and Krakovska, S. and Manzanas, R. and Mart\'. An update of IPCC climate reference regions...

  16. [16]

    2025 , note =

    GPAbin: Unifying Multiple Biplot Visualisations into a Single Display , author =. 2025 , note =

  17. [17]

    2024 , note =

    tweenr: Interpolate Data for Smooth Animations , author =. 2024 , note =

  18. [18]

    2025 , note =

    gganimate: A Grammar of Animated Graphics , author =. 2025 , note =