洛伦兹曲线[1]最早用于反映国民收入在国民之间的分配问题,目前在经济学、地理学等学科都有广泛应用,主要用于反映某项要素分布的均衡程度。洛伦兹曲线可通过在Excel中对数据进行逐个计算来绘制,但在数据量较大的情况下,计算工作量大且容易出错。因此本文分别以R语言中的gglorenz包及Stata中的lorenz命令为例,展示如何利用R语言和Stata绘制洛伦兹曲线。
1、数据准备
以381个城市的某项要素分布为例,绘制该要素的洛伦兹曲线,数据保存为"city.csv"文件,如下图所示。数据可在后台回复【20220110】获取。
2、利用R语言绘制洛伦兹曲线
在R语言中,可使用gglorenz包中的绘图函数来绘制洛伦兹曲线图,gglorenz包以ggplot2为基础,可采用图层叠加的方式,对绘制的图形进行多方面调整。
install.packages("ggplot2") #安装package
install.packages("gglorenz")#安装package
library(ggplot2) #加载
library(gglorenz) #加载
setwd("C:\\Users\\Acer\\Desktop") #设置工作路径
city <- read.csv("city.csv") #读取数据
head(city)
# city value
#1 北京 40
#2 天津 55
#3 上海 89
#4 重庆 73
str(city)
#'data.frame': 381 obs. of 2 variables:
# $ city : chr "北京" "天津" "上海" "重庆" ...
# $ value: int 40 55 89 73 15 53 45 6 83 93 ...
p1 <- ggplot(city, aes(value)) +
stat_lorenz(size = 1) + # desc = FALSE
geom_abline(linetype = "dashed",size = 1) + #添加一条45度的直线
theme_bw() +
labs(x = "city", y = "累计比率")
p1 #曲线上凹
p2 <- ggplot(city, aes(value)) +
stat_lorenz(size = 1,desc = TRUE) + #desc为TRUE表示绘制下凹型曲线
geom_abline(linetype = "dashed",size = 1) + #添加一条45度的直线
theme_bw()+
labs(x = "city", y = "累计比率")
p2 #曲线下凹
3、利用Stata绘制洛伦兹曲线
在Stata中绘制洛伦兹曲线的命令为lorenz,该命令由瑞士伯尔尼大学社会学研究所(Institute of Sociology University of Bern)的Jann B[2]学者开发,可参考《Estimating Lorenz and concentration curves in Stata》一文。
*安装lorenz命令
ssc install lorenz
*读入数据
import delimited "C:\Users\Acer\Desktop\city.csv", encoding(GB18030)
*估计分位数
lorenz estimate value
*绘制基本图形
lorenz graph
*对图形做进一步修饰
lorenz graph, noci legend( label (1 "均匀分布") label (2 "实际分布") ///
size(small) position(11) row(2) ring(0)) clp(dash_dot) ///
xtitle("city") ytitle("累计比率") scheme(s1mono)
关于Stata绘图过程中的参数设置可参考之前对stata绘制多期核密度图的讲解,见Stata绘图|Stata绘制多期(年)核密度图,文中对Stata绘图过程中一些参数调整做了分析。
4、其他
本文主要对如何利用R语言和Stata绘制洛伦兹曲线进行了展示。在洛伦兹曲线的使用过程中,常常伴随着基尼系数(Gini Coefficient)的共同出现,因此,后续也将继续更新如何利用R语言或Stata计算基尼系数的相关案例。如有帮助帮忙多多点赞哦!
如有帮助请多多点赞哦!
参考资料
洛伦兹曲线: https://baike.baidu.com/item/%E6%B4%9B%E4%BC%A6%E5%85%B9%E6%9B%B2%E7%BA%BF/2903864?fr=aladdin
[2]lorenz: http://repec.sowi.unibe.ch/files/wp15/jann-2016-lorenz.pdf