Skip to contents

Native rmorie implementation: units are stratified on the exact combination of exact_vars; strata containing both arms are retained and controls receive CEM-style stratum weights (weights and subclass columns on the matched data). No MatchIt at runtime.

Usage

morie_matching_exact(data, treatment, exact_vars)

Arguments

data

Data frame.

treatment

Binary treatment column name.

exact_vars

Character vector of discrete variables for exact matching.

Value

A list of class morie_match_result.

Examples

# \donttest{
set.seed(1)
df <- data.frame(d = rbinom(200, 1, 0.4),
                 region = sample(c("N", "S", "E", "W"), 200, TRUE),
                 year = sample(2019:2021, 200, TRUE))
morie_matching_exact(df, "d", c("region", "year"))
#> $matched_data
#>     d region year    weights subclass
#> 1   0      W 2019 1.40963855       10
#> 2   0      S 2019 0.86746988        7
#> 3   0      N 2021 0.06712565        6
#> 4   1      S 2020 1.00000000        8
#> 5   0      S 2021 1.64457831        9
#> 6   1      S 2019 1.00000000        7
#> 7   1      E 2021 1.00000000        3
#> 8   1      N 2019 1.00000000        4
#> 9   1      S 2021 1.00000000        9
#> 10  0      E 2021 0.80550775        3
#> 11  0      E 2020 1.64457831        2
#> 12  0      E 2019 0.98674699        1
#> 13  1      E 2020 1.00000000        2
#> 14  0      S 2019 0.86746988        7
#> 15  1      E 2019 1.00000000        1
#> 16  0      N 2021 0.06712565        6
#> 17  1      E 2020 1.00000000        2
#> 18  1      W 2020 1.00000000       11
#> 19  0      W 2021 0.70481928       12
#> 20  1      N 2019 1.00000000        4
#> 21  1      S 2019 1.00000000        7
#> 22  0      W 2021 0.70481928       12
#> 23  1      S 2020 1.00000000        8
#> 24  0      W 2019 1.40963855       10
#> 25  0      S 2021 1.64457831        9
#> 26  0      E 2021 0.80550775        3
#> 27  0      W 2019 1.40963855       10
#> 28  0      N 2021 0.06712565        6
#> 29  1      N 2020 1.00000000        5
#> 30  0      W 2019 1.40963855       10
#> 31  0      N 2020 1.26867470        5
#> 32  0      E 2020 1.64457831        2
#> 33  0      E 2020 1.64457831        2
#> 34  0      N 2019 2.01376936        4
#> 35  1      N 2020 1.00000000        5
#> 36  1      W 2019 1.00000000       10
#> 37  1      S 2019 1.00000000        7
#> 38  0      S 2019 0.86746988        7
#> 39  1      W 2020 1.00000000       11
#> 40  0      S 2020 1.87951807        8
#> 41  1      W 2019 1.00000000       10
#> 42  1      W 2021 1.00000000       12
#> 43  1      E 2020 1.00000000        2
#> 44  0      S 2021 1.64457831        9
#> 45  0      N 2021 0.06712565        6
#> 46  1      W 2021 1.00000000       12
#> 47  0      E 2019 0.98674699        1
#> 48  0      W 2021 0.70481928       12
#> 49  1      N 2019 1.00000000        4
#> 50  1      S 2019 1.00000000        7
#> 51  0      N 2019 2.01376936        4
#> 52  1      W 2020 1.00000000       11
#> 53  0      E 2019 0.98674699        1
#> 54  0      N 2020 1.26867470        5
#> 55  0      N 2021 0.06712565        6
#> 56  0      E 2019 0.98674699        1
#> 57  0      W 2021 0.70481928       12
#> 58  0      E 2019 0.98674699        1
#> 59  1      N 2019 1.00000000        4
#> 60  0      W 2021 0.70481928       12
#> 61  1      W 2019 1.00000000       10
#> 62  0      N 2021 0.06712565        6
#> 63  0      N 2021 0.06712565        6
#> 64  0      N 2021 0.06712565        6
#> 65  1      N 2020 1.00000000        5
#> 66  0      W 2019 1.40963855       10
#> 67  0      N 2019 2.01376936        4
#> 68  1      N 2020 1.00000000        5
#> 69  0      W 2021 0.70481928       12
#> 70  1      S 2021 1.00000000        9
#> 71  0      S 2020 1.87951807        8
#> 72  1      S 2021 1.00000000        9
#> 73  0      N 2019 2.01376936        4
#> 74  0      W 2021 0.70481928       12
#> 75  0      N 2021 0.06712565        6
#> 76  1      N 2021 1.00000000        6
#> 77  1      S 2021 1.00000000        9
#> 78  0      S 2019 0.86746988        7
#> 79  1      S 2019 1.00000000        7
#> 80  1      W 2021 1.00000000       12
#> 81  0      S 2021 1.64457831        9
#> 82  1      S 2019 1.00000000        7
#> 83  0      N 2019 2.01376936        4
#> 84  0      S 2019 0.86746988        7
#> 85  1      W 2019 1.00000000       10
#> 86  0      S 2019 0.86746988        7
#> 87  1      S 2021 1.00000000        9
#> 88  0      W 2021 0.70481928       12
#> 89  0      S 2019 0.86746988        7
#> 90  0      W 2020 0.93975904       11
#> 91  0      N 2021 0.06712565        6
#> 92  0      N 2021 0.06712565        6
#> 93  1      W 2021 1.00000000       12
#> 94  1      W 2020 1.00000000       11
#> 95  1      E 2020 1.00000000        2
#> 96  1      W 2019 1.00000000       10
#> 97  0      W 2020 0.93975904       11
#> 98  0      N 2021 0.06712565        6
#> 99  1      S 2020 1.00000000        8
#> 100 1      W 2020 1.00000000       11
#> 101 1      N 2020 1.00000000        5
#> 102 0      N 2019 2.01376936        4
#> 103 0      E 2019 0.98674699        1
#> 104 1      N 2019 1.00000000        4
#> 105 1      E 2019 1.00000000        1
#> 106 0      N 2020 1.26867470        5
#> 107 0      S 2019 0.86746988        7
#> 108 0      S 2019 0.86746988        7
#> 109 1      S 2020 1.00000000        8
#> 110 0      W 2020 0.93975904       11
#> 111 1      E 2019 1.00000000        1
#> 112 1      N 2019 1.00000000        4
#> 113 0      E 2019 0.98674699        1
#> 114 0      N 2021 0.06712565        6
#> 115 0      N 2020 1.26867470        5
#> 116 0      N 2020 1.26867470        5
#> 117 1      E 2019 1.00000000        1
#> 118 0      N 2020 1.26867470        5
#> 119 0      E 2021 0.80550775        3
#> 120 1      S 2021 1.00000000        9
#> 121 1      N 2019 1.00000000        4
#> 122 0      W 2020 0.93975904       11
#> 123 0      W 2019 1.40963855       10
#> 124 0      E 2019 0.98674699        1
#> 125 1      E 2020 1.00000000        2
#> 126 0      W 2019 1.40963855       10
#> 127 0      W 2019 1.40963855       10
#> 128 0      S 2019 0.86746988        7
#> 129 0      W 2019 1.40963855       10
#> 130 0      N 2020 1.26867470        5
#> 131 0      E 2020 1.64457831        2
#> 132 0      S 2021 1.64457831        9
#> 133 0      W 2020 0.93975904       11
#> 134 1      W 2019 1.00000000       10
#> 135 1      N 2019 1.00000000        4
#> 136 0      W 2020 0.93975904       11
#> 137 0      S 2020 1.87951807        8
#> 138 0      E 2019 0.98674699        1
#> 139 1      W 2019 1.00000000       10
#> 140 0      N 2021 0.06712565        6
#> 141 1      W 2021 1.00000000       12
#> 142 1      W 2019 1.00000000       10
#> 143 0      S 2021 1.64457831        9
#> 144 0      S 2020 1.87951807        8
#> 145 1      S 2020 1.00000000        8
#> 146 0      N 2021 0.06712565        6
#> 147 0      N 2021 0.06712565        6
#> 148 1      W 2019 1.00000000       10
#> 149 0      W 2021 0.70481928       12
#> 150 1      N 2019 1.00000000        4
#> 151 1      N 2020 1.00000000        5
#> 152 0      S 2019 0.86746988        7
#> 153 0      N 2019 2.01376936        4
#> 154 0      W 2021 0.70481928       12
#> 155 0      N 2020 1.26867470        5
#> 156 0      W 2020 0.93975904       11
#> 157 0      E 2020 1.64457831        2
#> 158 0      S 2019 0.86746988        7
#> 159 0      E 2021 0.80550775        3
#> 160 0      N 2021 0.06712565        6
#> 161 0      E 2021 0.80550775        3
#> 162 1      S 2020 1.00000000        8
#> 163 0      N 2020 1.26867470        5
#> 164 1      W 2020 1.00000000       11
#> 165 1      W 2019 1.00000000       10
#> 166 0      N 2021 0.06712565        6
#> 167 0      W 2021 0.70481928       12
#> 168 0      S 2019 0.86746988        7
#> 169 1      E 2021 1.00000000        3
#> 170 0      E 2021 0.80550775        3
#> 171 1      E 2019 1.00000000        1
#> 172 1      E 2020 1.00000000        2
#> 173 1      S 2019 1.00000000        7
#> 174 0      W 2020 0.93975904       11
#> 175 0      N 2021 0.06712565        6
#> 176 1      W 2021 1.00000000       12
#> 177 1      S 2020 1.00000000        8
#> 178 1      N 2020 1.00000000        5
#> 179 1      N 2020 1.00000000        5
#> 180 1      E 2019 1.00000000        1
#> 181 0      S 2020 1.87951807        8
#> 182 0      W 2019 1.40963855       10
#> 183 1      E 2019 1.00000000        1
#> 184 0      E 2020 1.64457831        2
#> 185 1      E 2020 1.00000000        2
#> 186 0      S 2020 1.87951807        8
#> 187 1      S 2021 1.00000000        9
#> 188 1      N 2019 1.00000000        4
#> 189 1      E 2021 1.00000000        3
#> 190 0      W 2020 0.93975904       11
#> 191 1      E 2021 1.00000000        3
#> 192 0      N 2021 0.06712565        6
#> 193 0      W 2021 0.70481928       12
#> 194 1      S 2020 1.00000000        8
#> 195 0      N 2020 1.26867470        5
#> 196 0      E 2019 0.98674699        1
#> 197 0      E 2021 0.80550775        3
#> 198 1      N 2020 1.00000000        5
#> 199 0      N 2021 0.06712565        6
#> 200 1      S 2019 1.00000000        7
#> 
#> $n_treated
#> [1] 83
#> 
#> $n_matched_control
#> [1] 117
#> 
#> $match_pairs
#> [1] treated_idx control_idx distance   
#> <0 rows> (or 0-length row.names)
#> 
#> $method
#> [1] "exact (rmorie native)"
#> 
#> $details
#> $details$engine
#> [1] "native-exact"
#> 
#> $details$exact_vars
#> [1] "region" "year"  
#> 
#> $details$n_strata
#> [1] 12
#> 
#> $details$l1_before
#> [1] 0.2298424
#> 
#> 
#> attr(,"class")
#> [1] "morie_match_result" "list"              
# }