FunctionsFromData | R Documentation |
These functions create mathematical functions from data, by smoothing, splining, or linear combination (fitting). Each of them takes a formula and a data frame as an argument
spliner(formula, data = NULL, method = "fmm", monotonic = FALSE)
connector(formula, data = NULL, method = "linear")
smoother(formula, data, span = 0.5, degree = 2, ...)
linearModel(formula, data, ...)
formula |
a formula. Only one quantity is allowed on the left-hand side, the output quantity |
data |
a data frame |
method |
a method for splining. See |
monotonic |
a |
span |
parameter to smoother. How smooth it should be. |
degree |
parameter to smoother. 1 is locally linear, 2 is locally quadratic. |
... |
additional arguments to |
These functions use data to create a mathematical, single-valued function of the inputs.
All return a function whose arguments are the variables used on the right-hand side of the formula.
If the formula involves a transformation, e.g. sqrt(age)
or log(income)
,
only the variable itself, e.g. age
or income
, is an argument to the function.
linearModel
takes a linear combination of the vectors specified on the right-hand side.
It differs from project
in that linearModel
returns a function
whereas project
returns the coefficients. NOTE: An intercept term is not included
unless that is explicitly part of the formula with +1
. This conflicts with the
standard usage of formulas as found in lm
. Another option for creating
such functions is to combine lm()
and makeFun()
.
spliner
and connector
currently work for only one input variable.
project()
method for formulas
if (require(mosaicData)) {
data(CPS85)
f <- smoother(wage ~ age, span=.9, data=CPS85)
f(40)
g <- linearModel(log(wage) ~ age + educ + 1, data=CPS85)
g(age=40, educ=12)
# an alternative way to define g (Note: + 1 is the default for lm().)
g2 <- makeFun(lm(log(wage) ~ age + educ, data=CPS85))
g2(age=40, educ=12)
x<-1:5; y=c(1, 2, 4, 8, 8.2)
f1 <- spliner(y ~ x)
f1(x=8:10)
f2 <- connector(x~y)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.