R: Plot method for segmented objects

plot.segmented {segmented} | R Documentation

## Plot method for segmented objects

### Description

Takes a fitted `segmented` object returned by `segmented()` and plots (or adds) the fitted broken-line for the selected segmented term.

### Usage

    ## S3 method for class 'segmented'
    plot(x, term, add=FALSE, res=FALSE, conf.level=0, interc=TRUE,
        link=TRUE, res.col=1, rev.sgn=FALSE, const=0, shade=FALSE, rug=TRUE,
        dens.rug=FALSE, dens.col = grey(0.8), transf=I, ...)

### Arguments

`x` | a fitted `segmented` object.
`term` | the segmented variable having the piece-wise relationship to be plotted. If there is a single segmented variable in the fitted model `x`, `term` can be omitted.
`add` | when `TRUE` the fitted lines are added to the current device.
`res` | when `TRUE` the fitted lines are plotted along with corresponding partial residuals. See Details.
`conf.level` | If greater than zero, it means the confidence level at which the pointwise confidence itervals have to be plotted.
`interc` | If `TRUE` the computed segmented components include the model intercept (if it exists).
`link` | when `TRUE` (default), the fitted lines are plotted on the link scale, otherwise they are tranformed on the response scale before plotting. Ignored for linear segmented fits.
`res.col` | when `res=TRUE` it means the color of the points representing the partial residuals.
`rev.sgn` | when `TRUE` it is assumed that current `term` is ‘minus’ the actual segmented variable, therefore the sign is reversed before plotting. This is useful when a null-constraint has been set on the last slope.
`const` | constant to add to each fitted segmented relationship (on the scale of the linear predictor) before plotting.
`shade` | if `TRUE` and `conf.level>0` it produces shaded regions (in grey color) for the pointwise confidence intervals embracing the fitted segmented line.
`rug` | when `TRUE` (default) then the covariate values are displayed as a rug plot at the foot of the plot.
`dens.rug` | when `TRUE` then smooth covariate distribution is plotted on the x-axis.
`dens.col` | if `dens.rug=TRUE`, it means the colour to be used to plot the density.

`transf` | A possible function to convert the fitted values before plotting. It is only effective if the fitted values refer to a linear or a generalized linear model (on the link scale) and `res=FALSE`.
`...` | other graphics parameters to pass to plotting commands: ‘col’, ‘lwd’ and ‘lty’ (that can be vectors, see the example below) for the fitted piecewise lines; ‘ylab’, ‘xlab’, ‘main’, ‘sub’, ‘cex.axis’, ‘cex.lab’, ‘xlim’ and ‘ylim’ when a new plot is produced (i.e. when `add=FALSE`); ‘pch’ and ‘cex’ for the partial residuals (when `res=TRUE`).

### Details

Produces (or adds to the current device) the fitted segmented relationship between the response and the selected `term`. If the fitted model includes just a single ‘segmented’ variable, `term` may be omitted. The partial residuals are computed as ‘fitted + residuals’, where ‘fitted’ are the fitted values of the segmented relationship relevant to the covariate specified in `term`. Notice that for GLMs the residuals are the response residuals if `link=FALSE` and the working residuals if `link=TRUE`.

### Value

None.

### Note

For models with offset, partial residuals on the response scale are not defined. Thus `plot.segmented` does not work when `link=FALSE`, `res=TRUE`, and the fitted model includes an offset.

### Author(s)

Vito M. R. Muggeo

### See Also

`lines.segmented` to add the estimated breakpoints on the current plot. `points.segmented` to add the joinpoints of the segmented relationship. `predict.segmented` to compute standard errors and confidence intervals for predictions from a "segmented" fit.

### Examples

    set.seed(1234)
    z<-runif(100)
    y<-rpois(100,exp(2+1.8*pmax(z-.6,0)))
    o<-glm(y~z,family=poisson)
    o.seg<-segmented(o, ~z) #single segmented covariate and one breakpoint:'psi' can be omitted
    par(mfrow=c(2,1))
    plot(o.seg, conf.level=0.95, shade=TRUE)
    points(o.seg, link=FALSE, col=2)
    ## new plot
    plot(z,y)
    ## add the fitted lines using different colors and styles..
    plot(o.seg,add=TRUE,link=FALSE,lwd=2,col=2:3, lty=c(1,3))
    lines(o.seg,col=2,pch=19,bottom=FALSE,lwd=2)
    points(o.seg,col=4, link=FALSE)

[Package segmented version 0.5-3.0 Index]