一文通过倾向得分匹配法解决变量选择

大家好,我是阿琛。在平常的研究中,我们常常会遇到这样的问题,经过某种特殊的处理后,比如服药等等,是否对患者的疾病进展或某一结局产生效果。此时,我们就需要设立对照组来进行比较,其目地是控制非处理因素的干扰,进一步突显处理因素的的效应。尽管我们可以通过回归分析观察处理信息的作用,但是由于一些潜在的混杂因素干扰,往往会使结果产生一定的差异。PSM,Propensity Score Matching,即我们常常听到的倾向得分匹配法。
下面,我们一起来看一下如何构建竞争风险模型以及通过Nomogram图进行可视化展示。
1.R包安装与数据准备

1.1 R包的安装

#install.packages("MatchIt")library(MatchIt)library(foreign)
我们主要使用MatchIt包来进行倾向性评分匹配。

1.2 数据准备

data(lalonde)lalonde[1:3,]

在此,我们使用MatchIt包的内置数据集lalonde来进行演示。数据集lalonde是“国家支持的工作演示”(NSW)中治疗组数据的子样本,也是“收入动态人口调查”(PSID)中的比较样本。Lalonde(1986)以及Dehejia和Wahba(1999)之前对此数据进行了广泛的分析。
###查看变量信息str(lalonde)

查看一下lalonde数据集,可以看到其中包含了614个观测对象,9个不同的变量,包括处理信息(treat),年龄(age),受教育程度(educ),种族(race)等等,以及结局变量(ref78)。
table(lalonde$treat)

通过table()函数,可以看到其中对照组共429例患者,处理组有185例患者。
2.计算倾向评分
接下来,我们需要计算两组患者进行匹配,匹配的协变量包括年龄,受教育程度,种族等等。
f=matchit(treat ~ age + educ + race + married + nodegree + re74 + re75, data=lalonde,method="nearest")

在matchit()函数中,通过formula参数设置好变量信息,其中treat为处理信息,age,educ等为进行匹配的协变量。设置好公式后,其中method参数除了默认的nearest(最邻近匹配法)外,还可以选择optimal,full,genetic,exact等算法。
summary(f)plot(f, type = "jitter", interactive = FALSE)

随后,我们将匹配结果进行可视化展示。除了匹配到的185个处理组和未处理组外,其他未被匹配的患者则被展示在Unmatched Control Units里面。
matchdata=match.data(f)matchdata
3.输出结果
matchdata$id<-1:nrow(matchdata)write.table(matchdata, file = "matchdata.txt",sep = "\t",row.names = T,col.names = NA,quote = F)

可以看到,经过匹配以后,数据集中一共包含了370个患者的信息。最后,我们将匹配得到的数据集进行输出保存进行后续的分析。
4.SPSS软件进行PSM分析
接下来,我们来看一下如何使用SPSS软件来进行PSM分析。这里通过SPSS version 26来进行演示。注意,SPSS安装需要同意安装Python Essentials插件,否则会无法进行计算。

4.1 读取数据集

首先,将数据集读取进SPSS软件中;注意一点,数据集中所有信息必须是英文或者数字,不能存在中文。

4.2 点击“数据”,选择“倾向得分匹配”

接着,将处理信息输入“组指示符”中,并在选项中输入随机种子,保证结果的可重复性;选择抽样不放回,以及勾选“抽取匹配项时随机排列个案顺序”;
同时,在将协变量输入到预测变量中,注意不要把结局变量输入进去;将病人id输入到个案ID中;点击“确定”,进行计算。

4.3 输出结果

可以看到,经过计算以后,原始数据集后面多了三列信息,其中ps为每个患者的倾向得分,elicase为是否匹配到患者,psid为匹配到的对象id。
随后,点击“数据”-“选择个案”;
其中,设定将满足elicase=1条件的患者进行挑选,并输出一个新的数据集,命名为matchdata。
这样,整个匹配筛选过程就基本完成了,接着就可以进行后续的回归分析,观察处理信息对结局变量是否产生影响。当然,PSM分析有时候会产生一定的选择偏倚。
回复“阿琛41”即可获得本次的数据和相关代码~~~
系列传送门
R语言小白入门课|一刻钟带你学会R数据转化
END

撰文丨阿  琛
排版丨四金兄
值班 | 弘   毅

主编丨小雪球
你的国自然还差最后临门一脚!


Get了国自然选题的秘诀!

Get了如何写好一份国自然标书!

详细了解了最新指南的方向与重点!

国自然申请
是你面临的最后问题!


本期直播酸菜老谈直播讲解:

---
国自然申请常见的十大天坑
---

国自然申请时哪些问题必须要注意?

1月28号
解螺旋直播间来听听详解!


点击下方
视频号-预约直播
酸菜老谈助你冲刺国自然


👇👇👇


周四酸谈直播基本信息
主题
:《国自然申请常见的十大天坑》

日期
:1月28日 18:00—20:00

(👆点击“预约”就完事了!!!)
继续阅读
阅读原文