coplot {graphics} | R Documentation |
This function produces two variants of the conditioning plots discussed in the reference below.
coplot(formula, data, given.values, panel = points, rows, columns, show.given = TRUE, col = par("fg"), pch = par("pch"), bar.bg = c(num = gray(0.8), fac = gray(0.95)), xlab = c(x.name, paste("Given :", a.name)), ylab = c(y.name, paste("Given :", b.name)), subscripts = FALSE, axlabels = function(f) abbreviate(levels(f)), number = 6, overlap = 0.5, xlim, ylim, ...) co.intervals(x, number = 6, overlap = 0.5)
formula |
a formula describing the form of conditioning plot. A
formula of the form y ~ x | a indicates that plots of
y versus x should be produced conditional on the
variable a . A formula of the form y ~ x| a * b
indicates that plots of y versus x should be produced
conditional on the two variables a and b .
All three or four variables may be either numeric or factors. When x or y are factors, the result is almost as if
as.numeric() was applied, whereas for factor
a or b , the conditioning (and its graphics if
show.given is true) are adapted.
|
data |
a data frame containing values for any variables in the
formula. By default the environment where coplot was called
from is used. |
given.values |
a value or list of two values which determine how
the conditioning on a and b is to take place.
When there is no b (i.e., conditioning only on a ),
usually this is a matrix with two columns each row of which gives an
interval, to be conditioned on, but is can also be a single vector
of numbers or a set of factor levels (if the variable being
conditioned on is a factor). In this case (no b ),
the result of co.intervals can be used directly as
given.values argument.
|
panel |
a function(x, y, col, pch, ...)
which gives the action to be carried out in
each panel of the display. The default is points . |
rows |
the panels of the plot are laid out in a rows by
columns array. rows gives the number of rows in the
array. |
columns |
the number of columns in the panel layout array. |
show.given |
logical (possibly of length 2 for 2 conditioning
variables): should conditioning plots be shown for the
corresponding conditioning variables (default TRUE ) |
col |
a vector of colors to be used to plot the points. If too short, the values are recycled. |
pch |
a vector of plotting symbols or characters. If too short, the values are recycled. |
bar.bg |
a named vector with components "num" and
"fac" giving the background colors for the (shingle) bars,
for numeric and factor conditioning variables respectively. |
xlab |
character; labels to use for the x axis and the first conditioning variable. If only one label is given, it is used for the x axis and the default label is used for the conditioning variable. |
ylab |
character; labels to use for the y axis and any second conditioning variable. |
subscripts |
logical: if true the panel function is given an
additional (third) argument subscripts giving the subscripts
of the data passed to that panel. |
axlabels |
function for creating axis (tick) labels when x or y are factors. |
number |
integer; the number of conditioning intervals,
for a and b, possibly of length 2. It is only used if the
corresponding conditioning variable is not a factor . |
overlap |
numeric < 1; the fraction of overlap of the conditioning variables, possibly of length 2 for x and y direction. When overlap < 0, there will be gaps between the data slices. |
xlim |
the range for the x axis. |
ylim |
the range for the y axis. |
... |
additional arguments to the panel function. |
x |
a numeric vector. |
In the case of a single conditioning variable a
, when both
rows
and columns
are unspecified, a “close to
square” layout is chosen with columns >= rows
.
In the case of multiple rows
, the order of the panel
plots is from the bottom and from the left (corresponding to
increasing a
, typically).
A panel function should not attempt to start a new plot, but just plot
within a given coordinate system: thus plot
and boxplot
are not panel functions.
co.intervals(., number, .)
returns a (number
x
2) matrix
, say ci
, where ci[k,]
is
the range
of x
values for the k
-th interval.
Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
Cleveland, W. S. (1993) Visualizing Data. New Jersey: Summit Press.
## Tonga Trench Earthquakes data(quakes) coplot(lat ~ long | depth, data = quakes) given.depth <- co.intervals(quakes$depth, number=4, overlap=.1) coplot(lat ~ long | depth, data = quakes, given.v=given.depth, rows=1) ## Conditioning on 2 variables: ll.dm <- lat ~ long | depth * mag coplot(ll.dm, data = quakes) coplot(ll.dm, data = quakes, number=c(4,7), show.given=c(TRUE,FALSE)) coplot(ll.dm, data = quakes, number=c(3,7), overlap=c(-.5,.1)) # negative overlap DROPS values data(warpbreaks) ## given two factors Index <- seq(length=nrow(warpbreaks)) # to get nicer default labels coplot(breaks ~ Index | wool * tension, data = warpbreaks, show.given = 0:1) coplot(breaks ~ Index | wool * tension, data = warpbreaks, col = "red", bg = "pink", pch = 21, bar.bg = c(fac = "light blue")) ## Example with empty panels: data(state) attach(data.frame(state.x77))#> don't need 'data' arg. below coplot(Life.Exp ~ Income | Illiteracy * state.region, number = 3, panel = function(x, y, ...) panel.smooth(x, y, span = .8, ...)) ## y ~ factor -- not really sensical, but 'show off': coplot(Life.Exp ~ state.region | Income * state.division, panel = panel.smooth) detach() # data.frame(state.x77)