Plots a 1- or 2-parameter GAITD combo probability mass function.
dgaitdplot(theta.p, fam = "pois", a.mix = NULL, i.mix = NULL,
d.mix = NULL, a.mlm = NULL, i.mlm = NULL,
d.mlm = NULL, truncate = NULL, max.support = Inf,
pobs.mix = 0, pobs.mlm = 0,
pstr.mix = 0, pstr.mlm = 0,
pdip.mix = 0, pdip.mlm = 0, byrow.aid = FALSE,
theta.a = theta.p, theta.i = theta.p, theta.d = theta.p,
deflation = FALSE, plot.it = TRUE, new.plot = TRUE,
offset.x = ifelse(new.plot, 0, 0.25), type.plot = "h",
xlim = c(0, min(100, max.support + 2)),
ylim = NULL, xlab = "", ylab = "Probability", main = "",
cex.main = 1.2, posn.main = NULL,
all.col = NULL, all.lty = NULL, all.lwd = NULL,
lty.p = "solid", lty.a.mix = "longdash", lty.a.mlm = "longdash",
lty.i.mix = "dashed", lty.i.mlm = "dashed",
lty.d.mix = "solid", lty.d.mlm = "solid", lty.d.dip = "dashed",
col.p = "pink2",
col.a.mix = artichoke.col, col.a.mlm = asparagus.col,
col.i.mix = indigo.col, col.i.mlm = iris.col,
col.d.mix = deer.col, col.d.mlm = dirt.col, col.d.dip = desire.col,
col.t = turquoise.col, cex.p = 1, lwd.p = NULL, lwd.a = NULL,
lwd.i = NULL, lwd.d = NULL, iontop = TRUE, dontop = TRUE,
las = 0, lend = "round", axes.x = TRUE, axes.y = TRUE,
Plot.trunc = TRUE, cex.t = 1, pch.t = 1,
baseparams.argnames = NULL, nparams = 1, flip.args = FALSE, ...)
Numeric, usually scalar but may have length 2.
This matches with, e.g., lambda.p
for Gaitdpois
.
A length 2 example is c(size.p, munb.p)
for Gaitdnbinom
,
in which case fam = "nbinom"
.
Another length 2 example is
c(mean.p, dispind.p)
for Gaitgenpois1
,
in which case fam = "genpois1"
.
Character, paste0("dgait", fam)
should be a
d
-type function returning the PMF.
The default is for the GAITD Poisson combo.
See Gaitdpois
and gaitdpoisson
.
See Gaitdpois
and gaitdpoisson
.
See Gaitdpois
and gaitdpoisson
.
See Gaitdpois
and gaitdpoisson
.
See Gaitdpois
and gaitdpoisson
.
Similar to theta.p
, and they should have the same length
too.
Logical. Plot the deflation (dip) probabilities?
Logical. Plot the PMF?
If new.plot
then plot
is called.
If multiple plots are desired then use offset.x
to
shift the lines.
See par
and
plot.default
.
Argument xlim
should be integer-valued.
Character, size and position of main
for the title.
See title
,
par
and
plot.default
.
The position is used if it is a 2-vector.
These arguments allow all the colours, line types and
line widths arguments to be assigned to these values,
i.e., so that they are the same for all values of the support.
For example, if all.lwd = 2
then this sets
lwd.p
, lwd.a
, lwd.i
and lwd.d
all equal to 2.
Line type for parent, altered and inflated.
See par
and
plot.default
.
Line colour for parent (nonspecial), altered, inflated,
truncated and deflated values.
See par
and
plot.default
.
Roughly, by default and currently,
the parent is pink-like,
the altered are greenish,
the inflated are purplish/violet,
the truncated are light blue,
and the deflated are brownish with the dip
probabilities being reddish.
The proper colour names are similar to being acrostic.
For each operator, the colours of "mix"
vs "mlm"
are similar but different---this is intentional.
Warning: the default colours might change, depending on style!
Similar to above.
Used when deflation = TRUE
.
Similar to above.
Used when deflation = TRUE
.
The website https://www.spycolor.com was used to
choose some of the default colours;
the first two are also called "dirt"
and "deer"
respectively, which are both brownish.
Point colour for truncated values, the default is "tan"
.
The former matches 'type' argument in
plot.default
.
The latter is the size of the point if type.plot = "p"
or type.plot = "b"
, etc.
Line width for parent, altered and inflated.
See par
and
plot.default
.
By default par()\$lwd
is used for all of them.
See par
.
Logicals.
Draw the inflated and deflated bars on top?
The default is to draw the spikes on top, but if
FALSE
then the spikes are drawn from the bottom---this
makes it easier to see their distribution.
Likewise, if deflation = TRUE
then
dontop
is used to position the deflation (dip) probabilities.
Logical. Plot axes?
See par
and
plot.default
.
Logical. Plot the truncated values?
If so, then specify the size and plotting character.
See par
and
plot.default
.
Character string specifying the argument name for the generic
parameter theta
, e.g.,
"lambda"
for gaitdpoisson
,
By appending .p
, there is an argument called
lambda.p
in dgaitdpois
.
Another example is for gaitdlog
:
"shape"
appended with .p
means that
dgaitdlog
should have an argument
called shape.p
.
This argument is optional and increases the reliability of the
do.call
call internally.
Not for use by the user. It is used internally to handle the NBD.
Currently unused but there is provision for passing graphical
arguments in in the future;
see par
.
A list is returned invisibly. The components are:
The integer values between the values of xlim
.
The value of the PMF, by calling the
d
-type function with all the arguments fed in.
The same level as the scaled parent distribution.
Thus for inflated values, the value where the spikes begin.
And for deflated values, the value at the top of the dips.
This is a convenient way to obtain them as it is quite
cumbersome to compute them manually.
For any nonspecial value,
such as non-inflated and non-deflated values,
they are equal to pmf.z
.
Unscaled parent distribution. If there is no alteration, inflation, deflation and truncation then this is the basic PMF stipulated by the parent distribution only. Usually this is FYI only.
This is meant to be a crude function to plot the PMF of the GAITD combo model. Some flexibility is offered via many graphical arguments, but there are still many improvements that could be done.
plotdgaitd
,
spikeplot
,
meangaitd
,
Gaitdpois
,
gaitdpoisson
,
Gaitdnbinom
,
multilogitlink
.
# NOT RUN {
# This might not work because genpois1 is elsewhere...
i.mix <- seq(0, 25, by = 5)
mean.p <- 10
dispind.p <- 8^2 / mean.p # Var(Y) = dispind.p * mean.p
dgaitdplot(c(mean.p, dispind.p), fam = "genpois1",
a.mix = i.mix + 1, i.mix = i.mix, max.support = 33,
pobs.mix = 0.1, pstr.mix = 0.1, lwd.p = 2, lwd.a = 2, lwd.i = 2)
# }
Run the code above in your browser using DataLab