gofTest
to compare
two samples. gofTest
returns an object of class "gofTwoSample"
when supplied with both the arguments y
and x
.
plot.gofTwoSample
provides five different kinds of plots. The function plot.gofTwoSample
is automatically called by plot
when given an object of class "gofTwoSample"
. The names of other functions
associated with goodness-of-fit test are listed under Goodness-of-Fit Tests.
"plot"(x, plot.type = "Summary", captions = list(PDFs = NULL, CDFs = NULL, QQ = NULL, MDQQ = NULL, Results = NULL), x.labels = list(PDFs = NULL, CDFs = NULL, QQ = NULL, MDQQ = NULL), y.labels = list(PDFs = NULL, CDFs = NULL, QQ = NULL, MDQQ = NULL), same.window = FALSE, ask = same.window & plot.type == "All", x.points.col = "blue", y.points.col = "black", points.pch = 1, jitter.points = TRUE, discrete = FALSE, plot.pos.con = 0.375, x.ecdf.col = "blue", y.ecdf.col = "black", x.ecdf.lwd = 3 * par("cex"), y.ecdf.lwd = 3 * par("cex"), x.ecdf.lty = 1, y.ecdf.lty = 4, 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, 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, 4, 0) else c(0, 0, 0, 0), om.title = NULL, om.font = 2, om.cex.main = 1.5 * par("cex"), om.line = 0, ...)
"gof"
. See gof.object
for details.
plot.type="All"
, in which case all plots
will be created sequentially. The possible values of plot.type
are:
"Summary"
(the default),
"PDFs: Observed"
,
"CDFs: Observed"
,
"Q-Q Plot"
,
"Tukey M-D Q-Q Plot"
,
"Test Results"
, and
"All"
.
See the DETAILS section for more information.
"PDFs"
, "CDFs"
,
"QQ"
, "MDQQ"
, 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.gofTwoSample
(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.
"PDFs"
, "CDFs"
, "QQ"
,
and/or "MDQQ"
. 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.gofTwoSample
(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.
"PDFs"
, "CDFs"
, "QQ"
,
and/or "MDQQ"
. 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.gofTwoSample
(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.
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"
.
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"
.
jitter.points=TRUE
.
discrete=TRUE
) or not(discrete=FALSE
; the default). When
discrete=TRUE
, the empirical CDFs are plotted as step functions.
plot.pos.con=0.375
. See the help files for
ecdfPlot
and qqPlot
for more information and the
motivation for this choice of values. NOTE: This argument is also used to determine the value of the
plotting position constant for the Q-Q plot (plot.type="Q-Q Plot"
), or the
Tukey Mean-Difference Q-Q plot (plot.type="Tukey M-D Q-Q Plot"
).
add.line=TRUE
and plot.type="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"
, a horizontal
line at $y=0$ is added to the plot. The default value is add.line=TRUE
.
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")
).
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).
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.
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.
plot.type="Summary"
. The default value is add.om.title=TRUE
.
om.title=NULL
, which will result in a default title.
om.font=2
.
cex
for the outer margin title.
The default value is 1.75 * par("cex")
.
om.line=0.5
.
par
.
plot.gofTwoSample
invisibly returns the first argument, x
.
plot.gofTwoSample
is a method for the generic function
plot
for the class
"gofTwoSample"
(see gofTwoSample.object
).
It can be invoked by calling plot
and giving it an object of
class "gofTwoSample"
as the first argument, or by calling
plot.gofTwoSample
directly, regardless of the class of the object given
as the first argument to plot.gofTwoSample
.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="PDFs: Observed"
).
plot.type="CDFs: Observed"
).
See the help file for cdfCompare
.
plot.type="Q-Q Plot"
). See the help file for
qqPlot
.
plot.type="Tukey M-D Q-Q Plot"
).
See the help file for qqPlot
.
plot.type="Test Results"
).
See the help file for print.gofTwoSample
.
See the help file for gofTest
for more information.
gofTest
, gofTwoSample.object
,
print.gofTwoSample
,
Goodness-of-Fit Tests, plot
.
# Create an object of class "gofTwoSample" then plot the results.
# (Note: the call to set.seed simply allows you to reproduce
# this example.)
set.seed(300)
dat1 <- rnorm(20, mean = 3, sd = 2)
dat2 <- rnorm(10, mean = 1, sd = 2)
gof.obj <- gofTest(x = dat1, y = dat2)
# Summary plot (the default)
#---------------------------
dev.new()
plot(gof.obj)
# Make your own titles for the summary plot
#------------------------------------------
dev.new()
plot(gof.obj, captions = list(PDFs = "Compare PDFs",
CDFs = "Compare CDFs", QQ = "Q-Q Plot", Results = "Results"),
om.title = "Summary Plot")
# Just the Q-Q Plot
#------------------
dev.new()
plot(gof.obj, plot.type="Q-Q")
# Make your own title for the Q-Q Plot
#-------------------------------------
dev.new()
plot(gof.obj, plot.type="Q-Q", main = "Q-Q Plot")
#==========
# Clean up
#---------
rm(dat1, dat2, gof.obj)
graphics.off()
Run the code above in your browser using DataLab