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