bpp-core3
3.0.0
|
The core class of a multivariate analysis. More...
#include <Bpp/Numeric/Stat/Mva/DualityDiagram.h>
Public Member Functions | |
DualityDiagram () | |
Build an empty DualityDiagram object. More... | |
DualityDiagram (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes, double tol=0.0000001, bool verbose=true) | |
Build a new DualityDiagram object. More... | |
virtual | ~DualityDiagram () |
DualityDiagram * | clone () const |
Create a copy of this object and send a pointer to it. More... | |
void | setData (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes, double tol=0.0000001, bool verbose=true) |
Set the data and perform computations. More... | |
std::vector< double > | computeVariancePercentagePerAxis () |
size_t | getNbOfKeptAxes () const |
const std::vector< double > | getRowWeights () const |
const std::vector< double > | getColumnWeights () const |
const std::vector< double > & | getEigenValues () const |
const RowMatrix< double > & | getRowCoordinates () const |
const RowMatrix< double > & | getColCoordinates () const |
const RowMatrix< double > & | getPrincipalAxes () const |
const RowMatrix< double > & | getPrincipalComponents () const |
Private Member Functions | |
void | check_ (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes) |
void | compute_ (const Matrix< double > &matrix, double tol, bool verbose) |
Private Attributes | |
std::vector< double > | rowWeights_ |
std::vector< double > | colWeights_ |
size_t | nbAxes_ |
std::vector< double > | eigenValues_ |
RowMatrix< double > | eigenVectors_ |
RowMatrix< double > | rowCoord_ |
RowMatrix< double > | colCoord_ |
RowMatrix< double > | ppalAxes_ |
RowMatrix< double > | ppalComponents_ |
The core class of a multivariate analysis.
In the constructor, the eigen values and vectors of the variance-covariance or correlation matrix are calculated. Eigen values and vectors are stored in the eigenValues_ and eigenVectors_ respectively. Furthermore, four matrices are calculated: the row and column coordinates as well as the principal axes and components.
The code of this class is deeply inspired from the R code of the as.dudi function available in the ade4 package.
Definition at line 22 of file DualityDiagram.h.
|
inline |
Build an empty DualityDiagram object.
Definition at line 41 of file DualityDiagram.h.
References ~DualityDiagram().
Referenced by clone().
DualityDiagram::DualityDiagram | ( | const Matrix< double > & | matrix, |
const std::vector< double > & | rowWeights, | ||
const std::vector< double > & | colWeights, | ||
unsigned int | nbAxes, | ||
double | tol = 0.0000001 , |
||
bool | verbose = true |
||
) |
Build a new DualityDiagram object.
matrix | The input data to analyse. |
rowWeights | A vector of values specifying the weights of rows. |
colWeights | A vector of values specifying the weights of columns. |
nbAxes | The number of kept axes during the analysis. |
tol | Tolerance threshold for null eigenvalues (a value less than tol times the first one is considered as null) |
verbose | Should warnings be dispayed. |
Exception | if an error occured. |
Definition at line 16 of file DualityDiagram.cpp.
References check_(), and compute_().
|
virtual |
Definition at line 254 of file DualityDiagram.cpp.
Referenced by DualityDiagram().
|
private |
Definition at line 36 of file DualityDiagram.cpp.
References bpp::Matrix< Scalar >::getNumberOfColumns(), and bpp::Matrix< Scalar >::getNumberOfRows().
Referenced by clone(), DualityDiagram(), and setData().
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Reimplemented in bpp::PrincipalComponentAnalysis.
Definition at line 73 of file DualityDiagram.h.
References check_(), compute_(), computeVariancePercentagePerAxis(), DualityDiagram(), and setData().
|
private |
Definition at line 80 of file DualityDiagram.cpp.
References colCoord_, colWeights_, bpp::ApplicationTools::displayWarning(), eigenValues_, eigenVectors_, bpp::Matrix< Scalar >::getNumberOfColumns(), bpp::RowMatrix< Scalar >::getNumberOfColumns(), bpp::Matrix< Scalar >::getNumberOfRows(), bpp::RowMatrix< Scalar >::getNumberOfRows(), bpp::EigenValue< Real >::getRealEigenValues(), bpp::EigenValue< Real >::getV(), bpp::MatrixTools::hadamardMult(), bpp::EigenValue< Real >::isSymmetric(), bpp::MatrixTools::mult(), nbAxes_, ppalAxes_, ppalComponents_, bpp::RowMatrix< Scalar >::resize(), rowCoord_, rowWeights_, and bpp::MatrixTools::transpose().
Referenced by clone(), DualityDiagram(), and setData().
std::vector<double> bpp::DualityDiagram::computeVariancePercentagePerAxis | ( | ) |
Referenced by clone().
|
inline |
Definition at line 110 of file DualityDiagram.h.
References colCoord_.
|
inline |
Definition at line 107 of file DualityDiagram.h.
References colWeights_.
|
inline |
Definition at line 108 of file DualityDiagram.h.
References eigenValues_.
|
inline |
Definition at line 105 of file DualityDiagram.h.
References nbAxes_.
|
inline |
Definition at line 111 of file DualityDiagram.h.
References ppalAxes_.
|
inline |
Definition at line 112 of file DualityDiagram.h.
References ppalComponents_.
|
inline |
Definition at line 109 of file DualityDiagram.h.
References rowCoord_.
|
inline |
Definition at line 106 of file DualityDiagram.h.
References rowWeights_.
void DualityDiagram::setData | ( | const Matrix< double > & | matrix, |
const std::vector< double > & | rowWeights, | ||
const std::vector< double > & | colWeights, | ||
unsigned int | nbAxes, | ||
double | tol = 0.0000001 , |
||
bool | verbose = true |
||
) |
Set the data and perform computations.
matrix | The input data to analyse. |
rowWeights | A vector of values specifying the weights of rows. |
colWeights | A vector of values specifying the weights of columns. |
nbAxes | The number of kept axes during the analysis. |
tol | Tolerance threshold for null eigenvalues (a value less than tol times the first one is considered as null) |
verbose | Should warnings be dispayed. |
Exception | if an error occured. |
Definition at line 66 of file DualityDiagram.cpp.
References check_(), colWeights_, compute_(), nbAxes_, and rowWeights_.
Referenced by clone(), bpp::CorrespondenceAnalysis::CorrespondenceAnalysis(), and bpp::PrincipalComponentAnalysis::PrincipalComponentAnalysis().
|
private |
Definition at line 32 of file DualityDiagram.h.
Referenced by compute_(), and getColCoordinates().
|
private |
Definition at line 27 of file DualityDiagram.h.
Referenced by compute_(), getColumnWeights(), and setData().
|
private |
Definition at line 29 of file DualityDiagram.h.
Referenced by compute_(), and getEigenValues().
|
private |
Definition at line 30 of file DualityDiagram.h.
Referenced by compute_().
|
private |
Definition at line 28 of file DualityDiagram.h.
Referenced by compute_(), getNbOfKeptAxes(), and setData().
|
private |
Definition at line 33 of file DualityDiagram.h.
Referenced by compute_(), and getPrincipalAxes().
|
private |
Definition at line 34 of file DualityDiagram.h.
Referenced by compute_(), and getPrincipalComponents().
|
private |
Definition at line 31 of file DualityDiagram.h.
Referenced by compute_(), and getRowCoordinates().
|
private |
Definition at line 26 of file DualityDiagram.h.
Referenced by compute_(), getRowWeights(), and setData().