# Inequalities and Quantile Regression

February 6, 2015
By

(This article was first published on Freakonometrics » R-english, and kindly contributed to R-bloggers)

In the course on inequality measure, we’ve seen how to compute various (standard) inequality indices, based on some sample of incomes (that can be binned, in various categories). On Thursday, we discussed the fact that incomes can be related to different variables (e.g. experience), and that comparing income inequalities between coutries can be biased, if they have very different age structures.

So we’ve seen quantile regressions. I can mention some old slides (used in a crash course at McGill three years ago)., as well as a more technical discussion on ties, and non-unicity of the regression line.

In order to illustrate, consider  the following dataset

```> salary <- read.table("http://data.princeton.edu/wws509/datasets/salary.dat",header=TRUE)
> plot(salary\$yd,salary\$sl)
> abline(lm(sl~yd,data=salary),col="blue")```

We have here the stndard regression line, obtained using ordinary least squares. Here we have the expected income given the experience. But we can also use a quantile regression,

```> library(quantreg)
> Q10 <- rq(sl~yd,data=salary,tau=.1)
> Q90 <- rq(sl~yd,data=salary,tau=.9)
> abline(Q10,col="red")
> abline(Q90,col="purple")```

A classical tool to describe inequalities is the ratio of the 90% quantile over the 10% quantile (among so many others,

```> ratio9010 = function(age){
+   predict(Q90,newdata=data.frame(yd=age))/
+   predict(Q10,newdata=data.frame(yd=age))
+ }```

For instance, among people with 5 years of experience, there is an inequality index of

```> ratio9010(5)
1.401749```

while for people with 30 years of experience, it would be

```> ratio9010(30)
1.9488```

If we plot the evolution of this 90-10 ratio, as a function of the experience, we get the following increasing trend

```> A=0:30
> plot(A,Vectorize(ratio9010)(A),type="l",ylab="90-10 quantile ratio")```

So clearly, comparing inequalitis ceteris paribus between two groups, should be performed carefully, and probably including some covariates.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...