[R] Deconvolution of a spectrum

Lukasz Komsta luke at novum.am.lublin.pl
Fri Mar 9 13:25:24 CET 2007


Dear useRs,

I have a curve which is a mixture of Gaussian curves (for example UV
emission or absorption spectrum). Do you have any suggestions how to
implement searching for optimal set of Gaussian peaks to fit the curve?
I know that it is very complex problem, but maybe it is a possibility
to do it? First supposement is to use a nls() with very large functions,
and compare AIC value, but it is very difficult to suggest any starting
points for algotirithm.

Searching google I have found only a description of commercial software
for doing such deconvolution (Origin, PeakFit) without any information
about used algorithms. No ready-to-use function in any language.

I have tried to use a Mclust workaround for this problem, by generating a
large dataset for which the spectrum is a histogram and feed it into
the Mclust. The results seem to be serious, but this is very ugly and
imprecise method.

Thanks for any help,

Luke



More information about the R-help mailing list