R的倾向得分

时间:2019-02-26 09:48:27

标签: r matching

我正在使用倾向得分,对此有疑问。

我通过以下方式使用来自library(MatchIt)的matchit(): m.out = matchit(a〜b,数据=倾向数据,方法=“最近”)

b是一个可预测性,因此它在0到1之间。代码为:

a<-round(runif(100))
b<-runif(100)
data_table<-data.frame(a,b)

m.out= matchit(a ~ b, data = data_table, method = "nearest")
matchlist <- match.data(m.out)

为什么“匹配列表”中的b和“距离”之间有区别?匹配适用于“距离”还是b?如何直接在b上将控制数据与已处理单位匹配?最后一个问题是主要问题。

最诚挚的问候

2 个答案:

答案 0 :(得分:0)

匹配在逻辑回归框架中与b配合使用,因此倾向得分b与距离之间的差异仅归因于该模型的链接函数。

从中您可以看到,它们几乎完全相关。因此,无论您匹配哪个结果都相同。

> cor(matchlist$b, matchlist$distance)
[1] -0.9999959

因此,在回答您的问题时,您已经直接在b(和距离)上进行了匹配。

答案 1 :(得分:0)

正如在另一个答案中提到的@Adam一样,默认情况下,matchit()与根据模型中指定的协变量对处理的逻辑回归估计的倾向分数进行匹配。要在b上执行匹配,只需在对distance = data_table$b的调用中设置matchit()