나는 오아시스 분해를 R으로 만들고 싶습니다. 설명 된 분산 대 설명되지 않는 분산을 구분하기 위해 노동 경제학자가 믿는다. 나는 R에서 적합한 솔루션을 찾을 수 없었고, 나는 스스로를 만드는 것을 꺼려한다. (아마 엉망이 될 것이다.)Oaxaca 분해 in R
어쨌든, 절차는 간단하게 여기 설명 : STATA이에 오히려 좋은 패키지 축복되지만
http://en.wikipedia.org/wiki/Ronald_Oaxaca
STATA 쉽게 나에게 사용할 수 없습니다.
www.stata.com/meeting/5german/SINNING_stata_presentation.pdf
는 참고 : 나는 또한 R-도움에 메시지를 게시하지만 아무런 응답을 얻었다 없다. 이 목록에도 올릴 수 있기를 바랍니다. 사전에감사합니다, 라스무스
편집 : 내가 잘못 답변 (urgh)을 얻을 것으로 보인다 다음과 같은 기능을 만들었습니다. 위의 Stata 링크를 따르려고했으나 기대했던대로 작동하지 않았습니다.
oaxaca <- function (fsex,frace1,frace2) {
## First we make regresions
data1 <- subset(l2,sex==fsex & race==frace1)
data2 <- subset(l2,sex==fsex & race==frace2)
mindata1 <- subset(cbind(grade,exp,I(exp^2)),sex==fsex & race==frace1)
mindata2 <- subset(cbind(grade,exp,I(exp^2)),sex==fsex & race==frace2)
reg1 <- lm(log(wage)~grade+exp+I(exp^2), data=data1)
reg2 <- lm(log(wage)~grade+exp+I(exp^2), data=data2)
## DECOMPOSITION
################
## Variables
gap <- mean(log(wage[race==frace1 & sex==fsex]))-mean(log(wage[race==frace2 & sex==fsex]))
mean1 <- colMeans(mindata1)
mean2 <- colMeans(mindata2)
beta1 <- summary(reg1)$coefficients[,1]
beta2 <- summary(reg2)$coefficients[,1]
beta1incep <- summary(reg1)$coefficients[1,1]
beta2incep <- summary(reg2)$coefficients[1,1]
beta1coef <- summary(reg1)$coefficients[c(2,3,4),1]
beta2coef <- summary(reg2)$coefficients[c(2,3,4),1]
betastar <- .5*(beta1coef+beta2coef)
betastar2 <- (beta1+beta2)/2
expl <- sum((mean1-mean2)*beta1coef)
uexpl <- sum(mean2*(beta2coef-beta1coef))
pct=expl/gap
pct2=uexpl/gap
## output
out <- data.frame(Gap=gap,
Explained=expl,
Unexplained=uexpl,
Pct=pct*100)
return(out)
}
어, 같은 게시물을 읽지 않은 사람 (메일 링리스트). –
일주일이 지나도 답을 얻지 못했기 때문에 확실하게 그 시간이 지나면 다른 곳에서 물어볼 자격이 있습니다. –
좋아요, -1을 다시 넣었습니다. 그것을 빨리 넘기기위한 사과. 코드는 이제 질문이 어쨌든 훨씬 더 좋아 보인다 ... –