如何使用 MatchIt 为 R 中的倾向得分匹配准备变量?

How to prepare the variables for propensity score matching in R using MatchIt?

我有一个包含大约 200 列和 100 万行的大型数据集。我有一个治疗组,我正在尝试使用基于大约 15 个不同变量的倾向匹配得分来创建一个对照组。

我有两个问题在网上找到了相互矛盾的答案,如果你能帮助我,我将不胜感激。

1) 如何组织数据以最好地 运行 匹配过程?我的数据混合了数字、字符和因子(有些是有序的,有些不是)变量,我在网上看到有人说 MatchIt 程序 运行 是字符变量的分析,而其他人则说它不适用于 'nearest' 函数,但适用于其他函数。因此,我应该努力将所有内容转换为数字或因子(我不确定是否可行),或者我可以 运行 MatchIt 与我的变量原样吗?

2) 是否已更新函数 MatchIt 以读取未用于匹配函数的变量中的 NA?我看到一些旧帖子说 MatchIt 需要一个完整的数据集,即使对于没有用于匹配的变量也是如此,但这些帖子也说它可能会被修复。现在还是这样吗?

谢谢

1) 除了数据类型之外,您应该问自己的问题是将分类数据赋予倾向评分设置有什么意义。倾向得分基于观察值之间的距离,计算分类属性之间的距离显然很困难。因此,尽管从技术上讲,MatchIt 确实支持其他类型,但数字特征是唯一真正有意义的数据输入。您可以选择从数据中丢弃分类数据或将其转换为数字(通过创建虚拟变量并对序数特征进行数字编码)。或者,您可以保留分类特征并使用 matchit 函数的 exact 参数对这些特征施加精确匹配(请注意,在这种情况下,您实际上不再使用倾向得分匹配了。) .

2)这个问题在目前的3.0.2版本中还没有解决,明显很烦人..