Thin wrapper around MatchIt::matchit(method = "nearest",
ratio = max_ratio, min.controls = min_ratio) which supports
variable-ratio nearest-neighbour matching natively.
Usage
morie_matching_variable_ratio(
data,
treatment,
covariates,
min_ratio = 1L,
max_ratio = 5L,
caliper = 0.2,
ps = NULL
)Examples
# \donttest{
set.seed(1)
df <- data.frame(y = rnorm(200), d = rbinom(200, 1, 0.4),
x1 = rnorm(200), x2 = rnorm(200))
morie_matching_variable_ratio(df, "d", c("x1", "x2"),
min_ratio = 1, max_ratio = 3)
#> Warning: Not enough control units for an average of 2 matches per treated unit.
#> $matched_data
#> y d x1 x2 distance weights subclass
#> 1 -0.626453811 1 0.893673702 0.077303123 0.4634452 1.0000000 1
#> 2 0.183643324 0 -1.047298149 -0.296868642 0.4030224 0.6024096 81
#> 3 -0.835628612 1 1.971337386 -1.183242240 0.4192011 1.0000000 2
#> 4 1.595280802 1 -0.383632106 0.011292688 0.4329559 1.0000000 3
#> 5 0.329507772 1 1.654145302 0.991601036 0.5288385 1.0000000 4
#> 7 0.487429052 0 0.082965734 -1.372711271 0.3709441 0.6024096 8
#> 8 0.738324705 1 0.567220915 -0.249610933 0.4391024 1.0000000 5
#> 9 0.575781352 0 -1.024548480 1.159424527 0.4807228 1.2048193 25
#> 10 -0.305388387 1 0.323006503 -1.114222348 0.3888929 1.0000000 6
#> 11 1.511781168 1 1.043612458 -2.528500689 0.3328853 1.0000000 7
#> 12 0.389843236 0 0.099078487 -0.935902559 0.3934888 0.6024096 11
#> 13 -0.621240581 1 -0.454136909 -0.967239458 0.3806774 1.0000000 8
#> 14 -2.214699887 1 -0.655781852 0.047488592 0.4291680 1.0000000 9
#> 15 1.124930918 1 -0.035922423 -0.403736793 0.4183545 1.0000000 10
#> 16 -0.044933609 0 1.069161461 0.231496128 0.4754530 1.2048193 74
#> 17 -0.016190263 0 -0.483974930 -0.422372408 0.4081022 0.6024096 53
#> 18 0.943836211 0 -0.121010111 0.374118395 0.4578032 1.2048193 42
#> 19 0.821221195 1 -1.294140004 -0.366005775 0.3943967 1.0000000 11
#> 20 0.593901321 1 0.494312836 1.190101447 0.5147935 1.0000000 12
#> 21 0.918977372 0 1.307901520 -0.737327525 0.4288279 1.2048193 9
#> 22 0.782136301 0 1.497041009 0.290666645 0.4877596 1.2048193 66
#> 23 0.074564983 1 0.814702731 -0.884849568 0.4108271 1.0000000 13
#> 24 -1.989351696 0 -1.869788790 0.208006479 0.4123283 1.2048193 18
#> 25 0.619825748 0 0.482029504 -0.047730172 0.4480428 1.2048193 49
#> 26 -0.056128740 0 0.456135603 -1.684520646 0.3627419 0.6024096 43
#> 27 -0.155795507 0 -0.353400286 -0.144226557 0.4253791 0.6024096 21
#> 28 -1.470752384 1 0.170489471 1.180213666 0.5073501 1.0000000 14
#> 29 -0.478150055 1 -0.864035954 0.681399923 0.4584856 1.0000000 15
#> 30 0.417941560 1 0.679230774 0.143247631 0.4624242 1.0000000 16
#> 31 1.358679552 1 -0.327101015 -1.192316444 0.3718421 1.0000000 17
#> 33 0.387671612 0 -0.367450756 0.079201709 0.4368918 0.6024096 77
#> 34 -0.053805041 0 1.364434929 -0.451773753 0.4451526 1.2048193 41
#> 35 -1.377059557 0 -0.334281365 1.642028213 0.5214367 1.2048193 27
#> 36 -0.414994563 1 0.732750042 -0.769592322 0.4151509 1.0000000 18
#> 37 -0.394289954 1 0.946585640 0.303360961 0.4767041 1.0000000 19
#> 38 -0.059313397 0 0.004398704 1.281737421 0.5092720 1.2048193 12
#> 39 1.100025372 0 -0.352322306 0.602222795 0.4651080 1.2048193 31
#> 40 0.763175748 1 -0.529695509 -0.307022265 0.4131724 1.0000000 20
#> 41 -0.164523596 0 0.739589226 -0.418418103 0.4337769 0.6024096 21
#> 42 -0.253361680 0 -1.063457415 0.355135530 0.4368944 0.6024096 28
#> 43 0.696963375 0 0.246210844 0.513481115 0.4730772 1.2048193 19
#> 44 0.556663199 1 -0.289499367 0.018607400 0.4353183 1.0000000 21
#> 45 -0.688755695 0 -2.264889356 1.318448972 0.4628634 1.2048193 1
#> 46 -0.707495157 0 -1.408850456 -0.065832000 0.4075784 0.6024096 13
#> 47 0.364581962 0 0.916019329 -0.700296078 0.4225957 1.2048193 44
#> 48 0.768532925 1 -0.191278951 0.537326132 0.4650511 1.0000000 22
#> 49 -0.112346212 0 0.803283216 -2.201782322 0.3440515 0.6024096 69
#> 50 0.881107726 0 1.887474463 0.391973744 0.5015514 1.2048193 14
#> 51 0.398105880 1 1.473881181 0.496960952 0.4983755 1.0000000 23
#> 52 -0.612026393 0 0.677268492 -0.224874715 0.4427333 0.6024096 45
#> 53 0.341119691 0 0.379962687 -1.117143165 0.3898999 1.2048193 75
#> 54 -1.129363096 0 -0.192798426 -0.394994603 0.4155552 0.6024096 51
#> 55 1.433023702 0 1.577891795 1.549830342 0.5570639 1.2048193 40
#> 56 1.980399899 1 0.596234109 -0.743514480 0.4136850 1.0000000 24
#> 58 -1.044134626 1 -0.155642535 0.812245442 0.4805744 1.0000000 25
#> 59 0.569719627 1 -1.918909820 -0.501310657 0.3748688 1.0000000 26
#> 60 -0.135054604 0 -0.195258846 -0.510886566 0.4094525 1.2048193 20
#> 61 2.401617761 0 -2.592327670 -1.215364041 0.3267844 1.2048193 7
#> 63 0.689739362 0 -0.635543001 0.701239300 0.4643979 1.2048193 62
#> 64 0.028002159 0 -0.429978839 -0.587482026 0.4006442 0.6024096 53
#> 65 -0.743273209 0 -0.169318332 -0.606727941 0.4050022 0.6024096 33
#> 66 0.188792300 1 0.612218174 1.096640215 0.5122783 1.0000000 27
#> 67 -1.804958629 1 0.678340177 -0.247509677 0.4415529 1.0000000 28
#> 68 1.465554862 0 0.567951972 -0.159901713 0.4438841 1.2048193 38
#> 69 0.153253338 0 -0.572542604 -0.625778251 0.3957489 1.2048193 79
#> 70 2.172611670 1 -1.363291256 0.900434636 0.4596167 1.0000000 29
#> 71 0.475509529 0 -0.388722244 -0.994193629 0.3806254 0.6024096 8
#> 72 -0.709946431 1 0.277914132 0.849250386 0.4918165 1.0000000 30
#> 73 0.610726353 1 -0.823081122 0.805702289 0.4660129 1.0000000 31
#> 74 -0.934097632 0 -0.068840934 -0.467600936 0.4143274 0.6024096 33
#> 75 -1.253633400 0 -1.167662326 0.848420314 0.4609833 1.2048193 16
#> 76 0.291446236 0 -0.008309014 0.986769864 0.4931125 1.2048193 55
#> 77 -0.443291873 1 0.128855402 0.575620289 0.4739164 1.0000000 32
#> 78 0.001105352 0 -0.145875628 2.024842045 0.5459646 1.2048193 82
#> 79 0.074341324 0 -0.163910957 -1.962353191 0.3370856 1.2048193 56
#> 80 -0.589520946 1 1.763552003 -1.164920931 0.4158451 1.0000000 33
#> 81 -0.568668733 1 0.762586512 -1.376519214 0.3843933 1.0000000 34
#> 82 -0.135178615 0 1.111431081 0.167679934 0.4729246 1.2048193 32
#> 83 1.178086997 1 -0.923206953 1.584629079 0.5057823 1.0000000 35
#> 84 -1.523566800 1 0.164341838 1.677888953 0.5339763 1.0000000 36
#> 85 0.593946188 0 1.154825187 0.488296698 0.4910970 1.2048193 23
#> 87 1.063099837 0 -2.129360648 -0.144874874 0.3887530 1.2048193 6
#> 88 -0.304183924 0 0.344845762 0.468971760 0.4727865 1.2048193 39
#> 89 0.370018810 1 -1.904955446 0.376235477 0.4204070 1.0000000 37
#> 90 0.267098791 0 -0.811170153 -0.761040275 0.3839685 1.2048193 34
#> 91 -0.542520031 0 1.324004321 -0.293294934 0.4527463 1.2048193 58
#> 92 1.207867806 1 0.615636849 -0.134841264 0.4462237 1.0000000 38
#> 94 0.700213650 0 0.306604862 -1.036988690 0.3925211 1.2048193 73
#> 95 1.586833455 0 -0.110158762 -2.114335148 0.3308227 1.2048193 50
#> 96 0.558486426 0 -0.924312773 0.768278218 0.4618571 1.2048193 48
#> 97 -1.276592208 0 1.592913754 -0.816160621 0.4306308 0.6024096 45
#> 98 -0.573265414 0 0.045010598 -0.436106923 0.4183394 1.2048193 2
#> 99 -1.224612615 1 -0.715128401 0.904705031 0.4736232 1.0000000 39
#> 100 -0.473400636 0 0.865223100 -0.763086265 0.4182418 1.2048193 10
#> 101 -0.620366677 0 1.074440958 -0.341066980 0.4449268 1.2048193 67
#> 102 0.042115873 1 1.895654774 1.502424534 0.5612361 1.0000000 40
#> 103 -0.910921649 1 -0.602997304 0.528307712 0.4558322 1.0000000 41
#> 104 0.158028772 1 -0.390867821 0.542191355 0.4610732 1.0000000 42
#> 105 -0.654584644 0 -0.416222032 -0.136673356 0.4244656 1.2048193 83
#> 106 1.767287269 1 -0.375657423 -1.136733853 0.3736727 1.0000000 43
#> 107 0.716707476 0 -0.366630946 -1.496627154 0.3558848 1.2048193 76
#> 108 0.910174229 1 -0.295677453 -0.223385644 0.4224177 1.0000000 44
#> 110 1.682176081 0 -0.697538292 0.221703816 0.4375101 0.6024096 5
#> 111 -0.635736454 1 -0.388167506 0.164372909 0.4409757 1.0000000 45
#> 113 1.432282239 0 1.124772447 -0.385207999 0.4436399 1.2048193 47
#> 114 -0.650696353 1 -0.772110803 -1.398754027 0.3527864 1.0000000 46
#> 116 -0.392807929 0 0.523620590 -0.423686089 0.4289739 0.6024096 70
#> 117 -0.319992869 1 1.017754227 -0.298601512 0.4459912 1.0000000 47
#> 118 -0.279113303 0 -0.251164588 -1.792341727 0.3436371 0.6024096 46
#> 119 0.494188331 0 -1.429993447 -0.248008225 0.3977029 0.6024096 81
#> 120 -0.177330482 1 1.709121032 -0.247303918 0.4633714 1.0000000 48
#> 121 -0.505957462 1 1.435069572 -0.255510379 0.4571174 1.0000000 49
#> 122 1.343038825 1 -0.710371146 -1.786938100 0.3351050 1.0000000 50
#> 123 -0.214579409 0 -0.065067574 1.784662816 0.5348255 1.2048193 36
#> 124 -0.179556530 0 -1.759468735 1.763586348 0.4975663 1.2048193 72
#> 125 -0.100190741 0 0.569722972 0.689600222 0.4894480 1.2048193 71
#> 126 0.712666307 1 1.612346798 -1.100740644 0.4160673 1.0000000 51
#> 127 -0.073564404 1 -1.637280647 0.714509357 0.4438996 1.0000000 52
#> 128 -0.037634171 1 -0.779568513 -0.246470317 0.4111628 1.0000000 53
#> 129 -0.681660479 1 -0.641176934 -0.319786166 0.4102001 1.0000000 54
#> 130 -0.324270272 1 -0.681131394 1.362644293 0.4989934 1.0000000 55
#> 131 0.060160440 1 -2.033285596 -1.227882590 0.3367718 1.0000000 56
#> 132 -0.588894486 0 0.500963559 -0.511219233 0.4238873 0.6024096 3
#> 133 0.531496193 0 -1.531798140 -0.731194999 0.3710170 1.2048193 17
#> 134 -1.518394082 0 -0.024997639 0.019752007 0.4409403 0.6024096 28
#> 135 0.306557861 0 0.592984721 -1.572863915 0.3710452 0.6024096 43
#> 136 -1.536449824 0 -0.198195421 -0.703333270 0.3994043 0.6024096 13
#> 137 -0.300976127 0 0.892008392 0.715932089 0.4977467 1.2048193 35
#> 138 -0.528279904 0 -0.025715071 0.465214906 0.4647035 1.2048193 22
#> 139 -0.652094781 0 -0.647660451 -0.973902306 0.3764512 1.2048193 61
#> 140 -0.056896778 1 0.646359415 0.559217730 0.4840647 1.0000000 57
#> 142 1.176583312 1 1.772611185 -0.340484927 0.4597292 1.0000000 58
#> 143 -1.664972436 1 -0.018259711 0.713033195 0.4781676 1.0000000 59
#> 144 -0.463530401 0 0.852814994 -0.659037386 0.4234480 0.6024096 70
#> 145 -1.115920105 0 0.205162903 -0.036402623 0.4428044 1.2048193 52
#> 147 2.087166546 1 -1.366111931 0.847792797 0.4567409 1.0000000 60
#> 148 0.017395620 0 -0.424102260 -1.850388849 0.3375108 1.2048193 63
#> 149 -1.286300530 0 0.236803664 -0.323650632 0.4282533 0.6024096 5
#> 150 -1.640605534 1 -2.342723120 -0.255248113 0.3788192 1.0000000 61
#> 151 0.450187101 1 0.961696633 0.060921227 0.4640122 1.0000000 62
#> 152 -0.018559833 0 -0.604425734 -0.823491629 0.3849628 0.6024096 11
#> 153 -0.318068375 0 -0.752877279 1.829730485 0.5226076 1.2048193 4
#> 154 -0.929362147 1 -1.555611593 -1.429916216 0.3361612 1.0000000 63
#> 155 -1.487460310 1 -1.453893738 0.254137143 0.4233866 1.0000000 64
#> 157 1.000028804 0 0.509369407 0.002415809 0.4512946 1.2048193 15
#> 158 -0.621266695 0 -2.097882960 0.509665571 0.4234003 1.2048193 64
#> 159 -1.384426847 1 -1.004361979 -1.084720001 0.3637827 1.0000000 65
#> 160 1.869290622 1 0.535771722 0.704832977 0.4895436 1.0000000 66
#> 161 0.425100377 1 -0.453037085 0.330976350 0.4484724 1.0000000 67
#> 163 1.058483049 0 1.245746673 -0.843339880 0.4219468 1.2048193 37
#> 164 0.886422651 1 0.595498034 -0.970579905 0.4018548 1.0000000 68
#> 165 -0.619243048 1 0.004884450 -1.771531349 0.3496054 1.0000000 69
#> 166 2.206102465 1 0.279360782 -0.322470342 0.4292059 1.0000000 70
#> 167 -0.255027030 0 -0.705906125 -1.338800742 0.3570387 0.6024096 46
#> 168 -1.424494650 1 0.628017153 0.688156028 0.4906145 1.0000000 71
#> 169 -0.144399602 0 1.480213960 0.071280652 0.4755991 1.2048193 59
#> 171 2.307978399 0 -0.813244257 -1.157707599 0.3639207 1.2048193 65
#> 173 0.456998805 0 -0.109655699 -0.527368362 0.4103620 1.2048193 24
#> 174 -0.077152935 0 0.440889371 -1.456628011 0.3738629 1.2048193 26
#> 175 -0.334000842 1 1.350993980 0.572967370 0.4998459 1.0000000 72
#> 176 -0.034726028 0 -1.318609485 -1.433377705 0.3405259 0.6024096 69
#> 177 0.787639606 1 0.364384593 -1.055185019 0.3927630 1.0000000 73
#> 178 2.075245009 0 0.233499835 -0.733111877 0.4067318 1.2048193 54
#> 179 1.027392439 1 1.193955261 0.210907264 0.4770051 1.0000000 74
#> 180 1.207908398 1 -0.027909972 -0.998920727 0.3876750 1.0000000 75
#> 181 -1.231323422 0 -0.357298855 1.077850323 0.4905677 1.2048193 30
#> 182 0.983895570 1 -1.146814136 -1.198974383 0.3553121 1.0000000 76
#> 183 0.219924804 1 -0.517420484 0.216637035 0.4410304 1.0000000 77
#> 184 -1.467250029 0 -0.362123773 0.143087030 0.4403935 0.6024096 77
#> 185 0.521022743 0 2.350554326 -1.065750091 0.4333128 0.6024096 3
#> 187 1.464587312 0 -0.166703279 -0.656179477 0.4024908 1.2048193 68
#> 189 -0.430211754 1 -1.972934934 1.556052636 0.4818365 1.0000000 78
#> 190 -0.926109497 1 0.514671633 -1.040796434 0.3965703 1.0000000 79
#> 191 -0.177103961 0 -1.090573584 0.930572409 0.4670233 1.2048193 29
#> 192 0.402011779 0 2.284659326 -0.075445931 0.4848575 1.2048193 57
#> 193 -0.731748173 1 -0.885617573 -1.967195349 0.3232241 1.0000000 80
#> 194 0.830373168 1 0.111106430 -0.755903643 0.4030296 1.0000000 81
#> 195 -1.208082786 1 3.810276681 0.461149161 0.5462030 1.0000000 82
#> 196 -1.047984413 1 -1.108909998 0.145106631 0.4248452 1.0000000 83
#> 197 1.441157707 0 0.307566624 -2.442311321 0.3231224 1.2048193 80
#> 198 -1.015847465 0 -1.106894472 0.580318685 0.4479482 1.2048193 60
#> 199 0.411974712 0 0.347653649 0.655051998 0.4828503 1.2048193 78
#> 200 -0.381076051 0 -0.873264535 -0.304508837 0.4062067 0.6024096 51
#>
#> $n_treated
#> [1] 83
#>
#> $n_matched_control
#> [1] 100
#>
#> $match_pairs
#> treated_idx control_idx distance
#> 1 1 45 NA
#> 2 3 98 NA
#> 3 4 185 NA
#> 4 4 132 NA
#> 5 5 153 NA
#> 6 8 110 NA
#> 7 8 149 NA
#> 8 10 87 NA
#> 9 11 61 NA
#> 10 13 71 NA
#> 11 13 7 NA
#> 12 14 21 NA
#> 13 15 100 NA
#> 14 19 12 NA
#> 15 19 152 NA
#> 16 20 38 NA
#> 17 23 46 NA
#> 18 23 136 NA
#> 19 28 50 NA
#> 20 29 157 NA
#> 21 30 75 NA
#> 22 31 133 NA
#> 23 36 24 NA
#> 24 37 43 NA
#> 25 40 60 NA
#> 26 44 41 NA
#> 27 44 27 NA
#> 28 48 138 NA
#> 29 51 85 NA
#> 30 56 173 NA
#> 31 58 9 NA
#> 32 59 174 NA
#> 33 66 35 NA
#> 34 67 134 NA
#> 35 67 42 NA
#> 36 70 191 NA
#> 37 72 181 NA
#> 38 73 39 NA
#> 39 77 82 NA
#> 40 80 74 NA
#> 41 80 65 NA
#> 42 81 90 NA
#> 43 83 137 NA
#> 44 84 123 NA
#> 45 89 163 NA
#> 46 92 68 NA
#> 47 99 88 NA
#> 48 102 55 NA
#> 49 103 34 NA
#> 50 104 18 NA
#> 51 106 135 NA
#> 52 106 26 NA
#> 53 108 47 NA
#> 54 111 52 NA
#> 55 111 97 NA
#> 56 114 167 NA
#> 57 114 118 NA
#> 58 117 113 NA
#> 59 120 96 NA
#> 60 121 25 NA
#> 61 122 95 NA
#> 62 126 54 NA
#> 63 126 200 NA
#> 64 127 145 NA
#> 65 128 17 NA
#> 66 128 64 NA
#> 67 129 178 NA
#> 68 130 76 NA
#> 69 131 79 NA
#> 70 140 192 NA
#> 71 142 91 NA
#> 72 143 169 NA
#> 73 147 198 NA
#> 74 150 139 NA
#> 75 151 63 NA
#> 76 154 148 NA
#> 77 155 158 NA
#> 78 159 171 NA
#> 79 160 22 NA
#> 80 161 101 NA
#> 81 164 187 NA
#> 82 165 49 NA
#> 83 165 176 NA
#> 84 166 116 NA
#> 85 166 144 NA
#> 86 168 125 NA
#> 87 175 124 NA
#> 88 177 94 NA
#> 89 179 16 NA
#> 90 180 53 NA
#> 91 182 107 NA
#> 92 183 184 NA
#> 93 183 33 NA
#> 94 189 199 NA
#> 95 190 69 NA
#> 96 193 197 NA
#> 97 194 2 NA
#> 98 194 119 NA
#> 99 195 78 NA
#> 100 196 105 NA
#>
#> $method
#> [1] "variable_ratio (MatchIt)"
#>
#> $details
#> $details$matchit
#> A `matchit` object
#> - method: Variable ratio 2:1 nearest neighbor matching without replacement
#> - distance: Propensity score [caliper]
#>
#> - estimated with logistic regression
#> - caliper: <distance> (0.012)
#> - number of obs.: 200 (original), 183 (matched)
#> - target estimand: ATT
#> - covariates: x1, x2
#>
#> $details$min_ratio
#> [1] 1
#>
#> $details$max_ratio
#> [1] 3
#>
#> $details$caliper
#> [1] 0.2
#>
#>
#> attr(,"class")
#> [1] "morie_match_result" "list"
# }
