fitCurve: Curve fitting using minpack.lm

View source: R/curveFit_utils.R

fitCurveR Documentation

Curve fitting using minpack.lm

Description

Fit different curve models using minpack. Fitting parameters can be passed or guessed.

Usage

fitCurve(x, y, curveModel = "skewedGaussian", params = "guess")

Arguments

x

(numeric) x values (e.g. retention time)

y

(numeric) y observed values (e.g. spectra intensity)

curveModel

(str) name of the curve model to fit (currently skewedGaussian and emgGaussian)

params

(list or str) either 'guess' for automated parametrisation or list of initial parameters ($init_params), lower parameter bounds ($lower_bounds) and upper parameter bounds ($upper_bounds)

Details

## Examples cannot be computed as the function is not exported: ## x is retention time, y corresponding intensity input_x <- c(3362.102, 3363.667, 3365.232, 3366.797, 3368.362, 3369.927, 3371.492, 3373.057, 3374.622, 3376.187, 3377.752, 3379.317, 3380.882, 3382.447, 3384.012, 3385.577, 3387.142, 3388.707, 3390.272, 3391.837, 3393.402, 3394.966, 3396.531, 3398.096, 3399.661, 3401.226, 3402.791, 3404.356, 3405.921, 3407.486, 3409.051) input_y <- c(51048, 81568, 138288, 233920, 376448, 557288, 753216, 938048, 1091840, 1196992, 1261056, 1308992, 1362752, 1406592, 1431360, 1432896, 1407808, 1345344, 1268480, 1198592, 1126848, 1036544, 937600, 849792, 771456, 692416, 614528, 546088, 492752, 446464, 400632)

## Fit fitted_curve <- fitCurve(input_x, input_y, curveModel='skewedGaussian', params='guess')

## Returns the optimal fitting parameters fitted_curve # # $amplitude # [1] 275371.1 # # $center # [1] 3382.577 # # $sigma # [1] 0.07904697 # # $gamma # [1] 0.001147647 # # $fitStatus # [1] 2 # # $curveModel # [1] 'skewedGaussian' # # attr(,'class') # [1] 'peakPantheR_curveFit'

Value

A 'peakPantheR_curveFit': a list of fitted curve parameters, fitStatus from nls.lm$info and curve shape name curveModel. fitStatus=0 unsuccessful completion: improper input parameters, fitStatus=1 successful completion: first convergence test is successful, fitStatus=2 successful completion: second convergence test is successful, fitStatus=3 successful completion: both convergence test are successful, fitStatus=4 questionable completion: third convergence test is successful but should be carefully examined (maximizers and saddle points might satisfy), fitStatus=5 unsuccessful completion: excessive number of function evaluations/iterations


phenomecentre/peakPantheR documentation built on Feb. 29, 2024, 9:07 p.m.