Code Monkey home page Code Monkey logo

morphoblocks's Introduction

morphoBlocks

R-CMD-check Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. morphoBlocks badge license DOI

Overview



The morphoBlocks package provides a workflow for constructing a multiple-part morphospace with Regularized Consensus Principal Component Analysis (RCPCA) using either traditional landmarks or pseudolandmarks.

The analyseBlocks function is applied to an object of class "blockList" produced by the combineBlocks function and has two options: 1) option = "rcpca" and 2) option = "pca". The option = "rcpca" will perform Regularized Consensus Principal Component Analysis using the rgcca function from the RGCCA package (Tenenhaus and Guillemot 2017), and is the default option for analyseBlocks. The rgcca function itself has many options that each perform a different type of analysis. The analyseBlocks function specifically calls the Regularized Consensus Principal Component Analysis in mode 2 option with scaling applied. For further detail see Tenenhaus and Guillemot (2017) and Tenenhaus et al. (2017). The option = "pca" will perform principal component analysis on the superblock item in the block list using the prcomp function from the stats package in R.



Updates

This is the original release of the package.

Installation

You can install morphoBlocks directly within R using the install_github() function from the devtools package:

To install with vignettes:

devtools::install_github("aharmer/morphoBlocks", build_vignettes = TRUE, dependencies = TRUE)

OR if you do not wish to install the vignettes:

devtools::install_github("aharmer/morphoBlocks")

Note: If you are using RStudio, the above installation methods should work without issue as RStudio is bundled with Pandoc. However, if you are using the R native GUI, you will need to have Pandoc installed if you wish to build the vignettes.

Depending on your setup, you may also need to install Rtools first. If you need Rtools you will get an error message during morphoBlocks installation. Just install Rtools then reinstall morphoBlocks.

How to use morphoBlocks

Detailed usage examples of morphoBlocks can be retrieved using the vignette function.

For example usage with real world data:

vignette("penguinWings")

Or to compare the performance of Regularized Consensus Principal Component Analysis (RCPCA) with traditional principal components analysis (PCA):

vignette("morphoBlocksMethods")

Or to compare how long analyses will take given increasingly large datasaets, in a particular computational environment (e.g. a local machine):

vignette("datasetSize")

Planned improvements

  • Unit testing
  • Add ... argument to scoresPlot and loadingsPlot to allow additional plotting customisation
  • Replace block identification by letters with block identification by numbers in combineBlocks
  • Add more comments to function examples
  • Add functionality for showing warps

How to cite

Thomas D, Harmer AMT, Giovanardi S, Holvast EJ, McGoverin CM, Tenenhaus A. 2021. Constructing a multiple-part morphospace using a multiblock method. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210X.13781.

References

Tenenhaus A, Guillemot V. 2017. RGCCA: Regularized and Sparse Generalized Canonical Correlation Analysis for multiblock data 2.1.2. https://CRAN.R-project.org/package=RGCCA.

Tenenhaus M, Tenenhaus A, Groenen PJF. 2017. Regularized Generalized Canonical Correlation Analysis: A framework for sequential multiblock component methods. Psychometrika 82: 737-777 https://doi.org/10.1007/s11336-017-9573-x




morphoblocks's People

Contributors

aharmer avatar dbthomas avatar

Stargazers

Liuyong Ding avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.