में ओक्सका अपघटन आर में मैं ओक्सका अपघटन करना चाहता हूं। इसका उपयोग उदाहरण में किया जाता है। श्रम अर्थशास्त्र ने समझाया भिन्नता बनाम अस्पष्ट भिन्नता को अलग करने के लिए, मेरा मानना है। मैं आर में एक उपयुक्त समाधान नहीं ढूंढ पा रहा हूं, और मैं खुद को बनाने के लिए अनिच्छुक हूं (मैं शायद इसे गड़बड़ कर दूंगा)।आर
वैसे भी, प्रक्रिया संक्षेप में यहां समझाया गया है:
http://en.wikipedia.org/wiki/Ronald_Oaxaca
Stata इस के लिए एक नहीं बल्कि अच्छा पैकेज के साथ ही धन्य है, लेकिन Stata आसानी से मेरे पास उपलब्ध नहीं है।
www.stata.com/meeting/5german/SINNING_stata_presentation.pdf
कृपया ध्यान दें: मैं भी आर-मदद पर एक संदेश पोस्ट किया है, लेकिन यह कोई जवाब नहीं हो गया है। मुझे आशा है कि इस सूची में भी पोस्ट करना ठीक है।
अग्रिम धन्यवाद, Rasmus
संपादित करें: मैं निम्नलिखित समारोह है, जो गलत जवाब (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 वापस रख दिया था यह संबंधित था। इसे बाहर करने के लिए जल्दी होने के लिए क्षमा चाहते हैं। अब कोड के साथ सवाल यह है कि सवाल वैसे भी बेहतर दिखता है ... –