Skip to contents


lifecycle R-CMD-check CRAN_Status_Badge Coverage Status CRAN downloads last monthCRAN downloads grand total


  • I’m still looking for funding to develop MomX. If you have any idea, please email me <>
  • I’m available for consulting, training and collaboration, worldwide.
  • Momocs is back on CRAN and no longer relies on the retired rgeos dependency
  • The tutorial/introduction is back! Download it there**


The last released version can be installed from CRAN with:

But I recommend using (and only support) the development version from GitHub with:

# install.packages("devtools")


This is a basic example of a complete analysis doing: inspection, normalization of raw outlines, elliptical Fourier transforms, dimmensionality reduction and classification, using a single line.

#> ℹ Loading Momocs
#> Registered S3 method overwritten by 'vegan':
#>   method     from      
#>   rev.hclust dendextend
hearts %T>%                    # A toy dataset
  stack() %>%                  # Take a family picture of raw outlines
  fgProcrustes() %>%           # Full generalized Procrustes alignment
  coo_slide(ldk = 2) %T>%      # Redefine a robust 1st point between the cheeks
  stack() %>%                  # Another picture of aligned outlines
  efourier(6, norm=FALSE) %>%  # Elliptical Fourier Transforms
  PCA() %T>%                   # Principal Component Analysis
  plot_PCA(~aut) %>%           # A PC1:2 plot
  LDA(~aut) %>%                # Linear Discriminant Analysis
  plot_CV()                    # And the confusion matrix after leave one out cross validation

#> Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
#> of ggplot2 3.3.4.
#> ℹ The deprecated feature was likely used in the Momocs package.
#>   Please report the issue at <>.
#> This warning is displayed once every 8 hours.
#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
#> generated.