Hauck-Donner Effects: Segmented Lines Plot
seglines.RdPlots the piecewise segmented curve made up of Wald statistics versus estimates, using a colour code for the HDE severity.
Usage
seglines(x, y, dy, ddy, lwd = 2, cex = 2, plot.it = TRUE,
add.legend = TRUE, cex.legend = 1,
position.legend = "topleft", eta0 = NA, COPS0 = NA,
lty.table = c("solid", "dashed", "solid", "dashed",
"solid", "dashed", "solid"),
col.table = rainbow.sky[-5], pch.table = 7:1,
severity.table = c("None", "Faint", "Weak", "Moderate",
"Strong", "Extreme", "Undetermined"), FYI = FALSE, ...)Arguments
- x, y, dy, ddy
Same as
hdeffsev.- lwd, cex
Graphical parameters: line width, and character expansion.
- plot.it
Logical, plot it? If
FALSEthen the other graphical arguments are ignored.- add.legend, position.legend
Logical and character; add a legend? The other argument is fed into
legend.- cex.legend
Self-explanatory.
- severity.table, eta0, COPS0
Same as
hdeffsev.- lty.table, col.table, pch.table
Graphical parameters for the 7 different types of segments. Usually users should not assign anything to these arguments. Setting
pch.table = NULLwill suppresspchsymbols from the legend.- FYI, ...
Should be ignored.
Details
This function was written to
complement hdeffsev
and is rough-and-ready.
It plots the signed Wald statistics as a function of
the estimates, and uses a colour-code to indicate
the severity of the
Hauck-Donner effect (HDE).
This can be obtained from its first two derivatives.
Note
This function is likely to change in the short future because it is experimental and far from complete.
Examples
deg <- 4 # myfun is a function that approximates the HDE
myfun <- function(x, deriv = 0) switch(as.character(deriv),
'0' = x^deg * exp(-x),
'1' = (deg * x^(deg-1) - x^deg) * exp(-x),
'2' = (deg * (deg-1) * x^(deg-2) - 2*deg * x^(deg-1) +
x^deg) * exp(-x))
if (FALSE) { # \dontrun{
curve(myfun, 0, 10, col = "white")
xgrid <- seq(0, 10, length = 101)
seglines(xgrid, myfun(xgrid), myfun(xgrid, deriv = 1),
COPS0 = 2,
myfun(xgrid, deriv = 2), pch.table = NULL,
position = "bottom")
} # }