gofTest
, which returns an
object of class "gof"
when testing the goodness-of-fit of a set of data
to a distribution (i.e., when supplied with the y
argument but not
the x
argument). Five different kinds of plots are available.
The function plot.gof
is automatically called by plot
when given an object of class "gof"
. The names of other functions
associated with goodness-of-fit test are listed under Goodness-of-Fit Tests.## S3 method for class 'gof':
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", hist.col = "cyan",
fitted.pdf.col = "black", fitted.pdf.lwd = 3 * par("cex"), fitted.pdf.lty = 1,
plot.pos.con = switch(dist.abb, norm = , lnorm = , lnormAlt = , lnorm3 = 0.375,
evd = 0.44, 0.4), ecdf.col = "cyan", fitted.cdf.col = "black",
ecdf.lwd = 3 * par("cex"), fitted.cdf.lwd = 3 * par("cex"), ecdf.lty = 1,
fitted.cdf.lty = 2, 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, 2.5, 0) else c(0, 0, 0, 0),
om.title = NULL, om.font = 2, om.cex.main = 1.75 * par("cex"), om.line = 0.5, ...)
"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:"PDFs"
, "CDFs"
,
"QQ"
, "MDQQ"
, and/or "Results"
. Each component either has
the value NULL
or else it is a character string c"PDFs"
, "CDFs"
, "QQ"
,
and/or "MDQQ"
. Each component either has the value
NULL
or else it is a character string containing the label for th"PDFs"
, "CDFs"
, "QQ"
,
and/or "MDQQ"
. Each component either has the value
NULL
or else it is a character string containing the label for thsame.window=TRUE
), or to create a new graphics
window for each separate plot (same.window=FALSE
; the default).
The argument is relevdevAskNewPage
, indicating
whether to prompt the user before creating a new plot within a single graphics
window. The default value is FALSE
plot.type == "Summary"
, the default value is
digits=2
, otherwise it is .Options$digits
(i.e., the current
settinhist.col="cyan"
. See the entry for col
in the Rhelp file for
fitted.pdf.col="black"
.
Sefitted.pdf.lwd=3*par("cex")
.
See the entry for lwd
in the Rhelp file for par
fitted.pdf.lty=1
.
See the entry for lty
in the Rhelp file for par
for more inforplot.pos.con
depends on the value of gof.obj$distribution
(i.ecdf.col="cyan"
. See the entry for col
in the Rhelp file for
fitted.cdf.col="black"
.
See the entry for col
in the Rhelp file for
ecdf.lwd=3*par("cex")
.
See the entry for lwd
in the Rhelp file for par
fitted.cdf.lwd=3*par("cex")
.
See the entry for lwd
in the Rhelp file for par
ecdf.lty=1
.
See the entry for lty
in the Rhelp file for par
for more informatfitted.cdf.lty=2
.
See the entry for lty
in the Rhelp file for par
for more inforadd.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 htest.result.font=1
. See the description of the
font
argument in the help file for par
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 descriptionmar
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
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.gof
invisibly returns the first argument, x
.plot.gof
is a method for the generic function
plot
for the class "gof"
(see gof.object
).
It can be invoked by calling plot
and giving it an object of
class "gof"
as the first argument, or by calling plot.gof
directly, regardless of the class of the object given as the first argument
to plot.gof
.
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 and Fitted"
). See the help files forhist
andpdfPlot
.plot.type="CDFs: Observed and Fitted"
). See the help file forcdfCompare
.plot.type="Q-Q Plot"
). See the help file forqqPlot
.plot.type="Tukey M-D Q-Q Plot"
).
See the help file forqqPlot
.plot.type="Test Results"
).
See the help file forprint.gof
.gofTest
for more information.gofTest
, gof.object
, print.gof
,
Goodness-of-Fit Tests, plot
.# Create an object of class "gof" then plot the results.
# (Note: the call to set.seed simply allows you to reproduce
# this example.)
set.seed(250)
dat <- rnorm(20, mean = 3, sd = 2)
gof.obj <- gofTest(dat)
# 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")
# 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(dat, gof.obj)
graphics.off()
Run the code above in your browser using DataLab