{smcl}
{* *! version 1.5.2 21apr2022 Ben Jann}{...}
{vieweralsosee "[G-2] graph" "help graph"}{...}
{vieweralsosee "[R] estimates" "help estimates"}{...}
{vieweralsosee "[R] marginsplot" "help marginsplot"}{...}
{vieweralsosee "[R] margins" "help margins"}{...}
{viewerjumpto "Syntax" "coefplot##syntax"}{...}
{viewerjumpto "Description" "coefplot##description"}{...}
{viewerjumpto "Options" "coefplot##options"}{...}
{viewerjumpto "Examples" "coefplot##examples"}{...}
{viewerjumpto "Remarks" "coefplot##remarks"}{...}
{viewerjumpto "Saved results" "coefplot##saved_results"}{...}
{viewerjumpto "References" "coefplot##references"}{...}
{viewerjumpto "Author" "coefplot##author"}{...}
{viewerjumpto "History" "coefplot##history"}{...}
{hi:help coefplot}{...}
{right:{browse "http://repec.sowi.unibe.ch/stata/coefplot"}}
{right:{browse "http://github.com/benjann/coefplot"}}
{hline}
{title:Title}
{pstd}
{hi:coefplot} {hline 2} Plotting regression coefficients and other
results
{marker syntax}{...}
{title:Syntax}
{p 8 15 2}
{cmd:coefplot} {it:subgraph} [ || {it:subgraph} || ... ]
[{cmd:,} {help coefplot##globalopts:{it:globalopts}} ]
{pstd}
where {it:subgraph} is defined as
{p 8 16 2}
{cmd:(}{it:plot}{cmd:)} [ {cmd:(}{it:plot}{cmd:)} ... ]
[, {help coefplot##subgropts:{it:subgropts}} ]
{pstd}
and {it:plot} is either {cmd:_skip} (to skip a plot) or
{p 8 16 2}
{it:model} [ \ {it:model} \ ... ]
[, {help coefplot##plotopts:{it:plotopts}} ]
{pstd}
and {it:model} is
{p 8 16 2}
{it:namelist} [{cmd:,} {help coefplot##modelopts:{it:modelopts}} ]
{pstd}
where {it:namelist} is a list of names of stored models
(see help {helpb estimates}; type {cmd:.} or leave blank to refer to
the active model). The {cmd:*} and {cmd:?} wildcards are allowed
in {it:namelist}; see
{help coefplot##wildcards:{it:Using wildcards in model names}}. Furthermore,
{it:model} may also be
{p 8 16 2}
{helpb coefplot##matrix:{ul:m}atrix({it:mspec})} [{cmd:,} {help coefplot##modelopts:{it:modelopts}} ]
{pstd}
to plot results from a matrix (see
{help coefplot##matrix:{it:Plotting results from matrices}} below).
Parentheses around {it:plot} can be omitted if {it:plot} does not contain
spaces.
{synoptset 25 tabbed}{...}
{marker modelopts}{synopthdr:modelopts}
{synoptline}
{syntab:Main}
{synopt:{helpb coefplot##omitted:{ul:omit}ted}}include omitted
coefficients
{p_end}
{synopt:{helpb coefplot##baselevels:{ul:base}levels}}include base levels
{p_end}
{synopt:{helpb coefplot##b:b({it:mspec})}}specify source to be plotted; default is to
plot {cmd:e(b)}
{p_end}
{synopt:{helpb coefplot##at:at{sf:[}({it:spec}){sf:]}}}get plot positions from
{cmd:e(at)}, or as specified by {it:spec}
{p_end}
{synopt:{helpb coefplot##keep:keep({it:coeflist})}}keep specified coefficients
{p_end}
{synopt:{helpb coefplot##drop:drop({it:coeflist})}}drop specified coefficients
{p_end}
{syntab:Confidence intervals}
{synopt:{helpb coefplot##noci:noci}}omit confidence intervals
{p_end}
{synopt:{helpb coefplot##levels:{ul:l}evels({it:numlist})}}set level(s) for
conficence intervals
{p_end}
{synopt:{helpb coefplot##ci:ci({it:spec})}}provide confidence intervals
{p_end}
{synopt:{helpb coefplot##v:v({it:name})}}provide variances; default is to use
{cmd:e(V)}
{p_end}
{synopt:{helpb coefplot##se:se({it:mspec})}}provide standard errors
{p_end}
{synopt:{helpb coefplot##df:df({it:spec})}}provide degrees of freedom
{p_end}
{synopt:{helpb coefplot##citype:citype({it:method})}}method to compute
confidence intervals; default is {cmd:citype(normal)}
{p_end}
{syntab:Transform results}
{synopt:{helpb coefplot##eform:eform{sf:[}({it:coeflist}){sf:]}}}plot
exponentiated point estimates and confidence intervals
{p_end}
{synopt:{helpb coefplot##rescale:rescale({it:spec})}}rescale point estimates
and confidence intervals
{p_end}
{synopt:{helpb coefplot##transform:{ul:trans}form({it:matchlist})}}transform
point estimates and confidence intervals
{p_end}
{syntab:Names and labels}
{synopt:{helpb coefplot##rename:rename({it:spec})}}rename coefficients
{p_end}
{synopt:{helpb coefplot##eqrename:{ul:eqren}ame({it:spec})}}rename
equations
{p_end}
{synopt:{helpb coefplot##asequation:{ul:aseq}uation{sf:[}({it:string}){sf:]}}}set equation
to model name or {it:string}
{p_end}
{synopt:{helpb coefplot##swapnames:{ul:swap}names}}swap coefficient names and
equation names
{p_end}
{synopt:{helpb coefplot##mlabels:mlabels({it:matchlist})}}add custom marker labels
{p_end}
{syntab:Auxiliary results}
{synopt:{helpb coefplot##aux:aux({sf:{it:mspec} [{it:mspec} ...]})}}make
additional results available as {cmd:@aux1}, {cmd:@aux2}, etc.
{p_end}
{synoptline}
{synoptset 25 tabbed}{...}
{marker plotopts}{synopthdr:plotopts}
{synoptline}
{syntab:Passthru}
{synopt:{help coefplot##modelopts:{it:modelopts}}}plot-specific model options;
see {help coefplot##place:{it:Placement of options}}
{p_end}
{syntab:Main}
{synopt:{helpb coefplot##label:{ul:lab}el({it:string})}}label to be used for
the plot in the legend
{p_end}
{synopt:{helpb coefplot##key:key{sf:[}(ci {sf:[}#{sf:]}){sf:]}}}key
symbol to be used for the plot in the legend
{p_end}
{synopt:{helpb coefplot##nokey:nokey}}do not include the plot in the legend
{p_end}
{synopt:{helpb coefplot##pstyle:{ul:psty}le({it:pstyle})}}overall
style of the plot
{p_end}
{synopt:{helpb coefplot##axis:{ul:ax}is({it:#})}}choice of axis for the plot, {cmd:1} {ul:<} {it:#} {ul:<} {cmd:9}
{p_end}
{synopt:{helpb coefplot##offset:offset({it:#})}}provide offset for plot
positions
{p_end}
{synopt:{helpb coefplot##ifopt:if({it:exp})}}restrict the contents of the plot
{p_end}
{synopt:{helpb coefplot##weight:{ul:w}eight({it:exp})}}scale size of markers
{p_end}
{syntab:Markers}
{synopt:{it:{help marker_options}}}change look of
markers (color, size, etc.)
{p_end}
{synopt:{helpb coefplot##mlabel:{ul:ml}abel{sf:[}({it:spec}){sf:]}}}add marker
labels
{p_end}
{synopt:{it:{help marker_label_options}}}change the look and position of marker
labels
{p_end}
{synopt:{helpb coefplot##recast:recast({it:plottype})}}plot results using
{it:plottype}
{p_end}
{syntab:Confidence spikes}
{synopt:{helpb coefplot##cionly:cionly}}plot confidence spikes only
{p_end}
{synopt:{helpb coefplot##citop:citop}}draw confidence spikes in front
of markers
{p_end}
{synopt:{helpb coefplot##cirecast:{ul:cire}cast({it:plottype})}}shorthand for {cmd:ciopts(recast())}
{p_end}
{synopt:{helpb coefplot##ciopts:{ul:ciop}ts({it:options})}}affect rendition
of confidence spikes
{p_end}
{synopt:{helpb coefplot##cismooth:{ul:cis}mooth{sf:[}({it:options}){sf:]}}}add smoothed
confidence intervals
{p_end}
{synoptline}
{synoptset 25 tabbed}{...}
{marker subgropts}{synopthdr:subgropts}
{synoptline}
{syntab:Passthru}
{synopt:{help coefplot##modelopts:{it:modelopts}}}subgraph-specific model
options; see {help coefplot##place:{it:Placement of options}}
{p_end}
{synopt:{help coefplot##plotopts:{it:plotopts}}}subgraph-specific plot
options; see {help coefplot##place:{it:Placement of options}}
{p_end}
{syntab:Main}
{synopt:{helpb coefplot##bylabel:{ul:bylab}el({it:string})}}label to be used
for the subgraph
{p_end}
{synoptline}
{synoptset 25 tabbed}{...}
{marker globalopts}{synopthdr:globalopts}
{synoptline}
{syntab:Passthru}
{synopt:{help coefplot##modelopts:{it:modelopts}}}global model options; see
{help coefplot##place:{it:Placement of options}}
{p_end}
{synopt:{help coefplot##plotopts:{it:plotopts}}}global plot options; see
{help coefplot##place:{it:Placement of options}}
{p_end}
{synopt:{help coefplot##subgropts:{it:subgropts}}}global subgraph options;
see {help coefplot##place:{it:Placement of options}}
{p_end}
{syntab:Main}
{synopt:{helpb coefplot##horizontal:{ul:hor}izontal}}coefficient values are
on x axis; general default
{p_end}
{synopt:{helpb coefplot##vertical:{ul:vert}ical}}coefficient values are on y
axis; default with {cmd:at()}
{p_end}
{synopt:{helpb coefplot##eqstrict:eqstrict}}be strict about equations
{p_end}
{synopt:{helpb coefplot##order:order({it:coeflist})}}order coefficients
{p_end}
{synopt:{helpb coefplot##orderby:orderby({it:spec})}}order coefficients by
specific model
{p_end}
{synopt:{helpb coefplot##sort:sort{sf:[}({it:spec}){sf:]}}}sort coefficients
{p_end}
{synopt:{helpb coefplot##relocate:{ul:reloc}ate({it:spec})}}assign
specific positions to coefficients
{p_end}
{synopt:{helpb coefplot##bycoefs:{ul:byc}oefs}}arrange subgraphs by
coefficients
{p_end}
{synopt:{helpb coefplot##norecycle:{ul:norec}ycle}}increment plot styles across
subgraphs
{p_end}
{synopt:{helpb coefplot##nooffsets:{ul:nooff}sets}}do not offset plot
positions
{p_end}
{synopt:{helpb coefplot##format:format({it:format})}}set the display format for
numeric labels
{p_end}
{synopt:{helpb coefplot##pnum:p{it:#}({it:plotopts})}}options for {it:#}th plot
{p_end}
{syntab:Labels and grid lines}
{synopt:{helpb coefplot##nolabels:{ul:nolab}els}}use variable names instead of
labels
{p_end}
{synopt:{helpb coefplot##coeflabels:{ul:coefl}abels({it:spec})}}specify
custom labels for coefficients
{p_end}
{synopt:{helpb coefplot##noeqlabels:{ul:noeql}abels}}suppress equation labels
{p_end}
{synopt:{helpb coefplot##eqlabels:{ul:eql}abels({it:spec})}}specify labels
for equations
{p_end}
{synopt:{helpb coefplot##headings:{ul:head}ings({it:spec})}}add headings between
coefficients
{p_end}
{synopt:{helpb coefplot##groups:groups({it:spec})}}add labels for groups of
coefficients
{p_end}
{synopt:{helpb coefplot##plotlabels:{ul:plotl}abels({it:spec})}}(re)set plot
labels
{p_end}
{synopt:{helpb coefplot##bylabels:bylabels({it:spec})}}(re)set subgraph
labels
{p_end}
{synopt:{helpb coefplot##grid:grid({it:options})}}affect rendition of grid lines
{p_end}
{syntab:Save results}
{synopt:{helpb coefplot##generate:{ul:gen}erate{sf:[}({it:prefix}){sf:]}}}generate
variables containing the graph data
{p_end}
{synopt:{helpb coefplot##replace:replace}}overwrite existing variables
{p_end}
{syntab:Add plots}
{synopt:{helpb addplot_option:addplot({it:plot})}}add other plots to the
graph
{p_end}
{synopt:{helpb coefplot##nodrop:nodrop}}do not drop observations
{p_end}
{syntab:Y axis, X axis, Titles, Legend, Overall, By}
{synopt:{it:{help twoway_options}}}twoway options, other than {cmd:by()}
{p_end}
{synopt:{cmdab:byop:ts(}{it:{help by_option:byopts}}{cmd:)}}how subgraphs
are combined
{p_end}
{synoptline}
{marker description}{...}
{title:Description}
{pstd}
{cmd:coefplot} plots results from estimation commands or Stata matrices.
Results from multiple models or matrices can be combined in a single
graph. The default behavior of {cmd:coefplot} is to draw markers for
coefficients and horizontal spikes for confidence intervals. However,
{cmd:coefplot} can also produce various other types of graphs.
{marker options}{...}
{title:Options}
{dlgtab:Model options}
{marker omitted}{...}
{phang}
{cmd:omitted} includes omitted coefficients. This may be useful if a model
contains coefficients that have been dropped due to collinearity.
{marker baselevels}{...}
{phang}
{cmd:baselevels} includes base levels of factor variables.
{marker b}{...}
{phang}
{cmd:b(}{it:mspec}{cmd:)} specifies the source from which the point
estimates and coefficient names are to be collected. The default is to use
(the first row of) {cmd:e(b)} (or {cmd:e(b_mi)} if plotting results from
{helpb mi estimate}). {cmd:b()} is discarded in matrix mode (see
{help coefplot##matrix:{it:Plotting results from matrices}} below).
{it:mspec} may be:
{p2colset 13 25 27 2}{...}
{p2col:{it:name}}use first row of {cmd:e(}{it:name}{cmd:)}
{p_end}
{p2col:{it:name}{cmd:[}#{cmd:,.]}}use #th row of
{cmd:e(}{it:name}{cmd:)}; may also type {it:name}{cmd:[}#{cmd:,]}
or {it:name}{cmd:[}#{cmd:]}
{p_end}
{p2col:{it:name}{cmd:[.,}#{cmd:]}}use #th column of
{cmd:e(}{it:name}{cmd:)}; may also type {it:name}{cmd:[,}#{cmd:]}
{p_end}
{p2colreset}{...}
{marker at}{...}
{phang}
{cmd:at}[{cmd:(}{it:spec}{cmd:)}] causes plot positions to be determined
by the values in {cmd:e(at)} (or matrix {cmd:at}) or as specified by
{it:spec}. The default is to create a categorical axis with coefficients
matched by their names. However, if {cmd:at} is specified, the axis is
treated as continuous. Note that labeling options
{cmd:coeflabels()}, {cmd:eqlabels()}, {cmd:headings()}, or {cmd:groups()}
are not allowed if {cmd:at} is specified. Also not allowed with {cmd:at}
are options {cmd:bycoefs}, {cmd:order()}, and {cmd:relocate()}.
Furthermore, note that {cmd:at} has to be specified for all models or
for none. {it:spec} is
[{it:atspec}] [{cmd:,} {opt t:ransform(exp)}]
{pmore}
where {it:atspec} may be
{p2colset 13 27 29 2}{...}
{p2col:{it:mspec}}as above for {helpb coefplot##b:b()}
{p_end}
{p2col:#}use #th at-dimension ({helpb margins}) or #th row/column of main matrix
{p_end}
{p2col:{opt m:atrix(mspec)}}read from matrix instead of {cmd:e()}
{p_end}
{p2col:{opt _coef}}use coefficient names as plot positions
{p_end}
{p2col:{opt _eq}}use equation names as plot positions
{p_end}
{p2colreset}{...}
{pmore}
If {cmd:at} is specified without argument, the plot positions are taken from the first row
of {cmd:e(at)} (or matrix {cmd:at}). A special case are results from
{helpb margins} where recovering the plot positions is more
complicated. The default in this case is to use the first
at-dimension. Type, e.g., {cmd:at(2)} if multiple at-dimension were specified
with {helpb margins} and you want to use the second dimension. Furthermore,
in matrix mode (see
{help coefplot##matrix:{it:Plotting results from matrices}} below), {cmd:at(2)}
would read the plot positions from the 2nd row (or column) of the main matrix.
{pmore}
When plotting results from {cmd:e()} it is sometimes convenient to
maintain an external matrix with the plot positions instead of
adding plot positions to each {cmd:e()}-set. In this case you can use
syntax {cmd:at(matrix(}{it:mspec}{cmd:))} to read the plot positions. Note
that the vector of plot positions must have the same length as the
coefficient vectors of the plotted models; elements are matched by position,
not by name.
{pmore}
Furthermore, {cmd:at(_coef)} or {cmd:at(_eq)} will use the coefficient names or
the equation names as plot positions, respectively. This is useful only if
the coefficient names or the equation names are numeric. Note that you may
use {helpb coefplot##rename:rename()} and
{helpb coefplot##eqrename:eqrename()} to strip a non-numeric prefix or suffix
from coefficient names or equation names.
{pmore}
Suboption {cmd:transform()} transforms the plot positions before creating
the graph. Within the transformation expression, use {cmd:@} as a
placeholder for the value to be transformed. For example, to take the
antilogarithm of the plot positions type {cmd:transform(exp(@))}.
{marker keep}{...}
{phang}
{cmd:keep(}{it:coeflist}{cmd:)} specifies the coefficients to be
plotted. The default is to include all coefficients from the
first (nonzero) equation of a model (and discard further equations).
{it:coeflist} is a space-separated list of
elements such as:
{p2colset 13 25 27 2}{...}
{p2col:{it:coef}}keep coefficient {it:coef}
{p_end}
{p2col:{it:eq}{cmd::}}keep all coefficients from equation {it:eq}
{p_end}
{p2col:{it:eq}{cmd::}{it:coef}}keep coefficient {it:coef} from equation {it:eq}
{p_end}
{p2colreset}{...}
{pmore}
where {it:eq} and {it:coef} may contain "{cmd:*}" (any string) and
"{cmd:?}" (any nonzero character) wildcards. For example, type {cmd:keep(*:)} or
{cmd:keep(*:*)} to plot all coefficients from all equations.
{pmore}
If {it:eq} is specified, it is applied to all subsequent
names until a new {it:eq} is specified. For example,
{cmd:keep(3:mpg price 4:weight)} will plot coefficients "{cmd:mpg}" and
"{cmd:price}" from equation "{cmd:3}" and coefficient "{cmd:weight}" from
equation "{cmd:4}".
{marker drop}{...}
{phang}
{cmd:drop(}{it:coeflist}{cmd:)} drops the specified coefficients, where
{it:coeflist} is as above for {helpb coefplot##keep:keep()}.
{marker noci}{...}
{phang}
{cmd:noci} omits confidence intervals.
{marker levels}{...}
{phang}
{cmd:levels(}{it:{help numlist}}{cmd:)} sets the level(s), as percentages,
for confidence intervals. Specified values may be between 10.00 and 99.99
and can have at most two digits after the decimal point. The default is
{cmd:levels(95)} or as set by {helpb set level}. If multiple values are
specified, multiple confidence intervals are plotted. For example, type
{cmd:levels(99.9 99 95)} to plot the 99.9%, 99%, and 95% confidence
intervals. The default is to use (logarithmically) increasing line widths
for multiple confidence intervals. This behavior is disabled as soon as
{cmd:lwidth()} or {cmd:recast()} is specified within
{helpb coefplot##ciopts:ciopts()}.
{marker ci}{...}
{phang}
{cmd:ci(}{it:spec}{cmd:)} specifies the source from which to collect
confidence intervals. Default is to compute confidence intervals for the
levels specified in {cmd:levels()} using variances/standard errors (and,
possibly, degrees of freedom). The {cmd:ci()} option is useful to
plot confidence intervals that have been provided by the estimation
command (such as, e.g., {helpb bootstrap}). {it:spec} is
{it:cispec} [{it:cispec} ...]
{pmore}
where {it:cispec} is {it:name} to get the lower and upper confidence limits
from rows 1 and 2 of {cmd:e(}{it:name}{cmd:)} (or matrix {it:name}),
respectively. Alternatively, {it:cispec} may be {cmd:(}{it:mspec}
{it:mspec}{cmd:)} to identify the lower and upper confidence limits, with
{it:mspec} as above for {helpb coefplot##b:b()}. For example, after
{helpb bootstrap}, {cmd:ci(ci_bc)} would get bias-corrected confidence intervals
from rows 1 and 2 of {cmd:e(ci_bc)}. The same could be achieved by
{cmd:ci((ci_bc[1] ci_bc[2]))}.
{pmore}
{it:cispec} may also be # for a specific confidence level as in
{helpb coefplot##levels:levels()}. Hence, you may type, e.g.,
{cmd:ci(95 myci)} to plot the usual 95% confidence intervals along with
custom confidence intervals provided in {cmd:e(myci)}. Levels specified
in {cmd:ci()} take precedence over levels specified in {cmd:levels()}),
however, you may also type {cmd:""} within {cmd:ci()} to leave a
position blank an use the specified level from {cmd:levels()}.
{pmore}
In matrix mode (see
{help coefplot##matrix:{it:Plotting results from matrices}} below),
{it:cispec} may also be {cmd:(}# #{cmd:)}. For example, {cmd:ci((2 3))} would
read the lower confidence limit from the 2nd row (or column) and
the upper confidence limit from the 3rd row (or column) of the main matrix.
{marker v}{...}
{phang}
{cmd:v(}{it:name}{cmd:)} specifies that the variances for confidence interval
computation are to be taken from the diagonal of {cmd:e(}{it:name}{cmd:)}
(or matrix {it:name}). Default is {cmd:e(V)} (or {cmd:e(V_mi)} if plotting
results from {helpb mi estimate}).
{marker se}{...}
{phang}
{cmd:se(}{it:mspec}{cmd:)} provides standard errors to be used for
computation of confidence intervals. Default is to compute confidence
intervals based on the variances in {cmd:e(V)}
(see {helpb coefplot##v:v()} above). {it:mspec} is as above for
{helpb coefplot##b:b()}.
In matrix mode (see
{help coefplot##matrix:{it:Plotting results from matrices}} below), you may
also specify {cmd:se(}#{cmd:)} to read the standard errors from the #th
row (or column) of the main matrix.
{marker df}{...}
{phang}
{cmd:df(}{it:spec}{cmd:)} specifies degrees of freedom (DF) to be taken into
account for confidence interval computation. Default is to obtain DF
from scalar {cmd:e(df_r)} if defined (as in, e.g., {helpb regress})
or, for results from {helpb mi estimate}, from matrix {cmd:e(df_mi)}. Otherwise,
no DF are taken into account. Specify {cmd:df(}{it:spec}{cmd:)} to provide
custom DF. {it:spec} may be:
{p2colset 13 25 27 2}{...}
{p2col:#}set DF for all coefficients to #
{p_end}
{p2col:{it:mspec}}as above for {helpb coefplot##b:b()}
{p_end}
{p2colreset}{...}
{marker citype}{...}
{phang}
{cmd:citype(}{it:method}{cmd:)} specifies the method to be used to compute the limits of
confidence intervals. {it:method} can be {cmd:normal}, {cmd:logit}, {cmd:probit},
{cmd:atanh}, or {cmd:log}.
{pmore}
{cmd:citype(normal)}, the default, computes confidence
limits based on untransformed coefficients and standard errors. Let {it:b} be
the point estimate, {it:se} the standard error, and {it:t} the (1-{it:a}/2)
quantile of the standard normal distribution or the t-distribution (if degrees
of freedom are available; see above), where {it:a} is 1 minus the
confidence level (e.g. {it:a}=5% for a 95% confidence interval). Then the
limits of the confidence interval are computed as
{it:b} +/- {it:t} * {it:se}
{pmore}
{cmd:citype(logit)} uses the logit transformation to compute the limits
of confidence intervals. This is useful if the estimates to be plotted are
proportions and the confidence limits are supposed to lie between 0 and
1. The limits are computed as
invlogit(logit({it:b}) +/- {it:t} * {it:se} / ({it:b} * (1 - {it:b})))
{pmore}
{cmd:citype(probit)} is an alternative to {cmd:citype(logit)} and computes the
limits as
normal(invnormal({it:b}) +/- {it:t} * {it:se} / normalden(invnormal({it:b})))
{pmore}
{cmd:citype(atanh)} uses the inverse hyperbolic tangent to compute the
confidence intervals. This is useful for estimates that lie between -1 and
1, such as a correlation coefficient. The limits are computed as:
tanh(atanh({it:b}) +/- {it:t} * {it:se} / (1 - {it:b}^2))
{pmore}
{cmd:citype(log)} computes log-transformed confidence intervals. This is useful
for estimates that may only be positive, such as a variance estimate. The limits
are computed as:
exp(ln({it:b}) +/- {it:t} * {it:se} / {it:b})
{marker eform}{...}
{phang}
{cmd:eform}[{cmd:(}{it:coeflist}{cmd:)}] causes point estimates and
confidence intervals to be exponentiated. This is useful
if you want to plot hazard ratios (HR), incidence-rate ratios (IRR),
odds ratios (OR), or relative-risk ratios (RRR). If {cmd:eform} is
specified without arguments, then all coefficients of the model are
exponentiated. To exponentiate only selected coefficients, specify
{it:coeflist} as above for {helpb coefplot##keep:keep()}.
{marker rescale}{...}
{phang}
{cmd:rescale(}{it:spec}{cmd:)} rescales point estimates and confidence
intervals. Type {cmd:rescale(}#{cmd:)} to rescale all coefficients
by a constant factor. For example, {cmd:rescale(100)} will multiply all
coefficients by 100. Alternatively, {it:spec} may be
{it:coeflist} {cmd:=} # [{it:coeflist} {cmd:=} # ...]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()}.
{marker transform}{...}
{phang}
{cmd:transform(}{it:matchlist}{cmd:)} transforms point estimates and confidence
intervals. {it:machlist} is:
{it:coeflist} {cmd:= "}{it:{help exp}}{cmd:"} [{it:coeflist} {cmd:= "}{it:{help exp}}{cmd:"} ...]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()}. Within the
transformation expression, use {cmd:@} as a placeholder for
the value to be transformed. For example, to take the square root of all
coefficients type {cmd:transform(* = sqrt(@))}. In addition, internal
variables may be used as explained in
{help coefplot##tempvar:Accessing internal temporary variables}. The
transformation expression must be enclosed in double quotes if it contains
spaces. If specified, {cmd:eform()} and {cmd:rescale()} are applied before applying
{cmd:transform()}.
{marker rename}{...}
{phang}
{cmd:rename(}{it:spec}{cmd:)} renames coefficients. {it:spec} is:
{it:coeflist} {cmd:=} {it:newname} [{it:coeflist} {cmd:=} {it:newname} ...] [{cmd:,} {cmdab:r:egex}]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()} except that
wildcards are only allowed in equation names, and coefficient names may
be specified as {it:prefix}{cmd:*} to replace a prefix or
{cmd:*}{it:suffix} to replace a suffix. For example,
{cmd:rename(*.foreign = .cartype)} will rename coefficients such as
{cmd:0.foreign} and {cmd:1.foreign} to {cmd:0.cartype} and
{cmd:1.cartype}. {it:newname} must be enclosed in double quotes if it
contains spaces. For labeling coefficients, also see
{helpb coefplot##coeflabels:coeflabels()}.
{pmore}
Apply option {cmd:regex} to cause coefficient specifications (but not
equation specifications) to be interpreted as
{browse "https://en.wikipedia.org/wiki/Regular_expression":regular expressions}. In this
case, {it:newname} may contain {cmd:\1}, ..., {cmd:\9} to reference back to
matched subexpressions (and {cmd:\0} for the entire match). For example, type
{cmd:rename(^AA([0-9]+)BB$ = YY\1ZZ, regex)} to rename
coefficients such as {cmd:AA123BB}, {cmd:AA0BB}, or {cmd:AA99BB} to
{cmd:YY123ZZ}, {cmd:YY0ZZ}, or {cmd:YY99ZZ}. If the leading {cmd:^} or the
tailing {cmd:$} is omitted, only the matched part of a coefficient name is
subject to substitution; the rest of the name will remain unchanged. Include
the regular expressions in quotes or compound double quotes if they contain
funny characters (such as, e.g., quotes, equal signs, or commas).
{marker eqrename}{...}
{phang}
{cmd:eqrename(}{it:spec}{cmd:)} renames equations. {it:spec} is:
{it:eqlist} {cmd:=} {it:newname} [{it:eqlist} {cmd:=} {it:newname} ...] [{cmd:,} {cmdab:r:egex}]
{pmore}
where {it:eqlist} is a space separated list of equation names. Equation
names may be {it:prefix}{cmd:*} to replace a prefix or
{cmd:*}{it:suffix} to replace a suffix. For example,
{cmd:eqrename(rep78* = reprec)} will rename equations such as
{cmd:rep78_3} and {cmd:rep78_4} to {cmd:reprec_3} and
{cmd:reprec_4}. {it:newname} must be enclosed in double quotes if it
contains spaces. For labeling equations, also see
{helpb coefplot##eqlabels:eqlabels()}.
{pmore}
Apply option {cmd:regex} to cause equation specifications to be interpreted as
{browse "https://en.wikipedia.org/wiki/Regular_expression":regular expressions}. In this
case, {it:newname} may contain {cmd:\1}, ..., {cmd:\9} to reference back to
matched subexpressions (and {cmd:\0} for the entire match). For example, type
{cmd:eqrename(^eq([0-9])0$ = Outcome_\1, regex)} to rename
equations such as {cmd:eq20} or {cmd:eq90} to
{cmd:Outcome_1} or {cmd:Outcome_9}. If the leading {cmd:^} or the
tailing {cmd:$} is omitted, only the matched part of an equation name is
subject to substitution; the rest of the name will remain unchanged. Include the regular expressions in
quotes or compound double quotes if they contain funny characters (such as, e.g., quotes,
equal signs, or commas).
{marker asequation}{...}
{phang}
{cmd:asequation}[{cmd:(}{it:string}{cmd:)}] sets the equation name for all
included coefficients from the model to {it:string}. This is useful if you
want to assign an equation name to results that have been stored without
information on equations. If {cmd:asequation} is specified without
argument, the name of the model is used. If you apply the
{cmd:asequation()} option you may also want to specify
{helpb coefplot##eqstrict:eqstrict}.
{marker swapnames}{...}
{phang}
{cmd:swapnames} swaps coefficient names and equation names after collecting
the model's results. The names are swapped after applying model options
such as {cmd:keep()}, {cmd:drop()}, or {cmd:rename()} but
before applying global options such as {cmd:coeflabel()}, {cmd:order()},
or {cmd:eqlabels()}.
{marker mlabels}{...}
{phang}
{cmd:mlabels(}{it:matchlist}{cmd:)} specifies marker labels for
selected coefficients. {it:matchlist} is:
{it:coeflist} {cmd:=} # "{it:label}" [{it:coeflist} {cmd:=} # "{it:label}" ...]
{pmore}
where {it:coeflist} is as above for {helpb coefplot##keep:keep()} and # is a
number 0--12 for the location of the marker label (see
{manhelpi clockposstyle G-4}). Not all of Stata's plot types
support marker labels. For example, if you use
{helpb coefplot##recast:recast(bar)} to change the plot type to
{helpb twoway_bar:bar}, no marker labels will be displayed (this has
changed with the April 6, 2022, update to Stata 17; plot type
{helpb twoway_bar:bar} now displays marker labels).
{marker aux}{...}
{phang}
{cmd:aux(}{it:mspec} [{it:mspec} ...]{cmd:)} collects additional results
and makes them available as internal variables. {it:mspec} is as above for
{helpb coefplot##b:b()}. The internal variables
are named {cmd:@aux1}, {cmd:@aux2}, ..., and can be used within
{helpb coefplot##ifopt:if()},
{helpb coefplot##weight:weight()},
{helpb coefplot##transform:transform()},
{helpb marker_label_options:mlabel()},
{helpb marker_label_options:mlabvposition()}, and
{helpb addplot_option:addplot()} (see
{help coefplot##tempvar:Accessing internal temporary variables}
below). In matrix mode (see
{help coefplot##matrix:{it:Plotting results from matrices}} below), you may
also specify {cmd:aux(}# [# ...]{cmd:)} to read the from corresponding
rows (or column) of the main matrix.
{dlgtab:Plot options}
{marker label}{...}
{phang}
{cmd:label(}{it:string}{cmd:)} provides a label for the plot to be used
in the legend. Use double quotes to create multiline labels. For example,
{cmd:label("This is a" "long label")} would create a two-line label. For
text effects (bold, italics, greek letters, etc.) use SMCL tags as
described in {it:{help graph_text}}.
{marker key}{...}
{phang}
{cmd:key}[{cmd:(ci} [{cmd:#}]{cmd:)}] determines the key symbol
to be used for the plot in the legend. {cmd:key} without argument uses
the plot's marker symbol; this is the default. {cmd:key(ci)} determines
the key symbol from the (first) confidence interval. {cmd:key(ci #)}
determines the key symbol from the #th confidence interval; this is only
useful if multiple confidence intervals are included in the plot.
{marker nokey}{...}
{phang}
{cmd:nokey} prevents including the plot in the legend.
{marker pstyle}{...}
{phang}{cmd:pstyle(}{it:pstyle}{cmd:)} sets the overall style of the
plot; see help {it:{help pstyle}}. {cmd:pstyle()} affects both,
coefficient markers and confidence spikes. To use a different plot style
for confidence spikes, add {cmd:pstyle()} within
{helpb coefplot##ciopts:ciopts()}.
{marker axis}{...}
{phang}{cmd:axis(}{it:#}{cmd:)} specifies the scale axis to be used for the
plot, where {cmd:1} {ul:<} {it:#} {ul:<} {cmd:9}. The default is to place
all plots on the same scale axis.
{marker offset}{...}
{phang}
{cmd:offset(}{it:#}{cmd:)} specifies a custom offset for the plot
positions. The default is to create automatic offsets to prevent
overlap of confidence spikes as soon as there are
multiple plots. The spacing between coefficients is one unit, so
{it:#} should usually be within -0.5 and 0.5. {it:#} may also be a scalar
expression such as, say, {cmd:1/6}.
{marker ifopt}{...}
{phang}
{cmd:if(}{it:exp}{cmd:)} restricts the contents of the plot to coefficients
satisfying {it:exp}. The option is useful when you want to select
coefficients, e.g., based on their values, plot positions, or confidence
limits. Within {it:exp} refer to internal temporary variables as explained
in {help coefplot##tempvar:Accessing internal temporary variables} below.
For example, to include positive coefficients only, you could type
{cmd:if(@b>=0)}. Note that {cmd:if()} does not affect the rendition of the
categorical axis (unless {helpb coefplot##at:at} is specified). That is, a
complete categorical axis is created including labels for all collected
coefficients, even for the ones that have been removed from the plot by
{cmd:if()}.
{marker weight}{...}
{phang}
{cmd:weight(}{it:exp}{cmd:)} scales the size of the markers according to
the size of the specified weights (see
{help scatter##remarks14:Weighted markers} in help {helpb scatter}). Within
{it:exp} refer to internal temporary variables as explained in
{help coefplot##tempvar:Accessing internal temporary variables} below. For
example, to scale markers according to the inverse of standard errors, you
could type {cmd:weight(1/@se)}. {cmd:weight()} has no effect if marker
labels are specified.
{phang}
{it:marker_options} change the look of the coefficient markers (color,
size, etc.); see help {it:{help marker_options}}.
{marker mlabel}{...}
{phang}
{cmd:mlabel}[{cmd:(}{it:spec}{cmd:)}] adds marker labels to the
plot. For adding custom labels to specific markers also see model option
{helpb coefplot##mlabels:mlabels()} above. Furthermore, note that
not all of Stata's plot types support marker labels. For example, if you use
{helpb coefplot##recast:recast(bar)} to change the plot type to
{helpb twoway_bar:bar}, no marker labels will be displayed (this has
changed with the April 6, 2022, update to Stata 17; plot type
{helpb twoway_bar:bar} now displays marker labels).
{pmore}
The {cmd:mlabel} option can be used in three different ways:
{pmore2}
(1) {opt mlabel} without argument adds the values of the point estimates as
marker labels. Use global option
{helpb coefplot##format:format()} to set the display format.
{pmore2}
(2) {opth mlabel(varname)} uses the values of the specified variable
as marker labels. {it:varname} may be an internal variable (see
{help coefplot##tempvar:Accessing internal temporary variables} below). For example,
{cmd:mlabel(@b)} is equivalent to {cmd:mlabel} without argument.
{pmore2}
(3) {opt mlabel(strexp)} sets the marker labels to the evaluation of the
specified string expression. Internal variables can be used within {it:strexp}
(see {help coefplot##tempvar:Accessing internal temporary variables}
below). For example, you can type
{pmore3}
mlabel("p = " + string(@pval,"%9.3f"))
{pmore2}
to display labels such as "p = 0.001" or "p = 0.127". Furthermore,
{pmore3}
mlabel(cond(@pval<.001, "***", cond(@pval<.01, "**", cond(@pval<.05, "*", ""))))
{pmore2}
would display significance stars.
{phang}
{it:marker_label_options} change the look and
position of marker labels; see help {it:{help marker_label_options}}.
{marker recast}{...}
{phang}
{cmd:recast(}{it:plottype}{cmd:)} plots the coefficients using
{it:plottype}; supported plot types are
{helpb scatter},
{helpb line},
{helpb twoway_connected:connected},
{helpb twoway_area:area},
{helpb twoway_bar:bar},
{helpb twoway_spike:spike},
{helpb twoway_dropline:dropline}, and
{helpb twoway_dot:dot}. The default {it:plottype} is {helpb scatter}. The
chosen plot type affects the available plot options. For example, if
the plot type is {helpb twoway_bar:bar} then {it:{help barlook_options}}
will be available. See the plot type's help file for details.
{marker cionly}{...}
{phang}
{cmd:cionly} causes markers for point estimates to be suppressed.
{marker citop}{...}
{phang}
{cmd:citop} specifies that confidence intervals be drawn in front of
the markers for point estimates; the default is to draw confidence intervals
behind the markers.
{marker cirecast}{...}
{phang}
{cmd:cirecast(}{it:plottype}{cmd:)} is shorthand notation for
{helpb coefplot##ciopts:ciopts(recast())}. If both are provided, the plot types
specified in {cmd:ciopts(recast())} take precedence over the plot types
specified in {cmd:cirecast()}.
{marker ciopts}{...}
{phang}
{cmd:ciopts(}{it:options}{cmd:)} affect the rendition of confidence
intervals. {it:options} are:
{p2colset 13 31 33 2}{...}
{p2col:{it:{help line_options}}}change look of spikes
{p_end}
{p2col:{cmd:recast(}{it:plottype}{cmd:)}}plot the confidence intervals using
{it:plottype}
{p_end}
{p2colreset}{...}
{pmore}
Supported plot types are
{helpb twoway_rarea:rarea},
{helpb twoway_rbar:rbar},
{helpb twoway_rspike:rspike},
{helpb twoway_rcap:rcap},
{helpb twoway_rcapsym:rcapsym},
{helpb twoway_rscatter:rscatter},
{helpb twoway_rline:rline},
{helpb twoway_rconnected:rconnected},
{helpb twoway_pcspike:pcspike},
{helpb twoway_pcspike:pccapsym},
{helpb twoway_pcarrow:pcarrow} (or {cmd:pcrarrow} for the reverse),
{helpb twoway_pcbarrow:pcbarrow}, and
{helpb twoway_pcscatter:pcscatter}. The default {it:plottype} is
{helpb twoway_rspike:rspike}. The chosen plot type affects the available
options within {cmd:ciopts()}. For example, if the plot type is
{helpb twoway_rbar:rbar} then {it:{help barlook_options}} will be
available. See the plot type's help file for details.
{pmore}
If multiple confidence intervals are requested, then
{it:{help stylelists}} may be specified in the options within
{cmd:ciopts()}. For example, {cmd:recast(rspike rcap ..)} would use
{helpb twoway_rspike:rspike} for the first confidence interval and
{helpb twoway_rcap:rcap} for the remaining confidence intervals;
{cmd:lwidth(thin medium thick)} would use thin lines for the first
confidence interval, medium width lines for the second, and thick lines
for the third.
{marker cismooth}{...}
{phang}
{cmd:cismooth}[{cmd:(}{it:options}{cmd:)}] adds smoothed confidence
intervals. {it:options} are:
{p2colset 13 33 35 2}{...}
{p2col:{cmd:n(}{it:n}{cmd:)}}number of (equally spaced) confidence levels;
default is {cmd:n(50)}; levels are placed in steps of 100/{it:n} from 100/2{it:n} to
100-100/2{it:n} (e.g., 1, 3, 5, ..., 99 for {it:n}=50)
{p_end}
{p2col:{cmdab:lw:idth(}{it:min max}{cmd:)}}set range of
(relative) line widths; the default is {cmd:range(2 15)}
({it:max} is exact only for {it:n}=50)
{p_end}
{p2col:{cmdab:i:ntensity(}{it:min max}{cmd:)}}set range of
color intensities, as percentages; the default is {cmd:intensity(}{it:min} {cmd:100)}
where {it:min} is determined as 4/(ceil({it:n}/2)+3)*100 (about 14 for n=50)
{p_end}
{p2col:{cmdab:c:olor(}{help colorstyle:{it:color}}{cmd:)}}set the color (without
intensity multiplier); the default color is determined by the graph scheme
{p_end}
{p2col:{cmdab:psty:le(}{help pstyle:{it:pstyle}}{cmd:)}}set the overall style;
this mainly affects the color
{p_end}
{p2colreset}{...}
{pmore}
The confidence intervals produced by {cmd:cismooth} are placed behind
confidence intervals requested in {helpb coefplot##levels:levels()} and
{helpb coefplot##ci:ci()}. {helpb coefplot##ciopts:ciopts()} do not
apply to them.
{dlgtab:Subgraph options}
{marker bylabel}{...}
{phang}
{cmd:bylabel(}{it:string}{cmd:)} provides a label for the subgraph. Use
double quotes to create multiline labels. For example,
{cmd:bylabel("This is a" "long label")} would create a two-line label. For
text effects (bold, italics, greek letters, etc.) use SMCL tags as
described in {it:{help graph_text}}.
{pmore}
Subgraphs are implemented in terms of {helpb graph}'s {cmd:by()} option; see
{helpb coefplot##byopts:byopts()} below for options on how to combine and
render the subgraphs.
{dlgtab:Global options}
{marker horizontal}{...}
{phang}
{cmd:horizontal} places coefficient values on the x axis. This is the
default unless {helpb coefplot##at:at} is specified.
{marker vertical}{...}
{phang}
{cmd:vertical} places coefficient values on the y axis. This is the
default if {helpb coefplot##at:at} is specified.
{marker eqstrict}{...}
{phang}
{cmd:eqstrict} causes equation names to be taken into account (i.e. match coefficients by
equation names and plot equation labels) even if there is only one equation per model.
{marker order}{...}
{phang}
{cmd:order(}{it:coeflist}{cmd:)} specifies the order of coefficients
(not allowed with {helpb coefplot##at:at}). The default is to use
the order as found in the input models (and place {cmd:_cons} last, within
equations). {it:coeflist} is a
space-separated list of elements such as:
{p2colset 13 25 27 2}{...}
{p2col:{cmd:.}}insert a gap
{p_end}
{p2col:{it:eq}{cmd::.}}insert a gap within equation {it:eq}
{p_end}
{p2col:{it:coef}}coefficient {it:coef}
{p_end}
{p2col:{it:eq}{cmd::}}all coefficients from equation {it:eq}, in their current order
{p_end}
{p2col:{it:eq}{cmd::}{it:coef}}coefficient {it:coef} from equation {it:eq}
{p_end}
{p2colreset}{...}
{pmore}
where {it:coef} may contain "{cmd:*}" (any string) and "{cmd:?}"
(any nonzero character) wildcards.
{pmore}
If no equations are specified, then the requested order of coefficients
is repeated within each equation (keeping the existing order of
equations). Otherwise, the requested order is applied across equations.
Note that in the later case the first element in {cmd:order()} must be an
equation name. {it:eq} is applied to all subsequent elements until a
new {it:eq} is specified. For example,
{cmd:order(5:weight mpg * 4:turn *)} would yield the following order:
"{cmd:weight}" from equation "{cmd:5}", "{cmd:mpg}" from equation "{cmd:5}",
remaining coefficients from equation "{cmd:5}",
"{cmd:turn}" from equation "{cmd:4}", remaining coefficients from equation
"{cmd:4}", remaining equations if any.
{marker orderby}{...}
{phang}
{cmd:orderby(}[{it:subgraph}{cmd::}][{it:plot}]{cmd:)} orders the
coefficients by a specific model. By default, the coefficients are ordered
according to how they are provided to {cmd:coefplot}, with earlier plots
and subgraphs taking precedence over later ones (and placing {cmd:_cons}
last). This means that coefficients that only appear in later models will
be placed after the coefficients that appear in earlier models. Specify the
{cmd:orderby()} option if you want to change the default behavior and
arrange the coefficients according to their order in a specific model
(and, within each equation, place the other coefficients after these coefficients, but
before {cmd:_cons}). Arguments {it:subgraph} and {it:plot} select the relevant
model. For example, {cmd:orderby(2:3)} will order coefficients according to
the model that is displayed in the third plot of the second subgraph. If one
of the arguments is omitted, it defaults to one. Hence, {cmd:orderby(3)} will
order the coefficients according to the model displayed in the third plot
of the first subgraph; {cmd:orderby(2:)} will use the model displayed in the first
plot of the second subgraph. {cmd:orderby()} will do nothing if a specified subgraph or
plot does not exist. Furthermore, note that the {it:subgraph} argument
is not allowed if the {helpb coefplot##norecycle:norecycle} option has been
specified; plots are numbered uniquely across subgraphs in this case.
{marker sort}{...}
{phang}
{cmd:sort}[{cmd:(}{it:spec}{cmd:)}] sorts the coefficients by size. {it:spec} is
[{it:subgraph}{cmd::}][{it:plot}] [, {cmdab:d:escending} {cmd:by(}{it:stat}{cmd:)} ]
{pmore}
where {it:subgraph} and {it:plot}, being equal to {cmd:.} or a positive
integer, identify the subgraph and plot to be used
to establish the sort order. For example, to sort based on all values in
the second subgraph (possibly including multiple plots), type
{cmd:sort(2:)} or {cmd:sort(2:.)}; to sort based on all values in the third
plot (possibly spanning multiple subgraphs), type {cmd:sort(3)} or
{cmd:sort(.:3)}; to sort based on the values of the third plot in the
second subgraph, type {cmd:sort(2:3)}. Specifying {cmd:sort} without
argument is equivalent to {cmd:sort(.:.)}, that is, to sort based on the
values in all available subgraphs and plots. If you specify a subgraph or
plot that does not exist, {cmd:sort()} will do nothing. Furthermore, if the
{helpb coefplot##norecycle:norecycle} option is specified, the {it:subgraph}
argument can be omitted as the plots will be uniquely numbered across
subgraphs.
{pmore}
By default, the coefficients are sorted in ascending order of the values of
the point estimates. Specify suboption {cmd:descending} to use a
descending sort order. Furthermore, use {cmd:by(}{it:stat}{cmd:)} to change
the relevant statistic, where {it:stat} may be:
{p2colset 13 25 27 2}{...}
{p2col:{cmd:b}}sort by point estimate (the default){p_end}
{p2col:{cmd:v} (or {cmd:se})}sort by variance (or standard error){p_end}
{p2col:{cmd:t}}sort by t (or z) statistic{p_end}
{p2col:{cmd:tabs}}sort by absolute t (or z) statistic{p_end}
{p2col:{cmd:p}}sort by p-value{p_end}
{p2col:{cmd:df}}sort by degrees of freedom{p_end}
{p2col:{cmd:ll} [#]}sort by (#th) lower confidence limit; # defaults to 1{p_end}
{p2col:{cmd:ul} [#]}sort by (#th) upper confidence limit; # defaults to 1{p_end}
{p2col:{cmd:aux} [#]}sort by (#th) auxiliary variable (see the
{helpb coefplot##aux:aux()} option); # defaults to 1{p_end}
{p2colreset}{...}
{pmore}
In case of multiple equations, coefficients will be sorted separately
within each equation, keeping the original order of equations. Use the
{helpb coefplot##order:order()} option the change the order of the equations.
{marker relocate}{...}
{phang}
{cmd:relocate(}{it:spec}{cmd:)} assigns specific positions to the
coefficients on the category axis. {it:spec} is:
[{it:eq}{cmd::}]{it:coef} {cmd:=} # [[{it:eq}{cmd::}]{it:coef} {cmd:=} # ...]
{pmore}
where {it:eq} and {it:coef} may contain "{cmd:*}" (any string) and
"{cmd:?}" (any nonzero character) wildcards. If {helpb coefplot##bycoefs:bycoefs} is
specified, use numbers (1, 2, ...) instead of {it:eq} and {it:coef}
to address the elements on the categorical axis.
{pmore}The default for {cmd:coefplot} is to place coefficients
at integer values 1, 2, 3, ... (from top to bottom in horizontal mode,
from left to right in vertical mode). The {cmd:relocate()} option gives
you the possibility to specify alternative values. If, for example, you
want to place coefficient {cmd:mpg} at value 2.5 on the category axis, you
could type {cmd:relocate(mpg = 2.5)}. If you only want to change the
order of coefficients and are fine with integer positions, then use the
{helpb coefplot##order:order()} option. Note that the specified positions
are assigned before inserting gaps between equations, headings, and
groups (see {helpb coefplot##eqlabels:eqlabels()},
{helpb coefplot##headings:headings()}, and
{helpb coefplot##groups:groups()}). Hence, the final plot positions might
deviate from the specified positions if there are equation labels, headings,
or group labels.
{marker bycoefs}{...}
{phang}
{cmd:bycoefs} flips subgraphs and coefficients (not allowed with
{helpb coefplot##at:at}). If {cmd:bycoefs} is specified, a
separate subgraph is produced for each coefficient. In this
case, use integer numbers (1, 2, ...) instead of coefficient names
to address the elements on the categorical axis within options
{helpb coefplot##relocate:relocate()},
{helpb coefplot##headings:headings()}, and
{helpb coefplot##groups:groups()}.
{marker norecycle}{...}
{phang}
{cmd:norecycle} increments plot styles across subgraphs. The default is
to start over with each new subgraph.
{marker nooffsets}{...}
{phang}
{cmd:nooffsets} suppresses automatic offsets for plot positions.
{marker format}{...}
{phang}
{cmd:format(}{it:format}{cmd:)} sets the display format for
coefficients. This affects the rendition of the axis and marker
labels. {it:format} may be a numeric format or a date format
(see help {helpb format}).
{marker pnum}{...}
{phang}
{cmd:p{it:#}(}{help coefplot##plotopts:{it:plotopts}}{cmd:)} specifies
options for the {it:#}th plot. For example, type {cmd:p2(nokey)} to exclude
plot 2 from the legend (see {helpb coefplot##nokey:nokey}). Use the {cmd:p#()}
options as an alternative to specifying options directly within a plot; in
case of conflict, options specified within a plot take precedence
over options specified via {cmd:p#()}.
{marker nolabels}{...}
{phang}
{cmd:nolabels} causes coefficient names to be used as labels instead of
variable labels or value labels.
{marker coeflabels}{...}
{phang}
{cmd:coeflabels(}{it:spec}{cmd:)} specifies custom labels for
coefficients (not allowed with {helpb coefplot##at:at}). {it:spec} is
{p 12 14 2}
[{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} [{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} ...]]
[{cmd:,} {cmdab:t:runcate(}#{cmd:)} {cmdab:w:rap(}#{cmd:)} {cmdab:nob:reak}
{cmdab:i:nteraction(}{it:string}{cmd:)}
{it:{help axis_label_options:suboptions}}]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()}. Enclose
{it:label} in double quotes
if it contains spaces, e.g. {bind:{cmd:coeflabels(foreign = "Car Type")}}.
Enclose {it:label} in compound double quotes to create a multiline
label, e.g. {bind:{cmd:coeflabels(foreign = `""This is a" "long label""')}};
alternatively, apply the {cmd:wrap()} option. For text effects
(bold, italics, greek letters, etc.) use SMCL tags as described in
{it:{help graph_text}}.
{pmore}
Option {cmd:truncate(}#{cmd:)} truncates coefficient labels to
a maximum length of # characters. Option {cmd:wrap(}#{cmd:)} divides
coefficient labels into multiple lines, where each line has a maximum
length of # characters. {cmd:truncate()} and {cmd:wrap()} operate on
words. That is, they try to fill to the maximum length without breaking
in the middle of a word. However, if a word is longer than # characters,
it will be split or truncated. Specify {cmd:nobreak} to prevent
{cmd:truncate()} and {cmd:wrap()} from splitting or truncating words
that are longer than # characters. If {cmd:truncate()} and {cmd:wrap()}
are both specified, {cmd:truncate()} is applied first.
{cmdab:interaction()} specifies the string to be used as
delimiter in labels for interaction terms; the default is
{cmd:interaction(" # ")}. {it:suboptions} are axis label suboptions as
described in {it:{help axis_label_options}}.
{pmore}
Note: Labels containing multiple lines are left unchanged by {cmd:truncate()}
and {cmd:wrap()}. Therefore, if you don't like how {cmd:wrap()} breaks a
specific label, you can provide a custom variant of it in {cmd:coeflabels()}
while still using {cmd:wrap()} for the other labels. {cmd:truncate()}
and {cmd:wrap()} may fail to process a label if it contains compound
double quotes; the label will be left unchanged in this case.
{marker noeqlabels}{...}
{phang}
{cmd:noeqlabels} suppresses equation labels.
{marker eqlabels}{...}
{phang}
{cmd:eqlabels(}{it:spec}{cmd:)} specifies custom labels for equations, one after
the other (not allowed with {helpb coefplot##at:at}). {it:spec} is:
{p 12 14 2}
[{cmd:"}{it:label}{cmd:"} [{cmd:"}{it:label}{cmd:"} ...]] [{cmd:,}
{cmdab:lab:els}[{cmd:(}{it:string}{cmd:)}]
[{cmd:{ul:no}}]{cmdab:g:ap}[{cmd:(}#{cmd:)}] {cmdab:ashead:ings}
{cmdab:off:set(}#{cmd:)} {cmdab:t:runcate(}#{cmd:)} {cmdab:w:rap(}#{cmd:)}
{cmdab:nob:reak} {it:{help axis_label_options:suboptions}} ]
{pmore}
Enclose labels in double quotes if they contain spaces,
e.g. {bind:{cmd:eqlabels("EQ one" "EQ two")}}. Enclose labels in compound
double quotes to create multiline labels,
e.g. {bind:{cmd:eqlabels(`""This is a" "long label""')}}. Alternatively,
apply the {cmd:wrap()} option. For text effects
(bold, italics, greek letters, etc.) use SMCL tags as described in
{it:{help graph_text}}.
{pmore}
Option {cmd:label} causes the equation names to be treated as
variable names; {cmd:coefplot} will then use the corresponding variable labels
(and, depending on context, value labels) to label the equations. Specify
{cmd:label(}{it:string}{cmd:)} to set the string to be used as
delimiter in labels for interaction terms; typing {cmd:label} without argument
is equivalent to {cmd:label(" # ")}. {cmd:gap()} specifies the size of the
gap between equations. The
default is {cmd:gap(1)}. {cmd:nogap} suppresses the gap between
equations. {cmdab:asheadings} treats equation labels as headings;
see {helpb coefplot##headings:headings()}. {cmd:offset()}, only
allowed with {cmd:asheadings}, offsets the labels. {cmd:truncate()},
{cmd:wrap()}, {cmd:nobreak}, and {it:suboptions} are as above for
{helpb coefplot##coeflabels:coeflabels()}.
{marker headings}{...}
{phang}
{cmd:headings(}{it:spec}{cmd:)} adds headings between
coefficients (not allowed with {helpb coefplot##at:at}). {it:spec} is:
{p 12 14 2}
{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} [{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} ...]
[{cmd:,} [{cmd:{ul:no}}]{cmdab:g:ap}[{cmd:(}#{cmd:)}]
{cmdab:off:set(}#{cmd:)} {cmdab:t:runcate(}#{cmd:)}
{cmdab:w:rap(}#{cmd:)} {cmdab:nob:reak}
{it:{help axis_label_options:suboptions}} ]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()}. If
{helpb coefplot##bycoefs:bycoefs} is specified, use numbers 1, 2,
... instead of {it:coeflist} to address the elements on the categorical
axis. Enclose {it:label} in double quotes if it contains
spaces. For example, {bind:{cmd:headings(0.foreign = "Car Type")}} will
print the heading "{cmd:Car Type}" before coefficient "{cmd:0.foreign}".
Enclose {it:label} in compound double quotes to create a multiline
label, e.g. {bind:{cmd:headings(foreign = `""This is a" "long heading""')}}.
Alternatively, apply the {cmd:wrap()} option. For text effects (bold,
italics, greek letters, etc.) use SMCL tags as
described in {it:{help graph_text}}.
{pmore}
{cmd:gap()} and {cmdab:offset()} are as above for
{helpb coefplot##eqlabels:eqlabels()}. {cmd:truncate()}, {cmd:wrap()},
{cmd:nobreak}, and {it:suboptions} are as above for
{helpb coefplot##coeflabels:coeflabels()}.
{marker groups}{...}
{phang}
{cmd:groups(}{it:spec}{cmd:)} adds labels for groups of
coefficients (not allowed with {helpb coefplot##at:at}). The specified
label will be printed beside (or, in vertical mode, below) the identified
group of coefficients. {it:spec} is:
{p 12 14 2}
{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} [{it:coeflist} {cmd:=} {cmd:"}{it:label}{cmd:"} ...]
[{cmd:,} [{cmd:{ul:no}}]{cmdab:g:ap}[{cmd:(}#{cmd:)}]
{cmdab:t:runcate(}#{cmd:)} {cmdab:w:rap(}#{cmd:)}
{cmdab:nob:reak} {it:{help axis_label_options:suboptions}} ]
{pmore}
with {it:coeflist} as above for {helpb coefplot##keep:keep()}. If
{helpb coefplot##bycoefs:bycoefs} is specified, use numbers 1, 2,
... instead of {it:coeflist} to address the elements on the categorical
axis. Enclose {it:label} in double quotes if
it contains spaces. Enclose {it:label} in compound double quotes to create
a multiline label. Alternatively, apply the {cmd:wrap()} option. For text
effects (bold, italics, greek letters, etc.) use SMCL tags as described in
{it:{help graph_text}}.
{pmore}
{cmd:gap()} is as above for
{helpb coefplot##eqlabels:eqlabels()}. {cmd:truncate()}, {cmd:wrap()},
{cmd:nobreak}, and {it:suboptions} are as above for
{helpb coefplot##coeflabels:coeflabels()}.
{marker plotlabels}{...}
{phang}
{cmd:plotlabels(}{it:spec}{cmd:)} specifies labels for the plots to be
used in the legend. Labels specified via {cmd:plotlabels()}
take precedence over labels specified in the
{helpb coefplot##label:label()} plot option. {it:spec} is:
{p 12 14 2}
[{cmd:"}{it:label}{cmd:"} [{cmd:"}{it:label}{cmd:"} ...]] [{cmd:,} {cmdab:t:runcate(}#{cmd:)}
{cmdab:w:rap(}#{cmd:)} {cmdab:nob:reak} ]
{pmore}
Enclose labels in double quotes if they contain spaces. Enclose labels in
compound double quotes to create multiline labels. Alternatively,
apply the {cmd:wrap()} option. For text effects
(bold, italics, greek letters, etc.) use SMCL tags as described in
{it:{help graph_text}}. Options {cmd:truncate()}, {cmd:wrap()}, and {cmd:nobreak} are as
above for {helpb coefplot##coeflabels:coeflabels()}.
{marker bylabels}{...}
{phang}
{cmd:bylabels(}{it:spec}{cmd:)} specifies labels for the subgraphs. Labels
specified via {cmd:bylabels()}
take precedence over labels specified in the
{helpb coefplot##bylabel:bylabel()} subgraph option. {it:spec} is:
{p 12 14 2}
[{cmd:"}{it:label}{cmd:"} [{cmd:"}{it:label}{cmd:"} ...]] [{cmd:,} {cmdab:t:runcate(}#{cmd:)}
{cmdab:w:rap(}#{cmd:)} {cmdab:nob:reak} ]
{pmore}
Enclose labels in double quotes if they contain spaces. Enclose labels in
compound double quotes to create multiline labels. Alternatively,
apply the {cmd:wrap()} option. For text effects
(bold, italics, greek letters, etc.) use SMCL tags as described in
{it:{help graph_text}}. Options {cmd:truncate()}, {cmd:wrap()}, and {cmd:nobreak} are as
above for {helpb coefplot##coeflabels:coeflabels()}.
{marker grid}{...}
{phang}
{cmd:grid(}{it:options}{cmd:)} affects the rendition of grid lines on the
category axis (not allowed with {helpb coefplot##at:at}). {it:options} are:
{p 12 14 2}
{ {cmdab:b:etween} | {cmdab:w:ithin} | {cmdab:n:one} } {it:{help axis_label_options:suboptions}}
{pmore}
{cmdab:b:etween} places grid lines between coefficient labels;
{cmdab:w:ithin} places grid lines at the center of coefficient labels;
{cmdab:n:one} suppress grid lines. {it:suboptions} are axis label suboptions
as described in {it:{help axis_label_options}}. In horizontal mode, the
default is {cmd:within} for single plots and {cmd:between} for multiple
plots. In vertical mode, the default is {cmd:none}. Alternatively, use
{helpb axis_label_options:ytick()} and {helpb axis_label_options:xtick()}
to set grid lines.
{marker generate}{...}
{phang}
{cmd:generate}[{cmd:(}{it:prefix}{cmd:)}] generates variables containing
the graph data. The variable names will be prefixed by "{cmd:__}"
or as specified by {it:prefix}.
{marker replace}{...}
{phang}
{cmd:replace} allows {cmd:coefplot} to overwrite existing variables.
{marker addplot}{...}
{phang}
{cmd:addplot(}{it:plot}{cmd:)} adds other plots to the graph. See help
{it:{help addplot_option}}. By default {cmd:addplot()} has access only to
the first {it:r} observations in the dataset, where {it:r} is the number of
observations used by {cmd:coefplot} to store its internal results. If the
graph does not contain multiple subgraphs and
{helpb coefplot##generate:generate()} or {helpb coefplot##nodrop:nodrop} is
specified, {cmd:addplot()} has access to all observations.
{marker nodrop}{...}
{phang}
{cmd:nodrop} causes {cmd:coefplot} to keep all observations when generating
the graph. The default is to eliminate unused observations temporarily
to increase speed. {cmd:nodrop} may be useful in connection with the
{helpb coefplot##addplot:addplot()} option, if the graph does not contain
multiple subgraphs. {cmd:nodrop} has no effect if
{helpb coefplot##generate:generate()} is specified.
{p_end}
{phang}
{it:twoway_options} are general twoway options, other than
{cmd:by()}, as documented in help {it:{help twoway_options}}.
{marker byopts}{...}
{phang}
{cmd:byopts(}{it:byopts}{cmd:)} determines how subgraphs
are combined. {it:byopts} are as described in help {it:{help by_option}}.
{marker examples}{...}
{title:Examples}
. {stata sysuse auto}
. {stata regress price mpg headroom trunk length turn}
. {stata coefplot, drop(_cons) xline(0)}
. {stata regress price mpg headroom trunk length turn if foreign==0}
. {stata estimates store domestic}
. {stata regress price mpg headroom trunk length turn if foreign==1}
. {stata estimates store foreign}
. {stata coefplot domestic foreign, drop(_cons) xline(0)}
. {stata coefplot domestic || foreign, drop(_cons) xline(0)}
. {stata coefplot domestic || foreign, yline(0) bycoefs vertical byopts(yrescale)}
{pstd}
For further examples see the {browse "http://repec.sowi.unibe.ch/stata/coefplot":website},
the {browse "http://www.stata-journal.com/article.html?article=gr0059":Stata Journal article}, or the
{browse "http://ideas.repec.org/p/bss/wpaper/1.html":working paper}.
{marker remarks}{...}
{title:Remarks}
{pstd}
Remarks are presented under the following headings:
{help coefplot##wildcards:Using wildcards in model names}
{help coefplot##place:Placement of options}
{help coefplot##matrix:Plotting results from matrices}
{help coefplot##tempvar:Accessing internal temporary variables}
{marker wildcards}{...}
{title:Using wildcards in model names}
{pstd}
Instead of providing distinct model names to {cmd:coefplot}, you can also
specify a name pattern containing {cmd:*} (any string)
and {cmd:?} (any nonzero character) wildcards. {cmd:coefplot}
will then plot the results from all matching
models. If a name pattern is specified as part of a plot delimited by
parentheses, the results from the matching models will be combined into the
same plot. For example, if models {cmd:est11}, {cmd:est12}, {cmd:est13},
{cmd:est21}, {cmd:est22}, and {cmd:est23} are in
memory, typing
{com}{...}
. coefplot (est1*, {txt:{it:opts1}}) (est2*, {txt:{it:opts2}})
{txt}{...}
{pstd}
is equivalent to
{com}{...}
. coefplot (est11 est12 est13, {txt:{it:opts1}}) (est21 est22 est23, {txt:{it:opts2}})
{txt}{...}
{pstd}
Likewise, typing
{com}{...}
. coefplot (est*1, {txt:{it:opts1}} \ est*2, {txt:{it:opts2}} \, {txt:{it:opts3}})
{txt}{...}
{pstd}
is equivalent to
{com}{...}
. coefplot (est11 est21, {txt:{it:opts1}} \ est12 est22, {txt:{it:opts2}} \, {txt:{it:opts3}})
{txt}{...}
{pstd}
If a name pattern is specified without parentheses,
the matching models are treated as separate plots. For example, typing
{com}{...}
. coefplot est1* || est2*
{txt}{...}
{pstd}
is equivalent to
{com}{...}
. coefplot est11 est12 est13 || est21 est22 est23
{txt}{...}
{pstd}
or
{com}{...}
. coefplot (est11) (est12) (est13) || (est21) (est22) (est23)
{txt}{...}
{pstd}
Use global options {helpb coefplot##pnum:p1()}, {helpb coefplot##pnum:p2()},
etc. to provide specific options to the different plots in this case. For
example, typing
{com}{...}
. coefplot est1*, p1({txt:{it:opts1}}) p2({txt:{it:opts2}}) p3({txt:{it:opts3}})
{txt}{...}
{pstd}
is equivalent to
{com}{...}
. coefplot (est11, {txt:{it:opts1}}) (est12, {txt:{it:opts2}}) (est13, {txt:{it:opts3}})
{txt}{...}
{marker place}{...}
{title:Placement of options}
{pstd}
{cmd:coefplot} has four levels of options:
{phang}(1) {help coefplot##modelopts:{it:modelopts}} are options that apply to a single
model (or matrix). They specify the information to be displayed.
{phang}(2) {help coefplot##plotopts:{it:plotopts}} are options that apply to a single
plot, possibly containing results from multiple models. They affect
the rendition of markers and confidence intervals and provide a label
for the plot.
{phang}(3) {help coefplot##subgropts:{it:subgropts}} are options that
apply to a single subgraph, possibly containing multiple plots.
{phang}(4) {help coefplot##globalopts:{it:globalopts}} are options that apply
to the overall graph.
{pstd}
The levels are nested in the sense that upper level options include all
lower level options. That is,
{help coefplot##globalopts:{it:globalopts}} includes
{help coefplot##subgropts:{it:subgropts}},
{help coefplot##plotopts:{it:plotopts}}, and
{help coefplot##modelopts:{it:modelopts}};
{help coefplot##subgropts:{it:subgropts}} includes
{help coefplot##plotopts:{it:plotopts}}, and
{help coefplot##modelopts:{it:modelopts}};
{help coefplot##plotopts:{it:plotopts}} includes
{help coefplot##modelopts:{it:modelopts}}. However, upper level options
may not be specified at a lower level.
{pstd}
If lower level options are specified at an upper level, they serve as
defaults for all included lower levels elements. For example, if you want
to draw 99% and 95% confidence intervals for all included models,
specify {cmd:levels(99 95)} as global option:
{com}{...}
. coefplot model1 model2 model3, levels(99 95)
{txt}{...}
{pstd}
Options specified with an individual element override the defaults set
by upper level options. For example, if you want to draw 99% and 95%
confidence intervals for model 1 and model 2 and 90% confidence intervals
for model 3, you could type:
{com}{...}
. coefplot model1 model2 (model3, level(90)), levels(99 95)
{txt}{...}
{pstd}
There are some fine distinctions about the placement of options and how they
are interpreted. For example, if you type
{com}{...}
. coefplot m1, {txt:{it:opts1}} || m2, {txt:{it:opts2}} {txt:{it:opts3}}
{txt}{...}
{pstd}
then {it:opts2} and {it:opts3} are interpreted as global options. If you
want to apply {it:opts2} only to {cmd:m2} then type
{com}{...}
. coefplot m1, {txt:{it:opts1}} || m2, {txt:{it:opts2}} ||, {txt:{it:opts3}}
{txt}{...}
{pstd}
Similarly, if you type
{com}{...}
. coefplot (m1, {txt:{it:opts1}} \ m2, {txt:{it:opts2}})
{txt}{...}
{pstd}
then {it:opts2} will be applied to both models. To apply {it:opts2} only to
{cmd:m2} type
{com}{...}
. coefplot (m1, {txt:{it:opts1}} \ m2, {txt:{it:opts2}} \)
{txt}{...}
{pstd}
or, if you also want to include {it:opts3} to be applied to both models,
type
{com}{...}
. coefplot (m1, {txt:{it:opts1}} \ m2, {txt:{it:opts2}} \, {txt:{it:opts3}})
{txt}{...}
{pstd}
or
{com}{...}
. coefplot (m1, {txt:{it:opts1}} \ m2, {txt:{it:opts2}} \), {txt:{it:opts3}}
{txt}{...}
{pstd}
In case of multiple subgraphs there is some ambiguity about where to
specify the plot options (unless global option
{helpb coefplot##norecycle:norecycle} is specified). You can provide plot
options within any of the subgraphs as plot options are collected across
subgraphs. However, in case of conflict, the plot options from the rightmost
subgraph usually take precedence over earlier plot options. In addition,
you can also use global options {helpb coefplot##pnum:p1()},
{helpb coefplot##pnum:p2()}, etc. to provide
options for specific plots. In case of conflict, options specified within a plot take
precedence over options provided via {helpb coefplot##pnum:p1()},
{helpb coefplot##pnum:p2()}, etc.
{marker matrix}{...}
{title:Plotting results from matrices}
{pstd}
Use syntax {helpb coefplot##matrix:{ul:m}atrix({it:mspec})} instead of the
name of a stored model to plot results from a matrix. {it:mspec} may be:
{p2colset 9 21 23 2}{...}
{p2col:{it:name}}use first row of matrix {it:name}
{p_end}
{p2col:{it:name}{cmd:[}#{cmd:,.]}}use #th row of
matrix {it:name}; may also type {it:name}{cmd:[}#{cmd:,]} or
{it:name}{cmd:[}#{cmd:]}
{p_end}
{p2col:{it:name}{cmd:[.,}#{cmd:]}}use #th column of
matrix {it:name}; may also type {it:name}{cmd:[,}#{cmd:]}
{p_end}
{p2colreset}{...}
{pstd}
If the {cmd:matrix()} syntax is used, then option {helpb coefplot##b:b()} is discarded
and names given in {helpb coefplot##at:at()}, {helpb coefplot##ci:ci()},
{helpb coefplot##v:v()}, {helpb coefplot##se:se()},
{helpb coefplot##df:df()}, and {helpb coefplot##aux:aux()} refer to regular
matrices instead of {cmd:e()}-matrices. The matrix name may be omitted in these
options if results are to be read from the same matrix; only the
relevant row or column numbers have to be provided in this case (whether the
numbers are interpreted as row or column numbers
depends in how {cmd:matrix()} was specified).
{pstd}
For example, to plot medians and their confidence intervals as computed
by {helpb centile} you could type:
{com}{...}
sysuse auto, clear
matrix C = J(3,3,.)
matrix rownames C = median ll95 ul95
matrix colnames C = mpg trunk turn
local i 0
foreach v of var mpg trunk turn {
local ++ i
centile `v'
matrix C[1,`i'] = r(c_1) \ r(lb_1) \ r(ub_1)
}
matrix list C
coefplot matrix(C), ci((2 3))
{txt}{...}
{pstd}
This is equivalent to:
{com}{...}
coefplot matrix(C[1]), ci((C[2] C[3]))
{txt}{...}
{pstd}
Note that a single {cmd:coefplot} command can contain both regular syntax
and {cmd:matrix()} syntax. For example, to add means to the graph above
you could type:
{com}{...}
mean mpg trunk turn
estimates store mean
coefplot (matrix(C), ci((2 3))) (mean)
{txt}{...}
{marker tempvar}{...}
{title:Accessing internal temporary variables}
{pstd}
{cmd:coefplot} maintains a number of internal variables that can be
used within
{helpb coefplot##ifopt:if()},
{helpb coefplot##weight:weight()},
{helpb coefplot##transform:transform()},
{helpb marker_label_options:mlabel()},
{helpb marker_label_options:mlabvposition()}, and
{helpb addplot_option:addplot()}. These
variables are:
{p2colset 9 21 23 2}{...}
{p2col:{cmd:@b}}point estimates
{p_end}
{p2col:{cmd:@ll}#}lower limits of confidence interval # (may use {cmd:@ll} for {cmd:@ll1})
{p_end}
{p2col:{cmd:@ul}#}upper limits of confidence interval # (may use {cmd:@ul} for {cmd:@ul1})
{p_end}
{p2col:{cmd:@V}}variances
{p_end}
{p2col:{cmd:@se}}standard errors
{p_end}
{p2col:{cmd:@t}}t or z statistics, computed as @b/@se
{p_end}
{p2col:{cmd:@df}}degrees of freedom
{p_end}
{p2col:{cmd:@pval}}p-values, computed as (1-normal(|@t|))*2 or ttail(@df,|@t|)*2, depending
on whether df are available
{p_end}
{p2col:{cmd:@at}}plot positions
{p_end}
{p2col:{cmd:@plot}}plot ID (labeled)
{p_end}
{p2col:{cmd:@by}}subgraph ID (labeled)
{p_end}
{p2col:{cmd:@mlbl}}Marker labels set by {helpb coefplot##mlabels:mlabels()} (string variable)
{p_end}
{p2col:{cmd:@mlpos}}Marker label positions set by {helpb coefplot##mlabels:mlabels()}
{p_end}
{p2col:{cmd:@aux}#}auxiliary variables collected by {helpb coefplot##aux:aux()} (may use {cmd:@aux} for {cmd:@aux1})
{p_end}
{p2colreset}{...}
{pstd}
The internal variables can be used like other variables in the
dataset. For example, option {cmd:mlabel(@plot)} would add plot labels as marker
labels or option {cmd:addplot(line @at @b)} would draw a connecting line
through all point estimates in the graph.
{marker saved_results}{...}
{title:Saved results}
{pstd}
{cmd:coefplot} returns the following macros and scalars in {cmd:r()}:
{synoptset 20 tabbed}{...}
{p2col 5 20 24 2: Scalars}{p_end}
{synopt:{cmd:r(n_ci)}}number of confidence intervals{p_end}
{synopt:{cmd:r(n_plot)}}number of plots{p_end}
{synopt:{cmd:r(n_subgr)}}number of subgraphs{p_end}
{synoptset 20 tabbed}{...}
{p2col 5 20 24 2: Macros}{p_end}
{synopt:{cmd:r(graph)}}copy of graph command{p_end}
{synopt:{cmd:r(labels)}}coefficient labels{p_end}
{synopt:{cmd:r(eqlabels)}}equation labels{p_end}
{synopt:{cmd:r(groups)}}group labels{p_end}
{synopt:{cmd:r(headings)}}headings{p_end}
{synopt:{cmd:r(legend)}}contents of legend option{p_end}
{marker author}{...}
{title:Author}
{pstd}
Ben Jann, University of Bern, ben.jann@unibe.ch
{pstd}
Thanks for citing this software in one of the following ways:
{pmore}
Jann, B. (2014). Plotting regression coefficients and other
estimates. The Stata Journal 14(4): 708-737.
{pmore}
Jann, B. (2013). Plotting regression coefficients and other estimates
in Stata. University of Bern Social Sciences Working Papers
Nr. 1. Available from
{browse "http://ideas.repec.org/p/bss/wpaper/1.html"}.
{pmore}
Jann, B. (2013). coefplot: Stata module to plot regression coefficients
and other results. Available from
{browse "http://ideas.repec.org/c/boc/bocode/s457686.html"}.