[R] multiple peak fit
PIKAL Petr
petr.pikal at precheza.cz
Thu Mar 21 14:17:52 CET 2013
Hi
I went through some extensive search to find suitable method (package, function) to fit multiple peaks. The best I found is ALS package but it requires rather complicated input structure probably resulting from GC-MS experimental data and seems to be an overkill to my problem.
I have basically simple two column data frame with columns time and sig
dput(temp)
structure(list(time = c(33, 34, 37.33333, 44.66667, 56, 70, 85,
99.66667, 114, 127.33333, 140, 151.66667, 163, 174, 185, 196,
206.66667, 217.33333, 228, 238.66667, 249.33333, 260, 271, 282,
292.66667, 303.66667, 314.33333, 325.33333, 336, 346.66667, 357.33333,
368, 379, 389.66667, 400.33333, 411, 421.66667, 432.33333, 443,
454, 465, 476, 487, 497.66667, 508.33333, 519, 530, 541, 551.66667,
562.33333, 573, 584, 595, 606, 616.66667, 627.33333, 638, 649,
659.66667, 670.33333, 681, 692, 703, 713.66667, 724.33333, 735,
746, 757, 768, 779, 789), sig = c(1.558, 1.5549, 1.5619, 1.5614,
1.5618, 1.6044, 1.6161, 1.6287, 1.6432, 1.6925, 1.7273, 1.6932,
1.669, 1.6863, 1.6962, 1.7186, 1.7513, 1.8325, 1.9181, 2.01,
2.1276, 2.2821, 2.5596, 2.9844, 4.1272, 13.421, 15.422, 14.119,
11.491, 8.8799, 6.7774, 5.6223, 4.8775, 4.3628, 4.0517, 3.9146,
3.8704, 3.9162, 4.0372, 4.0948, 4.2054, 4.1221, 3.9145, 3.5724,
3.2108, 2.8311, 2.4605, 2.1985, 1.9685, 1.8158, 1.7487, 1.692,
1.6565, 1.6374, 1.609, 1.5927, 1.5401, 1.5366, 1.5614, 1.5314,
1.4989, 1.5053, 1.4953, 1.4824, 1.4743, 1.4468, 1.4698, 1.4671,
1.4675, 1.4704, 1.4966)), .Names = c("time", "sig"), row.names = c(NA,
-71L), class = "data.frame")
When it is plotted there are clearly 2 peaks visible.
plot(temp, type="l")
Does anybody know how to decompose those data to two (or more) gaussian (or other) peaks?
I can only think about nlme but before I start from scratch I try to ask others.
Best regards
Petr
More information about the R-help
mailing list