File Exchange

## okomarov/ginicoeff

version 1.4.0.0 (18.6 KB) by Oleg Komarov

### Oleg Komarov (view profile)

A measure of statistical dispersion

Updated 17 Sep 2017

A simple function to measure the statistical dispersion of a distribution. This statistic is commonly used to assess inequality in income or wealth.
The coefficients ranges from 1 (total inequality, one person receives ALL) to 0 (total equality, everyone receives the same amount).

The function ignores NaNs and can be computed with or without sample correction.
SYNTAXES:
(1) GINICOEFF(IN) One input syntax, columwise gini coeffs.
(2) GINICOEFF(...,DIM) Dim along which to compute the coeff (1 or 2)
(3) GINICOEFF(...,NOSAMPLECORR) Don't apply sample correction

[COEFF, IDXNEG] = ...
-- coeff : n by 1 vector with gini coefficients where n is the number of series in In.
-- IDX : n by 1 logical index. True means that the computation of the gini coefficient for that series has been skipped due to negative values or insufficient elements (less than 2).

NOTE: this statistical measure is meant to be applied only on positive values. If a series contains negative values or the elements of the less than 2, the coefficient yields NaN and a warning is issued if IDX is not called explicitly.

### Cite As

Oleg Komarov (2020). okomarov/ginicoeff (https://www.github.com/okomarov/ginicoeff), GitHub. Retrieved .

Alan Isaac

### Alan Isaac (view profile)

Fwiw, `flipdim` is deprecated.

CHANGSHUAI LI

### CHANGSHUAI LI (view profile)

it is really helpful, thanks a lot

Oleg Komarov

### Oleg Komarov (view profile)

I will mention in the next release help the range of the coefficient.
Also, I'll switch the default behaviour to sample correction (statistically speaking the probability that somebody will apply this fcn to a sample than to the population is higher...)

The scalar input issue is tricky.
The formula with the sample correction yields NaN, without correction 0
I suppose it's better to write off this case somehow...
I think I'll extend the IDXneg behavior to include the one element case too, making a more general warning....

Jos (10584)

### Jos (10584) (view profile)

Nicely coded, with copious internal comments! As a suggestion for improvement, you could mention in the help that the coefficient can range from 0 (no dispersion, complete equality) to 1 (total inequality), as you do on the fex page. By the way, ginicoeff(ScalarValue) is now 0, but I think it should be 1, as it is total inequality since one gets all, but it is also equal ... I got confused.
And why is the correction not the default, so it truly ranges from 0 to 1?