Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中使用cardmatch进行匹配后的结果分析_R_Cardinality_Propensity Score Matching - Fatal编程技术网

在R中使用cardmatch进行匹配后的结果分析

在R中使用cardmatch进行匹配后的结果分析,r,cardinality,propensity-score-matching,R,Cardinality,Propensity Score Matching,使用以下软件包执行匹配后: 如何获得回归风格的输出格式,而不是简单地计算均值差异 在上面链接的cardmatch代码的最后一步之后: # The mean difference in outcomes is the same... mean(re78[t_id_1]-re78[c_id_1]) mean(re78[t_id_2]-re78[c_id_2]) # ... but their standard deviation is reduced sd(re78[t_id_1]-re78[c

使用以下软件包执行匹配后:

如何获得回归风格的输出格式,而不是简单地计算均值差异

在上面链接的cardmatch代码的最后一步之后:

# The mean difference in outcomes is the same...
mean(re78[t_id_1]-re78[c_id_1])
mean(re78[t_id_2]-re78[c_id_2])

# ... but their standard deviation is reduced
sd(re78[t_id_1]-re78[c_id_1])
sd(re78[t_id_2]-re78[c_id_2])
我对这样的事情感兴趣,而不是简单地获得手段上的差异

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.3483     0.1007  18.681  < 2e-16 ***
treated      -7.4793     0.8387  -6.459 4.87e-10 ***
系数:
估计标准误差t值Pr(>t)
(截距)2.3483 0.1007 18.681<2e-16***
处理-7.4793 0.8387-6.459 4.87e-10***

如何从cardmatch软件包步骤形成数据框架,然后使用glm或svyglm执行结果分析

如果不想保留配对成员资格,只需使用
cardmatch
输出中返回的
t\u id
c\u id
组件对数据集进行子集化即可。例如,如果输出对象名为
cm
,而您的数据集名为
data
,则运行以下操作将创建一个仅包含匹配单位的数据集:

data_matched <- data[c(cm$t_id, cm$c_id),]
对于新的
变量,任何不匹配的单位都将具有
NA
(或者您可以设置
all.x=FALSE
以仅保留匹配的单位)。您可以使用
lme4
包中的
glmer()
在混合效应模型中使用
pair
变量作为随机效应(相当于配对t检验),或使用
glm()
在标准回归模型中使用集群稳健标准误差来解释分析中的配对。您可以添加协变量以提高精度并减少剩余偏差

pair_df <- data.frame(pair = factor(c(seq_along(cm$t_id), 
                                      seq_along(cm$c_id))), 
                      row.names = c(cm$t_id, cm$c_id))
data_matched <- merge(data, pair_df, by = 0, all.x = TRUE, sort = FALSE)[-1]