by
, then
returns a data frame with one row for each fit and one column for each
parameter.coefFrame(mod, data, by = NULL, fit.on = TRUE, fitfun, keep.unused.levels = TRUE, byvar.sep = "<001>", ...)001>
- mod
{a model formula, to be passed to by fitfun
.}
- data
{a data frame, row subsets of which will be used as the
data
argument to fitfun
.}
- by
{names of columns in x
that will be used to define the
subgroups.}
- fit.on
{a logical vector indicating which rows of x
are
to be used to fit the model (like the subset
argument in a
lot of other functions). Can be
given in terms of variables in x
}
- fitfun
{a model fitting function (e.g. lm, nls). More
specifically, a function that expects at least a formula object (as the
first argument) and a data.frame object (passed as an argument named
data
) and
returns a model object for which a coef
method
has been defined (e.g. coef.lm, coef.nls) to extract fit values of
model parameters.}
- keep.unused.levels
{Include rows in output for all unique values
of by
, even those which were excluded by
fit.on
. The default value TRUE
should be left alone
if you are going to go on to pass the result to backFit
.}
- byvar.sep
{passed to frameApply, used to form the
subsets of the data.}
- ...
{other arguments to pass to fitfun
.}
a data frame with a row for each unique row of x[by]
, and
column for each model paramter, as well as columns specified in by
.
# load example data
library(gtools)
data(ELISA)# Coefficients for four parameter logistic fits:
coefFrame(log(Signal) ~ SSfpl(log(Concentration), A, B, xmid, scal),
data = ELISA, fitfun = nls,
by = c("PlateDay", "Read"),
fit.on = Description == "Standard" & Concentration != 0)
# Coefficients for linear fits:
coefFrame(log(Signal) ~ log(Concentration),
data = ELISA, fitfun = lm,
by = c("PlateDay", "Read"),
fit.on = Description == "Standard" & Concentration != 0 )
# Example passing arguments to fitfun, and example of
# error handling during model fitting:
ELISA$Signal[1] <- NA
coefFrame(log(Signal) ~ log(Concentration),
data = ELISA, fitfun = lm, na.action = na.fail,
by = c("PlateDay", "Read"),
fit.on = Description == "Standard" & Concentration != 0 )
[object Object]
models