Description Usage Arguments Details Value See Also Examples
Fits a (penalized) basis splines curve through a set of ordered pair
retention times, modeling one set of retention times (rty) as a function
on the other set (rtx).Filtering iterations of high residual points are
performed first. Multiple acceptable values of k can be supplied
used, with one value selected through 10-fold cross validation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
object |
a metabCombiner object. |
useID |
logical. Option to use matched IDs to inform fit |
k |
integer vector values controling the number of basis functions for GAM construction. Best value chosen by 10-fold cross validation. |
iterFilter |
integer number of residual filtering iterations to perform |
ratio |
numeric. A point is an outlier if the ratio of residual to mean residual of a fit exceeds this value. Must be greater than 1. |
frac |
numeric. A point is excluded if deemed a residual in more than this fraction value times the number of fits. Must be between 0 & 1. |
bs |
character. Choice of spline method from mgcv, either "bs" (basis splines) or "ps" (penalized basis splines) |
family |
character. Choice of mgcv family; see: ?mgcv::family.mgcv |
weights |
Optional user supplied weights for each ordered pair. Must be of length equal to number of anchors (n) or a divisor of (n + 2). |
m |
integer. Basis and penalty order for GAM; see ?mgcv::s |
method |
character. Smoothing parameter estimation method; see: ?mgcv::gam |
optimizer |
character. Method to optimize smoothing parameter; see: ?mgcv::gam |
... |
Other arguments passed to |
A set of ordered pair retention times must be previously computed using
selectAnchors(). The minimum and maximum retention times from both
input datasets are included in the set as ordered pairs (min_rtx, min_rty)
& (max_rtx, max_rty).
The weights argument initially determines the contribution of each
point to the model fits; they are equally weighed by default, but can be
changed using an n+2 length vector, where n is the number of ordered
pairs and the first and last of the weights determines the contribution of
the min and max ordered pairs.
The model complexity is determined by k. Multiple values of k are
allowed, with the best value chosen by 10 fold cross validation. Before
this happens, certain ordered pairs are removed based on the model errors.
In each iteration, a GAM is fit using each selected value of k. A point is
"removed" (its corresponding weights value set to 0) if its residual
is ratio times average residual for a fraction of fitted models, as
determined by frac. If an ordered pair is an "identity" (discovered
in the selectAnchors by setting the useID to TRUE), then
setting useID here will prevent its removal.
Other arguments, e.g. family, m, optimizer, bs,
and method are GAM specific parameters. The family option is
currently limited to the "scat" (scaled t) and "gaussian" families; scat
family model fits are more robust to outliers than gaussian fits, but
compute much slower. Type of splines are currently limited to basis splines
(bs = "bs") or penalized basis splines (bs = "ps").
metabCombiner with a fitted GAM model object
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | data(plasma30)
data(plasma20)
p30 <- metabData(plasma30, samples = "CHEAR")
p20 <- metabData(plasma20, samples = "Red", rtmax = 17.25)
p.comb = metabCombiner(xdata = p30, ydata = p20, binGap = 0.0075)
p.comb = selectAnchors(p.comb, tolmz = 0.003, tolQ = 0.3, windy = 0.02)
anchors = getAnchors(p.comb)
#version 1: using faster, but less robust, gaussian family
p.comb = fit_gam(p.comb, k = c(10,12,15,17,20), frac = 0.5,
family = "gaussian")
#version 2: using slower, but more robust, scat family
p.comb = fit_gam(p.comb, k = seq(12,20,2), family = "scat",
iterFilter = 1, ratio = 3, method = "GCV.Cp")
#version 3 (with identities)
p.comb = selectAnchors(p.comb, useID = TRUE)
anchors = getAnchors(p.comb)
p.comb = fit_gam(p.comb, useID = TRUE, k = seq(12,20,2), iterFilter = 1)
#version 4 (using identities and weights)
weights = ifelse(anchors$labels == "I", 2, 1)
p.comb = fit_gam(p.comb, useID = TRUE, k = seq(12,20,2),
iterFilter = 1, weights = weights)
#version 5 (assigning weights to the boundary points
weights = c(2, rep(1, nrow(anchors)), 2)
p.comb = fit_gam(p.comb, k = seq(12,20,2), weights = weights)
#to preview result of fit_gam
plot(p.comb, xlab = "CHEAR Plasma (30 min)",
ylab = "Red-Cross Plasma (20 min)", pch = 19,
main = "Example fit_gam Result Fit")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.