plot.gofGroup.Rd
Plot the results of calling the function gofGroupTest
,
which returns an object of class "gofGroup"
when performing a
goodness-of-fit test to determine whether data in a set of
groups appear to all come from the same probability distribution
(with possibly different parameters for each group).
Five different kinds of plots are available.
The function plot.gofGroup
is automatically called by plot
when given an object of class "gofGroup"
. The names of other functions
associated with goodness-of-fit test are listed under Goodness-of-Fit Tests.
# S3 method for class 'gofGroup'
plot(x, plot.type = "Summary",
captions = list(QQ = NULL, MDQQ = NULL, ScoresQQ = NULL, ScoresMDQQ = NULL,
Results = NULL),
x.labels = list(QQ = NULL, MDQQ = NULL, ScoresQQ = NULL, ScoresMDQQ = NULL),
y.labels = list(QQ = NULL, MDQQ = NULL, ScoresQQ = NULL, ScoresMDQQ = NULL),
same.window = FALSE, ask = same.window & plot.type == "All", add.line = TRUE,
digits = ifelse(plot.type == "Summary", 2, .Options$digits), test.result.font = 1,
test.result.cex = ifelse(plot.type == "Summary", 0.9, 1) * par("cex"),
test.result.mar = c(0, 0, 3, 0) + 0.1, individual.p.values = FALSE,
cex.main = ifelse(plot.type == "Summary", 1.2, 1.5) * par("cex"),
cex.axis = ifelse(plot.type == "Summary", 0.9, 1) * par("cex"),
cex.lab = ifelse(plot.type == "Summary", 0.9, 1) * par("cex"),
main = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, add.om.title = TRUE,
oma = if (plot.type == "Summary" & add.om.title) c(0, 0, 5, 0) else c(0, 0, 0, 0),
om.title = NULL, om.font = 2, om.cex.main = 1.5 * par("cex"), om.line = 1, ...)
an object of class "gofGroup"
. See gofGroup.object
for details.
character string indicating what kind of plot to create. Only one particular
plot type will be created, unless plot.type="All"
, in which case all plots
will be created sequentially. The possible values of plot.type
are:
"Summary"
(the default), "Q-Q Plot"
"Tukey M-D Q-Q Plot"
,
"Scores Q-Q Plot"
, "Scores Tukey M-D Q-Q Plot"
,
"Test Results"
, and "All"
.
See the DETAILS section for more information.
a list with 1 to 5 components with the names "QQ"
, "MDQQ"
,
"ScoresQQ"
, "ScoresMDQQ"
, and/or "Results"
. Each component either has
the value NULL
or else it is a character string containing the title for that
particular kind of plot. When the component has the value NULL
(the default),
a default title is used. This argument is useful when you are creating more than
one kind of plot with a single call to plot.gofGroup
(i.e., when
plot.type="Summary"
or plot.type="All"
) and you want to specify titles
different from the default ones. If you are creating only one kind of plot,
then you can just use the main
argument to specify a title different
from the default one.
a list of 1 to 4 components with the names "QQ"
, "MDQQ"
,
"ScoresQQ"
, and/or "ScoresMDQQ"
.
Each component either has the value
NULL
or else it is a character string containing the label for the
\(x\)-axis for that particular kind of plot. When the component has the value
NULL
(the default), a default \(x\)-axis label is used.
This argument is useful when you are creating more than
one kind of plot with a single call to plot.gofGroup
(i.e., when
plot.type="Summary"
or plot.type="All"
)
and you want to specify \(x\)-axis
labels different from the default ones. If you are creating only one plot,
then you can just use the xlab
argument to
specify an \(x\)-axis label different from the default one.
a list of 1 to 4 components with the names "QQ"
, "MDQQ"
,
"ScoresQQ"
, and/or "ScoresMDQQ"
. Each component either has the value
NULL
or else it is a character string containing the label for the
\(y\)-axis for that particular kind of plot. When the component has the value
NULL
(the default), a default \(y\)-axis label is used.
This argument is useful when you are creating more than
one kind of plot with a single call to plot.gofGroup
(i.e., when
plot.type="Summary"
or plot.type="All"
)
and you want to specify \(y\)-axis
labels different from the default ones. If you are creating only one plot,
then you can just use the ylab
argument to
specify a \(y\)-axis label different from the default one.
logical scalar indicating whether to produce all plots in the same graphics
window (same.window=TRUE
), or to create a new graphics
window for each separate plot (same.window=FALSE
; the default).
The argument is relevant only when plot.type="All"
.
logical scalar supplied to the function devAskNewPage
, indicating
whether to prompt the user before creating a new plot within a single graphics
window. The default value is FALSE
unless same.window=TRUE
and
plot.type == "All"
.
logical scalar indicating whether to add a line to the plot. If add.line=TRUE
and plot.type="Q-Q Plot"
or plot.type="Scores Q-Q Plot"
,
a 0-1 line is added to the plot.
If add.line=TRUE
and plot.type="Tukey M-D Q-Q Plot"
or
plot.type="Scores Tukey M-D Q-Q Plot"
, a horizontal
line at \(y=0\) is added to the plot. The default value is add.line=TRUE
.
This argument is ignored if plot.type="Test Results"
.
Arguments associated with plot.type="Test Results"
scalar indicating how many significant digits to print for the test results
when plot.type="Summary"
or plot.type="Test Results"
. If plot.type == "Summary"
, the default value is
digits=2
, otherwise it is .Options$digits
(i.e., the current setting of options("digits")
).
logical scalar indicating whether to display the p-values associated with
each individual group. The default value is individual.p.values=FALSE
.
numeric scalar indicating which font to use to print out the test results.
The default value is test.result.font=1
. See the description of the
font
argument in the help file for par
for more information.
You may get better results if you use a font number that corresponds to a fixed
font (e.g., courier).
numeric scalar indicating the value of cex
to use to print out the
test results. The default value is 0.9*par("cex")
when
plot.type="Summary"
, otherwise it is par("cex")
.
See the description of the cex
argument in the help file for
par
for more information.
numeric vector indicating the value of mar
to use to print out the
test results. The default value is test.result.mar=c(0, 0, 3, 0)+0.1
.
See the description of the mar
argument in the help file for
par
for more information.
Arguments associated with plot.type="Summary"
logical scalar indicating whether to add a title in the outer margin when plot.type="Summary"
. The default value is add.om.title=TRUE
.
character string containing the outer margin title. The default value is om.title=NULL
, which will result in a default title.
numeric scalar indicating the font to use for the outer margin. The default
value is om.font=2
.
numeric scalar indicating the value of cex
for the outer margin title.
The default value is 1.5 * par("cex")
.
numeric scalar indicating the line to place the outer margin title on. The
default value is om.line=1
.
Graphics parameters:
additional graphics parameters. See the help file for par
.
The function plot.gofGroup
is a method for the generic function
plot
for the class "gofGroup"
(see
gofGroup.object
).
It can be invoked by calling plot
and giving it an object of
class "gofGroup"
as the first argument, or by calling
plot.gofGroup
directly, regardless of the class of the object given
as the first argument to plot.gofGroup
.
Plots associated with the goodness-of-fit test are produced on the current graphics device. These can be one or all of the following:
plot.type="Q-Q Plot"
.
Q-Q Plot of observed p-values vs. quantiles from a
Uniform [0,1] distribution.
See the help file for qqPlot
.
plot.type="Tukey M-D Q-Q Plot"
.
Tukey mean-difference Q-Q plot for observed p-values and
quantiles from a Uniform [0,1] distribution.
See the help file for qqPlot
.
plot.type="Scores Q-Q Plot"
.
Q-Q Plot of Normal scores vs. quantiles from a
Normal(0,1) distribution or
Q-Q Plot of Chisquare scores vs. quantiles from a
Chisquare distribution with 2 degrees of freedom.
See the help file for qqPlot
.
plot.type="Scores Tukey M-D Q-Q Plot"
.
Tukey mean-difference Q-Q plot based on Normal scores or
Chisquare scores.
See the help file for qqPlot
.
Results of the goodness-of-fit test (plot.type="Test Results"
).
See the help file for print.gofGroup
.
See the help file for gofGroupTest
for more information.
plot.gofGroup
invisibly returns the first argument, x
.
Chambers, J. M. and Hastie, T. J. (1992). Statistical Models in S. Wadsworth & Brooks/Cole.
# Create an object of class "gofGroup" then plot it.
# Example 10-4 of USEPA (2009, page 10-20) gives an example of
# simultaneously testing the assumption of normality for nickel
# concentrations (ppb) in groundwater collected at 4 monitoring
# wells over 5 months. The data for this example are stored in
# EPA.09.Ex.10.1.nickel.df.
EPA.09.Ex.10.1.nickel.df
#> Month Well Nickel.ppb
#> 1 1 Well.1 58.8
#> 2 3 Well.1 1.0
#> 3 6 Well.1 262.0
#> 4 8 Well.1 56.0
#> 5 10 Well.1 8.7
#> 6 1 Well.2 19.0
#> 7 3 Well.2 81.5
#> 8 6 Well.2 331.0
#> 9 8 Well.2 14.0
#> 10 10 Well.2 64.4
#> 11 1 Well.3 39.0
#> 12 3 Well.3 151.0
#> 13 6 Well.3 27.0
#> 14 8 Well.3 21.4
#> 15 10 Well.3 578.0
#> 16 1 Well.4 3.1
#> 17 3 Well.4 942.0
#> 18 6 Well.4 85.6
#> 19 8 Well.4 10.0
#> 20 10 Well.4 637.0
# Month Well Nickel.ppb
#1 1 Well.1 58.8
#2 3 Well.1 1.0
#3 6 Well.1 262.0
#...
#18 6 Well.4 85.6
#19 8 Well.4 10.0
#20 10 Well.4 637.0
# Test for a normal distribution at each well:
#--------------------------------------------
gofGroup.obj <- gofGroupTest(Nickel.ppb ~ Well,
data = EPA.09.Ex.10.1.nickel.df)
dev.new()
plot(gofGroup.obj)
# Make your own titles for the summary plot
#------------------------------------------
dev.new()
plot(gofGroup.obj, captions = list(QQ = "Q-Q Plot",
ScoresQQ = "Scores Q-Q Plot", Results = "Results"),
om.title = "Summary Plot")
# Just the Q-Q Plot
#------------------
dev.new()
plot(gofGroup.obj, plot.type="Q-Q")
# Make your own title for the Q-Q Plot
#-------------------------------------
dev.new()
plot(gofGroup.obj, plot.type="Q-Q", main = "Q-Q Plot")
#==========
# Clean up
#---------
rm(gofGroup.obj)
graphics.off()