This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/poly.html
poly {base}R Documentation

Compute Orthogonal Polynomials

Description

Returns or evaluates orthogonal polynomials of degree 1 to degree over the specified set of points x. These are all orthogonal to the constant polynomial of degree 0.

Usage

poly(x, ..., degree = 1, coefs = NULL)
polym(..., degree)
## S3 method for class 'poly'
predict(object, newdata, ...)

Arguments

x, newdata

a numeric vector at which to evaluate the polynomial. x can also be a matrix.

degree

the degree of the polynomial

coefs

for prediction, coefficients from a previous fit.

object

an object inheriting from class "poly", normally the result of a call to poly with a single vector argument.

...

poly, polym: further vectors.
predict.poly: arguments to be passed to or from other methods.

Details

Although formally degree should be named (as it follows ...), an unnamed second argument of length 1 will be interpreted as the degree.

The orthogonal polynomial is summarized by the coefficients, which can be used to evaluate it via the three-term recursion given in Kennedy \& Gentle (1980, pp. 343-4), and use in the “predict” part of the code.

Value

For poly with a single vector argument:
A matrix with rows corresponding to points in x and columns corresponding to the degree, with attributes "degree" specifying the degrees of the columns and "coefs" which contains the centring and normalization constants used in constructing the orthogonal polynomials. The matrix is given class c("poly", "matrix") as from R 1.5.0.

Other cases of poly and polym, and predict.poly: a matrix.

Note

This routine is intended for statistical purposes such as contr.poly: it does not attempt to orthogonalize to machine accuracy.

Author(s)

B. D. Ripley

References

Kennedy, W. J. Jr and Gentle, J. E. (1980) Statistical Computing Marcel Dekker.

See Also

contr.poly

Examples

(z <- poly(1:10, 3))
predict(z, seq(2, 4, 0.5))
poly(seq(4, 6, 0.5), 3, coefs = attr(z, "coefs"))

polym(1:4, c(1, 4:6), degree=3) # or just poly()
poly(cbind(1:4, c(1, 4:6)), degree=3)

[Package base version 1.5.0 ]