plot2d | R Documentation |
Function to plot simple 2D graphics for univariate effects/functions, typically used for objects
of class "linear.bayesx"
and "sm.bayesx"
returned from function bayesx
and read.bayesx.output
.
plot2d(x, residuals = FALSE, rug = TRUE, jitter = TRUE,
col.residuals = NULL, col.lines = NULL, col.polygons = NULL,
col.rug = NULL, c.select = NULL, fill.select = NULL,
data = NULL, sep = "", month = NULL, year = NULL,
step = 12, shift = NULL, trans = NULL, ...)
x |
a matrix or data frame, containing the covariate for which the effect should be plotted
in the first column and at least a second column containing the effect, typically the structure
for univariate functions returned within |
residuals |
if set to |
rug |
add a |
jitter |
if set to |
col.residuals |
the color of the partial residuals. |
col.lines |
the color of the lines. |
col.polygons |
specify the background color of polygons, if |
col.rug |
specify the color of the rug representation. |
c.select |
|
fill.select |
|
data |
if |
sep |
the field separator character when |
month, year, step |
provide specific annotation for plotting estimation results for temporal
variables. |
shift |
numeric. Constant to be added to the smooth before plotting. |
trans |
function to be applied to the smooth before plotting, e.g., to transform the plot to the response scale. |
... |
other graphical parameters, please see the details. |
For 2D plots the following graphical parameters may be specified additionally:
cex
: specify the size of partial residuals,
lty
: the line type for each column that is plotted, e.g. lty = c(1, 2)
,
lwd
: the line width for each column that is plotted, e.g. lwd = c(1, 2)
,
poly.lty
: the line type to be used for the polygons,
poly.lwd
: the line width to be used for the polygons,
density
angle
, border
: see polygon
,
...
: other graphical parameters, see function plot
.
Nikolaus Umlauf, Thomas Kneib, Stefan Lang, Achim Zeileis.
plot.bayesx
, bayesx
, read.bayesx.output
,
fitted.bayesx
.
## generate some data
set.seed(111)
n <- 500
## regressor
dat <- data.frame(x = runif(n,-3,3))
## response
dat$y <- with(dat, 10 + sin(x) + rnorm(n,sd=0.6))
## Not run:
## estimate model
b <- bayesx(y ~ sx(x), data = dat)
summary(b)
## plot estimated effect
plot(b, which = 1)
plot(b, which = 1, rug = FALSE)
## extract fitted effects
f <- fitted(b, term = "sx(x)")
## now use plot2d
plot2d(f)
plot2d(f, residuals = TRUE)
plot2d(f, residuals = TRUE, pch = 2, col.resid = "green3")
plot2d(f, col.poly = NA, lwd = 1, lty = 1)
plot2d(f, col.poly = NA, lwd = 1, lty = 1, col.lines = 4)
plot2d(f, col.poly = c(2, 3), lwd = 1, col.lines = 4, lty = 1)
plot2d(f, lwd = c(1, 3, 2, 2, 3), col.poly = NA, lty = 1)
plot2d(f, lwd = c(1, 3, 2, 2, 3), col.poly = NA, lty = 1, col.lines = 2:6)
plot2d(f, lwd = c(1, 3, 2, 2, 3), col.poly = NA, lty = 1, col.lines = 2:6,
resid = TRUE, pch = 4, col.resid = 7)
## End(Not run)
## another variation
plot2d(sin(x) ~ x, data = dat)
dat$f <- with(dat, sin(dat$x))
plot2d(f ~ x, data = dat)
dat$f1 <- with(dat, f + 0.1)
dat$f2 <- with(dat, f - 0.1)
plot2d(f1 + f2 ~ x, data = dat)
plot2d(f1 + f2 ~ x, data = dat, fill.select = c(0, 1, 1), lty = 0)
plot2d(f1 + f2 ~ x, data = dat, fill.select = c(0, 1, 1), lty = 0,
density = 20, poly.lty = 1, poly.lwd = 2)
plot2d(f1 + f + f2 ~ x, data = dat, fill.select = c(0, 1, 0, 1),
lty = c(0, 1, 0), density = 20, poly.lty = 1, poly.lwd = 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.