## 准备工作
library(MatchIt)
setwd('D:\\PSM')
PSM
# 载入MatchIt包,设置工作路径为D盘下的PSM文件夹,读取数据表PSM.csv。
## 计算倾向评分并匹配
PSM.m
data = PSM, method = 'nearest', distance = 'logit', caliper = 0.2 ')
# 不要被一长串吓到。调用matchit函数,“~”前面的LABA是分组,应当是一个二分变量,一般用0表示对照组,1表示治疗组;“~”后面是各个需要分析匹配的协变量,用“+”号把它们连起来。
# data指定那些变量所属的数据表,method选用评分匹配的方法,一般就用默认的nearest。distance则是选择计算距离或倾向值的方法,默认用logistic回归法(logit)。caliper是卡钳值,一般设为0.2,也可自行调整。
summary(PSM.m)
# 刚才的处理结果我们存到一个叫PSM.m的对象里去了,现在就用summary函数调出它的基本情况来看看。运行后会得到一组挺复杂的表,但主要看最后一段:
可见,我们原来对照组有292个样本,干预组有299个样本,经过计算后,各组匹配了189个样本,于是原来591个样本的大集,只留下了378个高质量样本。这时再看P值,就没有P<0.05的干扰了。
匹配前和匹配后,部分预览
## 提取样本
PSM.data
# 用match.data函数,从刚才的结果中提取出由那378个高质量样本组成的新表。
接下来就可以拿去跟死亡随访数据一起做K-M分析等等爱干嘛干嘛去啦~