Learn R Programming

acid (version 1.1)

atkinson.den: Atkinson Index for an Income Distribution

Description

This function approximates the Atkinson index for a distribution specified by a vector of densities and a corresponding income vector. A point mass at zero is allowed.

Usage

atkinson.den(incs, dens, epsilon = 1, pm0 = NA, lower = NULL, upper = NULL, zero.approx = NULL)

Arguments

incs
a vector with income values.

dens
a vector with the corresponding densities.

epsilon
inequality aversion parameter as denoted by Atkinson (1970). The default is epsilon=1.

pm0
the point mass for zero incomes. If not specified no point mass is assumed.

lower
the lower bound of the income range considered.

upper
the upper bound of the income range considered.

zero.approx
a scalar which replaces zero-incomes, such that the Atkinson index involving a logarithm return finite values.

Value

AIM
the approximation of the selected Atkinson inequality measure.
epsilon
the inequality aversion parameter used.
mean
the approximated expected value of the distribution.
pm0
the point mass for zero incomes used.
lower
the lower bound of the income range considered used.
upper
the upper bound of the income range considered used.
zero.approx
the zero approximation used.

References

Atkinson, A.B. (1970): On the Measurment of Inequality, in: Journal of Economic Theory, Vol. 2(3), pp. 244-263.

See Also

atkinson , atkinson.md

Examples

Run this code
## without point mass at zero
incs<-seq(0,500,by=0.01)
dens<-dLOGNO(incs,2,1)
plot(incs,dens,type="l",xlim=c(0,100))
atkinson.den(incs=incs,dens=dens,epsilon=1)$AIM
atkinson(rLOGNO(50000,2,1),epsilon=1)
atkinson.den(incs=incs,dens=dens,epsilon=0.5)$AIM
atkinson(rLOGNO(50000,2,1),epsilon=0.5)

## with point mass at zero
incs<-c(seq(0,100,by=0.1),seq(100.1,1000,by=1),seq(1001,10000,by=10))
dens<-dLOGNO(incs,2,1)/2
dens[1]<-0.5
plot(incs,dens,type="l",ylim=c(0,max(dens[-1])),xlim=c(0,100))
#without zero approx zeros
atkinson.den(incs=incs,dens=dens,epsilon=1,pm0=0.5)$AIM
atkinson(c(rep(0,25000),rLOGNO(25000,2,1)),epsilon=1)
atkinson.den(incs=incs,dens=dens,epsilon=0.5,pm0=0.5)$AIM
atkinson(c(rep(0,25000),rLOGNO(25000,2,1)),epsilon=0.5)
#with zero approximation 
atkinson.den(incs=incs,dens=dens,epsilon=0.5,pm0=0.5,zero.approx=1)$AIM
atkinson(c(rep(1,25000),rLOGNO(25000,2,1)),epsilon=0.5)
atkinson.den(incs=incs,dens=dens,epsilon=1,pm0=0.5,zero.approx=0.01)$AIM
atkinson(c(rep(0.01,250000),rLOGNO(250000,2,1)),epsilon=1)

Run the code above in your browser using DataLab