Così, seguendo l'esempio dal pacchetto Matching e, in particolare, l'esempio GenMatch Link to pdf herecorrispondenza esatta e GenMatch in R
Seguendo l'esempio qui
library(Matching)
data(lalonde)
attach(lalonde)
X = cbind(age, educ, black, hisp, married, nodegr, u74, u75, re75, re74)
BalanceMat <- cbind(age, educ, black, hisp, married, nodegr, u74, u75, re75, re74,
I(re74*re75))
genout <- GenMatch(Tr=treat, X=X, BalanceMatrix=BalanceMat, estimand="ATE", M=1,
pop.size=16, max.generations=10, wait.generations=1)
Y=re78/1000
mout <- Match(Y=Y, Tr=treat, X=X, Weight.matrix=genout)
summary(mout)
Vediamo che tutti i casi di trattamento sono abbinati a casi di controllo. Ora diciamo che vogliamo la corrispondenza esatta sullo stato sposato, (o qualsiasi altra variabile). Ma vogliamo ancora usare la matrice GenMatch creata prima.
riferimento al link
esatta = ..... Se viene fornito un vettore logica, dovrebbe essere fornito un valore valido per ogni covariata in X. Usando un vettore logica permette all'utente di specificare la corrispondenza esatta per alcune ma non altre variabili. Quando non vengono trovate corrispondenze esatte, le osservazioni vengono eliminate.
Pertanto è corretto quanto segue ??
mout2 <- Match(Y=Y, Tr=treat, X=X, exact=c(0,0,0,0,1,0,0,0,0,0), Weight.matrix=genout)
summary(mout2)
direi che non è stato corretto, come se si confrontano
summary(mout$weights)
summary(mout2$weights)
si ottiene lo stesso valori