Description
Calculating the Gini coefficient of inequality (or concentration), standardized and non-standardized, and optionally plotting the Lorenz curve
Usage
gini(x, coefnorm = FALSE, weighting = NULL, na.rm = TRUE, lc = FALSE, lcx = "% of objects", lcy = "% of regarded variable", lctitle = "Lorenz curve", le.col = "blue", lc.col = "black",lsize = 1, ltype = "solid",bg.col = "gray95", bgrid = TRUE, bgrid.col = "white", bgrid.size = 2, bgrid.type = "solid",lcg = FALSE, lcgn = FALSE, lcg.caption = NULL, lcg.lab.x = 0, lcg.lab.y = 1, add.lc = FALSE)
Arguments
x
A numeric vector (e.g. dataset of household income, sales turnover or supply)
coefnorm
logical argument that indicates if the function output is the non-standardized or the standardized Gini coefficient (default: coefnorm = FALSE
, that means the non-standardized Gini coefficient is returned)
weighting
A numeric vector containing the weighting data (e.g. size of income classes when calculating a Gini coefficient for aggregated income data)
na.rm
logical argument that indicates whether NA values should be excluded before computing results
lc
logical argument that indicates if the Lorenz curve is plotted additionally (default: lc = FALSE
, so no Lorenz curve is displayed)
lcx
if lc = TRUE
(plot of Lorenz curve), lcx
defines the x axis label
lcy
if lc = TRUE
(plot of Lorenz curve), lcy
defines the y axis label
lctitle
if lc = TRUE
(plot of Lorenz curve), lctitle
defines the overall title of the Lorenz curve plot
le.col
if lc = TRUE
(plot of Lorenz curve), le.col
defines the color of the diagonale (line of equality)
lc.col
if lc = TRUE
(plot of Lorenz curve), lc.col
defines the color of the Lorenz curve
lsize
if lc = TRUE
(plot of Lorenz curve), lsize
defines the size of the lines (default: 1)
ltype
if lc = TRUE
(plot of Lorenz curve), ltype
defines the type of the lines (default: "solid"
)
bg.col
if lc = TRUE
(plot of Lorenz curve), bg.col
defines the background color of the plot (default: "gray95"
)
bgrid
if lc = TRUE
(plot of Lorenz curve), the logical argument bgrid
defines if a grid is shown in the plot
bgrid.col
if lc = TRUE
(plot of Lorenz curve) and bgrid = TRUE
(background grid), bgrid.col
defines the color of the background grid (default: "white")
bgrid.size
if lc = TRUE
(plot of Lorenz curve) and bgrid = TRUE
(background grid), bgrid.size
defines the size of the background grid (default: 2)
bgrid.type
if lc = TRUE
(plot of Lorenz curve) and bgrid = TRUE
(background grid), bgrid.type
defines the type of lines of the background grid (default: "solid"
)
lcg
if lc = TRUE
(plot of Lorenz curve), the logical argument lcg
defines if the non-standardized Gini coefficient is displayed in the Lorenz curve plot
lcgn
if lc = TRUE
(plot of Lorenz curve), the logical argument lcgn
defines if the standardized Gini coefficient is displayed in the Lorenz curve plot
lcg.caption
if lcg = TRUE
(displaying the Gini coefficient in the plot), lcg.caption
specifies the caption above the coefficients
lcg.lab.x
if lcg = TRUE
(displaying the Gini coefficient in the plot), lcg.lab.x
specifies the x coordinate of the label
lcg.lab.y
if lcg = TRUE
(displaying the Gini coefficient in the plot), lcg.lab.y
specifies the y coordinate of the label
add.lc
if lc = TRUE
(plot of Lorenz curve), add.lc
specifies if a new Lorenz curve is plotted (add.lc = "FALSE"
) or the plot is added to an existing Lorenz curve plot (add.lc = "TRUE"
)
Value
A single numeric value of the Gini coefficient (\(0 < G < 1\)) or the standardized Gini coefficient (\(0 < G* < 1\)) and, optionally, a plot of the Lorenz curve.
Details
The Gini coefficient (Gini 1912) is a popular measure of statistical dispersion, especially used for analyzing inequality or concentration. The Lorenz curve (Lorenz 1905), though developed independently, can be regarded as a graphical representation of the degree of inequality/concentration calculated by the Gini coefficient (\(G\)) and can also be used for additional interpretations of it. In an economic-geographical context, these methods are frequently used to analyse the concentration/inequality of income or wealth within countries (Aoyama et al. 2011). Other areas of application are analyzing regional disparities (Lessmann 2005, Nakamura 2008) and concentration in markets (sales turnover of competing firms) which makes Gini and Lorenz part of economic statistics in general (Doersam 2004, Roberts 2014).
The Gini coefficient (\(G\)) varies between 0 (no inequality/concentration) and 1 (complete inequality/concentration). The Lorenz curve displays the deviations of the empirical distribution from a perfectly equal distribution as the difference between two graphs (the distribution curve and a diagonal line of perfect equality). This function calculates \(G\) and plots the Lorenz curve optionally. As there are several ways to calculate the Gini coefficient, this function uses the formula given in Doersam (2004). Because the maximum of \(G\) is not equal to 1, also a standardized coefficient (\(G*\)) with a maximum equal to 1 can be calculated alternatively. If a Gini coefficient for aggregated data (e.g. income classes with averaged incomes) or the Gini coefficient has to be weighted, use a weighting
vector (e.g. size of the income classes).
References
Aoyama, Y./Murphy, J. T./Hanson, S. (2011): “Key Concepts in Economic Geography”. London : SAGE.
Bahrenberg, G./Giese, E./Mevenkamp, N./Nipper, J. (2010): “Statistische Methoden in der Geographie. Band 1: Univariate und bivariate Statistik”. Stuttgart: Borntraeger.
Cerlani, L./Verme, P. (2012): “The origins of the Gini index: extracts from Variabilita e Mutabilita (1912) by Corrado Gini”. In: The Journal of Economic Inequality, 10, 3, p. 421-443.
Doersam, P. (2004): “Wirtschaftsstatistik anschaulich dargestellt”. Heidenau : PD-Verlag.
Gini, C. (1912): “Variabilita e Mutabilita”. Contributo allo Studio delle Distribuzioni e delle RelazioniStatistiche. Bologna : Cuppini.
Lessmann, C. (2005): “Regionale Disparitaeten in Deutschland und ausgesuchten OECD-Staaten im Vergleich”. ifo Dresden berichtet, 3/2005. https://www.ifo.de/DocDL/ifodb_2005_3_25-33.pdf.
Lorenz, M. O. (1905): “Methods of Measuring the Concentration of Wealth”. In: Publications of the American Statistical Association, 9, 70, p. 209-219.
Nakamura, R. (2008): “Agglomeration Effects on Regional Economic Disparities: A Comparison between the UK and Japan”. In: Urban Studies, 45, 9, p. 1947-1971.
Roberts, T. (2014): “When Bigger Is Better: A Critique of the Herfindahl-Hirschman Index's Use to Evaluate Mergers in Network Industries”. In: Pace Law Review, 34, 2, p. 894-946.
See Also
cv
, gini.conc
, gini.spec
, herf
, hoover
Examples
# NOT RUN {# Market concentration (example from Doersam 2004):sales <- c(20,50,20,10)# sales turnover of four car manufacturing companiesgini (sales, lc = TRUE, lcx = "percentage of companies", lcy = "percentrage of sales", lctitle = "Lorenz curve of sales", lcg = TRUE, lcgn = TRUE)# returs the non-standardized Gini coefficient (0.3) and # plots the Lorenz curve with user-defined title and labels gini (sales, coefnorm = TRUE)# returns the standardized Gini coefficient (0.4)# Income classes (example from Doersam 2004):income <- c(500, 1500, 2500, 4000, 7500, 15000)# average income of 6 income classessizeofclass <- c(1000, 1200, 1600, 400, 200, 600)# size of income classesgini (income, weighting = sizeofclass)# returns the non-standardized Gini coefficient (0.5278)# Market concentration in automotive industrydata(Automotive)gini(Automotive$Turnover2008, lsize=1, lc=TRUE, le.col = "black", lc.col = "orange", lcx = "Shares of companies", lcy = "Shares of turnover / cars", lctitle = "Automotive industry: market concentration", lcg = TRUE, lcgn = TRUE, lcg.caption = "Turnover 2008:", lcg.lab.x = 0, lcg.lab.y = 1)# Gini coefficient and Lorenz curve for turnover 2008gini(Automotive$Turnover2013, lsize=1, lc = TRUE, add.lc = TRUE, lc.col = "red", lcg = TRUE, lcgn = TRUE, lcg.caption = "Turnover 2013:", lcg.lab.x = 0, lcg.lab.y = 0.85)# Adding Gini coefficient and Lorenz curve for turnover 2013gini(Automotive$Quantity2014_car, lsize=1, lc = TRUE, add.lc = TRUE, lc.col = "blue", lcg = TRUE, lcgn = TRUE, lcg.caption = "Cars 2014:", lcg.lab.x = 0, lcg.lab.y = 0.7)# Adding Gini coefficient and Lorenz curve for cars 2014# Regional disparities in Germany:gdp <- c(460.69, 549.19, 124.16, 65.29, 31.59, 109.27, 263.44, 39.87, 258.53, 645.59, 131.95, 35.03, 112.66, 56.22, 85.61, 56.81)# GDP of german regions (Bundeslaender) 2015 (in billion EUR)gini(gdp)# returs the non-standardized Gini coefficient (0.5009)# }
Run the code above in your browser using DataLab