在R中对加权调查数据进行Oaxaca分解

4
我想在R中实现Oaxaca分解,它被用于例如劳动经济学中区分可解释方差与不可解释方差。对于非加权数据,使用Oaxaca软件包(请参阅先前的oaxaca使用概述)相对容易。然而,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分解命令,那将不胜感激。有什么指针吗?

1
你找到解决方案了吗?我也有同样的问题。理论上,oaxaca函数允许通过省略号("...")将进一步的参数(例如权重)传递给回归函数。 - yoland
1
我认为“decr”包最接近。它允许对加权数据进行分解。 - Bobby O
1个回答

0

"decr" 库有一些脚本可以对加权数据进行加权和分解。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接