attach(engel)
engel
z = rq(foodexp ~ income, tau=-1)
z$sol # 这里包含了每个分位点下的系数估计结果
x.poor = quantile(income, 0.1) # 10%分位点的收入
x.rich = quantile(income, 0.9) # 90%分位点的收入
ps = z$sol[1,] # 每个分位点的tau值
ps
qs.poor = c( c(1,x.poor) %*% z$sol[4:5,] ) # 10%分位点的收入的消费估计值
qs.rich = c( c(1,x.rich) %*% z$sol[4:5,] ) # 90%分位点的收入的消费估计值
windows(10,5)
par(mfrow=c(1,2)) # 把绘图区域划分为一行两列
plot(c(ps,ps),c(qs.poor,qs.rich),type="n", # type=”n”表示初始化图形区域,但不画图
xlab=expression(tau), ylab="quantile")
plot(stepfun(ps,c(qs.poor[1],qs.poor)), do.points=F,
add=T)
plot(stepfun(ps,c(qs.poor[1],qs.rich)), do.points=F,
add=T, col.hor="gray", col.vert="gray")
ps.wts = ( c(0,diff(ps)) + c(diff(ps),0) )/2
ap = akj(qs.poor, z=qs.poor, p=ps.wts)
ar = akj(qs.rich, z=qs.rich, p=ps.wts)
plot(c(qs.poor,qs.rich), c(ap$dens, ar$dens),
type="n", xlab="Food Expenditure", ylab="Density")
lines(qs.rich,ar$dens,col="gray")
lines(qs.poor,ap$dens,col="black")
legend("topright", c("poor","rich"), lty=c(1,1),
col=c("black","gray"))