我想在R中实现Oaxaca分解,它被用于例如劳动经济学中区分可解释方差与不可解释方差。对于非加权数据,使用Oaxaca软件包(请参阅先前的oaxaca使用概述)相对容易。然而,Oaxaca软件包目前不支持加权调查数据,如当前人口普查。"Survey"是处理R中调查数据最流行的软件包,但它缺乏直接执行Oaxaca分解的功能。以下是一个示例,指出了两个软件包的明显局限性:
如果有人能告诉我如何使oaxaca包与调查权重兼容,或者如何在survey.design对象上实现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分解命令,那将不胜感激。有什么指针吗?