I was trying to match two groups with n1 = 181 and n2 = 39. Because the regular 1:1 or 1:2 matching cannot produce the ideal SMD results, I changed to 1:3 with caliper = 0.2. The results shows good now (most of the SMD < 0.1) but it turns out that the matched samples are n1 = 95 and n2 = 35. I can understand there are some drop-outs in n2. Some values in n2 cannot find the match within the caliper in n1 so they are dropped. But the ratio becomes 1:2.7 right now, which is not the 1:3 I entered at the beginning. This confused me that how R did this matching? I have attached my code below:
set.seed(1000)
match_obj <- matchit(cabg_indication_new ~ age + gender + dm + dialysis + htn + copd + bav + pvd + cvd + previous_cabg + previous_mi + afib + reop, data = project2, method = "nearest", distance ="glm", ratio = 3, caliper = 0.2, replace = FALSE)
summary(match_obj, un = FALSE)
Here is the results I got in console:
Sample Sizes:
Control Treated
All 181. 39
Matched (ESS) 87.5 35
Matched 95. 35
Unmatched 86. 4
Discarded 0. 0
Anyone has any explanation on this? Really appreciate it!
4 of your n2 units could not find any matches and were dropped, but some of the remaining units could only find 1 or 2 matches. That's perfectly fine and there is nothing that says all units must have exactly 3 matches in order to be validly included in the matched sample. It become critical to include the matching weights in the final analysis, though, as explained in the
MatchIt
vignette on estimating effects.