slp: Shifted Legendre Polynomials

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/Mqrcm.R

Description

Computes shifted Legendre polynomials.

Usage

1
slp(p, k = 3, intercept = FALSE)

Arguments

p

the variable for which to compute the polynomials. Must be 0 <= p <= 1.

k

the degree of the polynomial.

intercept

logical. If TRUE, the polynomials include the constant term.

Details

Shifted Legendre polynomials (SLP) are orthogonal polynomial functions in (0,1) that can be used to build a spline basis, typically within a call to iMqr. The constant term is omitted unless intercept = TRUE: for example, the first two SLP are (2*p - 1, 6*p^2 - 6*p + 1), but slp(p, k = 2) will only return (2*p, 6*p^2 - 6*p).

Value

An object of class “slp”, i.e., a matrix with the same number of rows as p, and with k columns named slp1, slp2, ... containing the SLP of the corresponding orders. The value of k is reported as attribute.

Note

The default for iMqr is formula.p = ~ slp(p, k = 3).

Author(s)

Paolo Frumento paolo.frumento@unipi.it

References

Refaat El Attar (2009), Legendre Polynomials and Functions, CreateSpace, ISBN 978-1-4414-9012-4.

See Also

plf, for piecewise linear functions in the unit interval.

Examples

1
2
3
4
  p <- seq(0,1,0.1)
  slp(p, k = 1) # = 2*p
  slp(p, k = 1, intercept = TRUE) # = 2*p - 1 (this is the true SLP of order 1)
  slp(p, k = 3) # a linear combination of (p, p^2, p^3), with slp(0,k) = 0

Example output

Loading required package: pch
Loading required package: survival
      slp1
 [1,]  0.0
 [2,]  0.2
 [3,]  0.4
 [4,]  0.6
 [5,]  0.8
 [6,]  1.0
 [7,]  1.2
 [8,]  1.4
 [9,]  1.6
[10,]  1.8
[11,]  2.0
attr(,"k")
[1] 1
attr(,"class")
[1] "slp"
      slp1
 [1,] -1.0
 [2,] -0.8
 [3,] -0.6
 [4,] -0.4
 [5,] -0.2
 [6,]  0.0
 [7,]  0.2
 [8,]  0.4
 [9,]  0.6
[10,]  0.8
[11,]  1.0
attr(,"k")
[1] 1
attr(,"class")
[1] "slp"
      slp1  slp2 slp3
 [1,]  0.0  0.00 0.00
 [2,]  0.2 -0.54 0.92
 [3,]  0.4 -0.96 1.36
 [4,]  0.6 -1.26 1.44
 [5,]  0.8 -1.44 1.28
 [6,]  1.0 -1.50 1.00
 [7,]  1.2 -1.44 0.72
 [8,]  1.4 -1.26 0.56
 [9,]  1.6 -0.96 0.64
[10,]  1.8 -0.54 1.08
[11,]  2.0  0.00 2.00
attr(,"k")
[1] 3
attr(,"class")
[1] "slp"

Mqrcm documentation built on Feb. 2, 2021, 9:06 a.m.