Projection Pursuit Based on Gaussian Mixtures and Evolutionary Algorithms

Projection Pursuit (PP) algorithm for dimension reduction based on Gaussian Mixture Models (GMMs) for density estimation using Genetic Algorithms (GAs) to maximise an approximated negentropy index. For more details see Scrucca and Serafini (2019) .

CRAN_Status_Badge CRAN_MonthlyDownloads

An R package accompanying the paper Projection pursuit based on Gaussian mixtures and evolutionary algorithms by Luca Scrucca and Alessio Serafini (2018).


You can install the released version of ppgmmga from CRAN:


or the development version from GitHub:

# install.packages("devtools")


Usage of the main functions and several examples are included in the papers shown in the references section below.

For an intro see the vignette A quick tour of ppgmmga, which is available as


Note that if the package is installed from GitHub the vignette is not automatically created. However, it can be created when installing from GitHub with the code:

devtools::install_github("luca-scr/ppgmmga", build_vignettes = TRUE)


Scrucca, L. and Serafini, A. (2018) Projection pursuit based on Gaussian mixtures and evolutionary algorithms. Under review.


ppgmmga 1.0.1 (2018-10)

  • Fix a C++ issue.

ppgmmga 1.0.0 (2018-10)

  • Initial release on CRAN.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.2 by Alessio Serafini, 2 years ago

Report a bug at

Browse source code at

Authors: Alessio Serafini [aut, cre] , Luca Scrucca [aut]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports Rcpp, mclust, GA, ggplot2, ggthemes, cli, crayon, utils, stats

Suggests knitr

Linking to Rcpp, RcppArmadillo

See at CRAN