Last data update: 2014.03.03

R: Greatest Convex Minorant and Least Concave Majorant
gcmlcmR Documentation

Greatest Convex Minorant and Least Concave Majorant

Description

gcmlcm computes the greatest convex minorant (GCM) or the least concave majorant (LCM) of a piece-wise linear function.

Usage

gcmlcm(x, y, type=c("gcm", "lcm"))

Arguments

x, y

coordinate vectors of the piece-wise linear function. Note that the x values need to be unique and be arranged in sorted order.

type

specifies whether to compute the greatest convex minorant (type="gcm", the default) or the least concave majorant (type="lcm").

Details

The GCM is obtained by isotonic regression of the raw slopes, whereas the LCM is obtained by antitonic regression. See Robertson et al. (1988).

Value

A list with the following entries:

x.knots

the x values belonging to the knots of the LCM/GCM curve

y.knots

the corresponding y values

slope.knots

the slopes of the corresponding line segments

Author(s)

Korbinian Strimmer (http://strimmerlab.org).

References

Robertson, T., F. T. Wright, and R. L. Dykstra. 1988. Order restricted statistical inference. John Wiley and Sons.

See Also

monoreg.

Examples

# load "fdrtool" library
library("fdrtool")

# generate some data
x = 1:20
y = rexp(20)
plot(x, y, type="l", lty=3, main="GCM (red) and LCM (blue)")
points(x, y)

# greatest convex minorant (red)
gg = gcmlcm(x,y)
lines(gg$x.knots, gg$y.knots, col=2, lwd=2)

# least concave majorant (blue)
ll = gcmlcm(x,y, type="lcm")
lines(ll$x.knots, ll$y.knots, col=4, lwd=2)

Results