plf {Mqrcm} | R Documentation |
Basis of a Piecewise Linear Function
Description
Generates b_1(p), b_2(p), \ldots
such that, for 0 < p < 1,
\theta_1*b_1(p) + \theta_2*b_2(p) + \ldots
is a piecewise linear function with slopes
(\theta_1, \theta_2, \ldots)
.
Usage
plf(p, knots)
Arguments
p |
a numeric vector of values between 0 and 1. |
knots |
a set of internal knots between 0 and 1. It can be NULL for no internal knots. |
Details
This function permits computing a piecewise linear function on the unit interval. A different slope holds between each pair of knots, and the function is continuous at the knots.
Value
A matrix with one row for each element of p, and length(knots) + 1
columns.
The knots are returned as attr(, "knots")
.
Any linear combination of the basis matrix is a piecewise linear function where
each coefficient represents the slope in the corresponding sub-interval (see ‘Examples’).
Note
This function is typically used within a call to iMqr
.
A piecewise linear function can be used to describe how M-quantile regression coefficients
depend on the order of the quantile.
Author(s)
Paolo Frumento paolo.frumento@unipi.it
See Also
slp
, for shifted Legendre polynomials.
Examples
p <- seq(0,1, 0.1)
a1 <- plf(p, knots = NULL) # returns p
a2 <- plf(p, knots = c(0.2,0.7))
plot(p, 3 + 1*a2[,1] - 1*a2[,2] + 2*a2[,3], type = "l")
# intercept = 3; slopes = (1,-1,2)