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.
Details
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.
The rendering of arguments xlab and
ylab is not controlled by par arguments
cex.lab and font.lab even though they are plotted by
mtext rather than title.
Value
co.intervals(., number, .) returns a (numberx
2) matrix, say ci, where ci[k,] is
the range of x values for the k-th interval.
References
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.
See Also
pairs,
panel.smooth,
points.
Examples
## Tonga Trench Earthquakes
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
## 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:
with(data.frame(state.x77), {
coplot(Life.Exp ~ Income | Illiteracy * state.region, number = 3,
panel = function(x, y, ...) panel.smooth(x, y, span = .8, ...))
## y ~ factor -- not really sensible, but 'show off':
coplot(Life.Exp ~ state.region | Income * state.division,
panel = panel.smooth)
})
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(graphics)
> png(filename="/home/ddbj/snapshot/RGM3/R_rel/result/graphics/coplot.Rd_%03d_medium.png", width=480, height=480)
> ### Name: coplot
> ### Title: Conditioning Plots
> ### Aliases: coplot co.intervals
> ### Keywords: hplot aplot
>
> ### ** Examples
>
> ## Tonga Trench Earthquakes
> 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
>
> ## 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:
> with(data.frame(state.x77), {
+ coplot(Life.Exp ~ Income | Illiteracy * state.region, number = 3,
+ panel = function(x, y, ...) panel.smooth(x, y, span = .8, ...))
+ ## y ~ factor -- not really sensible, but 'show off':
+ coplot(Life.Exp ~ state.region | Income * state.division,
+ panel = panel.smooth)
+ })
>
>
>
>
>
> dev.off()
null device
1
>