26
Stata Technical Bulletin
STB-48
TIP curves are useful for simultaneously displaying the several dimensions of poverty in a single picture; incidence, intensity
and inequality. Moreover, configurations of TIP curves are informative about “poverty dominance” for most indices of poverty
which satisfy a standard set of desirable axioms.
glcurve greatly facilitates the drawing of all these graphs and permits straightforward visual dominance checks.
Syntax
glcurve varname [weight] [if exp [in range] [, pvar (parmame) glvar gglarmame)
s∞rname(svamameU bγ(,gnoupvrr) split nograph replace graph-options]
aweights and fweights are allowed.
Options
pvar (pvarname) generates the variable pvarname containing the ж-ordinates of the created Generalized Lorenz curve.
glvnτrgleamamea generates the variable glvarname containing the у-ordinates of the created Generalized Lorenz curve.
sortvar Ssarramee) specifies the variable by which the data are sorted before the ordinates are computed. By default, the data
are sorted in ascending order of varname. If the sortvar option is specified, sorting and cumulation are in ascending order
of svarname.
by ggrouparr) specifies that the у-ordinates are to be computed separately for each subgroup defined by groupvar. groupvar must
be numeric.
split [to be used only in conjunction with bg(grovaraf) ] specifies that a series of new variables is generated containing
the Generalized Lorenz у-ordinates for each sub-group specified in bg(grovarafW. When split is specified, the string in
glvraagleamamea, truncated after 4 characters, is used as a prefix to create the new variables glvagx1, glvagx2, ... where
x1, x2, ... are the values taken by groupvar. To avoid problems, the number of digits taken by the observations in groupvar
should be at most 3 (otherwise the length of glva~ must be reduced to fewer than 5 characters accordingly).
nograph avoids the automatic display of a crude graph made out of the created variables. nograph is assumed if by(.) is
specified without split.
replace allows the variables pvarname and glvarname to be overwritten if existing names are specified in pvar(.) and
glvar (. ). pvarname and glvarname must otherwise be new variable names.
graph-options are any of the options allowed with graph, twoway; see help for graph.
Examples
Given the definitions outlined earlier, it is straightforward to understand how glcurve works. The generated variables
pvarname and glvarname are simply such that pvamame[i]=p(.varname[i]') and glvarname[i]=gl(p(varname[i])) with the
operators p(.) and gl(.) as defined above and with the is assigned so that seanaame|1|<seanaame|2]< ... ≤ searname[-N].
Whenever the by(.) option is specified, the same construct holds but the ordinates are computed for each distinct subgroup
designated by groupvar (population totals converted to subgroup totals). As should be clear from their definitions, Lorenz curves,
concentration curves as well as TIP curves can be readily obtained as long as the svarname is appropriately chosen and by first
applying a simple transformation to the variable of interest (e.g., for the concentration or Lorenz curves, dividing by the overall
mean).
Let us give a few examples. The dataset subcvse.dta (extracted from a Belgian survey on low income households, the
CVSEW—see the notes of subcvse.dta) provided with this insert contains four variables; a (single adult equivalent) household
income measure (eqinc), an indicator of the sex of the household head (headfem), an indicator of the home tenancy status of
the household (owner) and the amount of child benefits received by the household (chpay).
Suppose we wish to compare welfare levels between female-headed households and male-headed households. We can draw
the Generalized Lorenz curves of the two groups by typing
. glcurve eqinct by(headfem) split xlabel(0,0.25,0.50,0.75,1) ylabel
which results in the drawing of Figure 1 (the GLC for male-headed households is the dashed curve).