Lc
Lorenz Curve
Computes the (empirical) ordinary and generalized Lorenz curve of a vector x
 Keywords
 misc
Usage
Lc(x, n = rep(1,length(x)), plot = FALSE)
Arguments
 x
 a vector containing nonnegative elements.
 n
 a vector of frequencies, must be same length as
x
.  plot
 logical. If TRUE the empirical Lorenz curve will be plotted.
Details
Lc(x)
computes the empirical ordinary Lorenz curve of x
as well as the generalized Lorenz curve (= ordinary Lorenz curve *
mean(x)). The result can be interpreted like this: p
*100 percent
have L(p)
*100 percent of x
.
If n
is changed to anything but the default x
is
interpreted as a vector of class means and n
as a vector of
class frequencies: in this case Lc
will compute the minimal
Lorenz curve (= no inequality within each group). A maximal curve can be
computed with Lc.mehran
.
Value

A list of class
 p
 vector of percentages
 L
 vector with values of the ordinary Lorenz curve
 L.general
 vector with values of the generalized Lorenz curve
"Lc"
with the following components:
References
B C Arnold: Majorization and the Lorenz Order: A Brief Introduction, 1987, Springer,
F A Cowell: Measurement of Inequality, 2000, in A B Atkinson / F Bourguignon (Eds): Handbook of Income Distribution, Amsterdam,
F A Cowell: Measuring Inequality, 1995 Prentice Hall/Harvester Wheatshef.
See Also
Examples
## Load and attach income (and metadata) set from Ilocos, Philippines
data(Ilocos)
attach(Ilocos)
## extract and rescale income for the provinces "Pangasinan" und "La Union"
income.p < income[province=="Pangasinan"]/10000
income.u < income[province=="La Union"]/10000
## compute the Lorenz curves
Lc.p < Lc(income.p)
Lc.u < Lc(income.u)
## it can be seen the the inequality in La Union is higher than in
## Pangasinan because the respective Lorenz curve takes smaller values.
plot(Lc.p)
lines(Lc.u, col=2)
## the picture becomes even clearer with generalized Lorenz curves
plot(Lc.p, general=TRUE)
lines(Lc.u, general=TRUE, col=2)
## inequality measures emphasize these results, e.g. Atkinson's measure
ineq(income.p, type="Atkinson")
ineq(income.u, type="Atkinson")
## or Theil's entropy measure
ineq(income.p, type="Theil", parameter=0)
ineq(income.u, type="Theil", parameter=0)
# income distribution of the USA in 1968 (in 10 classes)
# x vector of class means, n vector of class frequencies
x < c(541, 1463, 2445, 3438, 4437, 5401, 6392, 8304, 11904, 22261)
n < c(482, 825, 722, 690, 661, 760, 745, 2140, 1911, 1024)
# compute minimal Lorenz curve (= no inequality in each group)
Lc.min < Lc(x, n=n)
# compute maximal Lorenz curve (limits of Mehran)
Lc.max < Lc.mehran(x,n)
# plot both Lorenz curves in one plot
plot(Lc.min)
lines(Lc.max, col=4)
# add the theoretic Lorenz curve of a Lognormaldistribution with variance 0.78
lines(Lc.lognorm, parameter=0.78)
# add the theoretic Lorenz curve of a Dagumdistribution
lines(Lc.dagum, parameter=c(3.4,2.6))