1# Replication of Guido Imbens lalonde_exper_04feb2.m file 2# See http://elsa.berkeley.edu/~imbens/estimators.shtml 3# 4# Note that the implications of the 'exact' options differ between the 5# two programs 6 7data(lalonde) 8 9X <- lalonde$age 10Z <- X; 11V <- lalonde$educ; 12Y <- lalonde$re78/1000; 13T <- lalonde$treat; 14w.educ=exp((lalonde$educ-10.1)/2); 15 16res <- matrix(nrow=1,ncol=3) 17 18rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0, 19 sample=TRUE); 20summary(rr) 21 22res[1,] <- cbind(1,rr$est,rr$se) 23 24 25X <- cbind(lalonde$age, lalonde$educ, lalonde$re74, lalonde$re75) 26rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0, 27 sample=TRUE); 28summary(rr) 29 30res <- rbind(res,cbind(2,rr$est,rr$se)) 31 32rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=3,BiasAdj=FALSE,Weight=1,Var.calc=0, 33 sample=TRUE); 34summary(rr) 35res <- rbind(res,cbind(4,rr$est,rr$se)) 36 37rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATT",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0, 38 sample=TRUE); 39summary(rr) 40res <- rbind(res,cbind(5,rr$est,rr$se)) 41 42rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATC",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0, 43 sample=TRUE); 44summary(rr) 45res <- rbind(res,cbind(6,rr$est,rr$se)) 46 47rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=2,Var.calc=0, 48 sample=TRUE); 49summary(rr) 50res <- rbind(res,cbind(7,rr$est,rr$se)) 51 52rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=3,Var.calc=0, 53 Weight.matrix=diag(4), sample=TRUE); 54summary(rr) 55res <- rbind(res,cbind(8,rr$est,rr$se)) 56 57 58rr <- Match(Y=Y,Tr=T,X=X,Z=X,V=V,estimand="ATE",M=1,BiasAdj=TRUE,Weight=1,Var.calc=0, 59 sample=TRUE); 60summary(rr) 61res <- rbind(res,cbind(9,rr$est,rr$se)) 62 63Z <- cbind(lalonde$married, lalonde$age) 64rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=TRUE,Weight=1,Var.calc=0,sample=TRUE); 65summary(rr) 66res <- rbind(res,cbind(10,rr$est,rr$se)) 67 68V <- lalonde$age 69rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0,exact=TRUE, 70 sample=TRUE); 71summary(rr) 72res <- rbind(res,cbind(11,rr$est,rr$se)) 73 74V <- cbind(lalonde$married, lalonde$u74) 75rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0,exact=TRUE, 76 sample=TRUE); 77summary(rr) 78res <- rbind(res,cbind(12,rr$est,rr$se)) 79 80rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0,sample=FALSE); 81summary(rr) 82res <- rbind(res,cbind(13,rr$est,rr$se)) 83 84rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=3,sample=TRUE); 85summary(rr) 86res <- rbind(res,cbind(14,rr$est,rr$se)) 87 88rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V,estimand="ATE",M=1,BiasAdj=FALSE,Weight=1,Var.calc=0, 89 weights=w.educ,sample=TRUE); 90summary(rr) 91res <- rbind(res,cbind(15,rr$est,rr$se)) 92 93 94V <- lalonde$age 95Z <- cbind(lalonde$married, lalonde$age) 96X <- cbind(lalonde$age, lalonde$educ, lalonde$re74, lalonde$re75) 97weight <- w.educ 98Weight.matrix <- diag(4) 99 100rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V, 101 sample=FALSE, M=3, estimand="ATT", BiasAdj=TRUE, Weight=3, exact=TRUE,Var.calc=3, 102 weights=w.educ, Weight.matrix=Weight.matrix); 103summary(rr) 104res <- rbind(res,cbind(75,rr$est,rr$se)) 105 106 107V <- lalonde$married; 108Z <- cbind(lalonde$age, lalonde$re75); 109X <- cbind(lalonde$age, lalonde$educ, lalonde$re74); 110 111rr <- Match(Y=Y,Tr=T,X=X,Z=Z,V=V, 112 sample=TRUE, M=3, estimand="ATE", BiasAdj=TRUE, Weight=2, exact=TRUE,Var.calc=0, 113 weights=w.educ); 114summary(rr) 115res <- rbind(res,cbind(76,rr$est,rr$se)) 116 117cat("\nResults:\n") 118print(res) 119