[R] problem of Mahalanobis distance matching using MatchIT
duo wan
duo_wan at yahoo.com
Thu Oct 1 22:44:01 CEST 2015
Dear All,
I am trying to use simulation to test mahalanobis distance matching method. Somehow I do not think Matchit is giving me what I want
Below is the code:
n<-100
x1_contr<-runif(n,0,5)
x2_contr<-runif(n,0,5)
x_contr<-cbind(x1=x1_contr,x2=x2_contr)
x1_treat<-runif(n,1,6)
x2_treat<-runif(n,1,6)
x_treat<-cbind(x1=x1_treat,x2=x2_treat)
T<-c(rep(0,n),rep(1,n))
X.all<-rbind(x_contr,x_treat)
my.data<-data.frame(T,X.all)
rownames(my.data)<-paste("ID",1:dim(my.data)[1])
###MDM ###
mdm.out<-matchit(T~x1+x2,data=my.data,distance="mahalanobis",mahvars
=c("x1","x2"), caliper=0.05,replace=FALSE)
summary(mdm.out)
Sample sizes:
Control Treated
All 100 100
Matched 100 100
Unmatched 0 0
Discarded 0 0> match.data(m.out2)
Y T x1 x2 distance weights
Y ID 1 6.2242654 0 4.04492572 2.49487149 NA 1
Y ID 2 3.7789825 0 0.08779960 3.02116199 NA 1
Y ID 3 4.5557875 0 2.18233171 1.58540582 NA 1
Y ID 4 5.4625778 0 1.49701910 4.68757127 NA 1
Y ID 5 0.2351840 0 2.64143227 0.08412851 NA 1
Y ID 6 4.5206068 0 3.57662464 1.56089398 NA 1
How can all cases and controls be matched? The data are simulated to have some imbalances between cases and controls. Also why distance is "NA"? I changed caliper values but got the same results. Any suggestion will be appreciated.
Vincent
[[alternative HTML version deleted]]
More information about the R-help
mailing list