# Fit a probabilistic principal components analysis (PPCA) model to a metabolomic data set via the EM algorithm.

### Description

This function fits a probabilistic principal components analysis model to metabolomic spectral data via the EM algorithm.

### Usage

1 2 | ```
ppca.metabol(Y, minq=1, maxq=2, scale = "none", epsilon = 0.1,
plot.BIC = FALSE, printout=TRUE)
``` |

### Arguments

`Y` |
An N x p data matrix where each row is a spectrum. |

`minq` |
The minimum number of principal components to be fit. By default minq is 1. |

`maxq` |
The maximum number of principal components to be fit. By default maxq is 2. |

`scale` |
Type of scaling of the data which is required. The default is "none". Options include "pareto' and "unit" scaling. See |

`epsilon` |
Value on which the convergence assessment criterion is based. Set by default to 0.1. |

`plot.BIC` |
Logical indicating whether or not a plot of the BIC values for the different models fitted should be provided. By default, the plot is not produced. |

`printout` |
Logical indicating whether or not a statement is printed on screen detailing the progress of the algorithm. |

### Details

This function fits a probabilistic principal components analysis model to metabolomic spectral data via the EM algorithm. A range of models with different numbers of principal components can be fitted.

### Value

A list containing:

`q` |
The number of principal components in the optimal PPCA model, selected by the BIC. |

`sig` |
The posterior mode estimate of the variance of the error terms. |

`scores` |
An N x q matrix of estimates of the latent locations of each observation in the principal subspace. |

`loadings` |
The maximum likelihood estimate of the p x q loadings matrix. |

`BIC` |
A vector containing the BIC values for the fitted models. |

`AIC` |
A vector containing the AIC values for the fitted models. |

### Author(s)

Nyamundanda Gift, Isobel Claire Gormley and Lorraine Brennan.

### References

Nyamundanda G., Gormley, I.C. and Brennan, L. (2010) Probabilistic principal components analysis for metabolomic data. Technical report, University College Dublin.

### See Also

`ppca.metabol.jack`

, `loadings.plot`

, `ppca.scores.plot`

### Examples

1 2 3 4 5 6 7 | ```
data(UrineSpectra)
## Not run:
mdlfit<-ppca.metabol(UrineSpectra[[1]], minq=2, maxq=2, scale="none")
loadings.plot(mdlfit)
ppca.scores.plot(mdlfit, group=UrineSpectra[[2]][,1])
## End(Not run)
``` |