【发布时间】:2019-09-01 09:21:27
【问题描述】:
我想在 R 中实现瓦哈卡分解。它用于例如劳动经济学来区分解释的方差和无法解释的方差。
使用Oaxaca package (See previous explanation here for general oaxaca usage) 处理未加权数据相当容易。但是,Oaxaca 软件包目前不支持加权调查数据,例如当前人口调查。
"Survey" 是在 R 中处理调查数据的最流行的软件包,但它缺乏直接执行 Oaxaca 分解的能力。
下面是一个例子,说明了这两个包的明显限制:
# Note the lack of support for a "Oaxaca decomposition command":
library(survey)
data(api)
# The line below weights the data
dclus2<-svydesign(id=~dnum+snum, weights=~pw, data=apiclus2)
model0<-svyglm(I(sch.wide=="Yes")~ell+meals+mobility, design=dclus2,
family=quasibinomial())
# Note the lack of support for survey weights:
library(oaxaca)
data("chicago")
# The line below will not work if my data is a survey.design object (i.e. weighted data)
oaxaca.results <- oaxaca(ln.real.wage ~ age + female + LTHS + some.college
+ college + advanced.degree | foreign.born, data = chicago, R = 50)
如果有人能够告诉我如何使 oaxaca 包与调查权重兼容,或者如何在survey.design 对象上实现 oaxaca 分解命令,那将不胜感激。有什么指点吗?
【问题讨论】:
-
您找到解决方案了吗?我也有同样的问题。从理论上讲,oaxaca 函数允许通过省略号(“...”)将更多参数(例如权重)传递给回归函数。
-
我相信“decr”包是最接近的。它允许分解加权数据。
标签: r survey decomposition