代码+视频,PM3包进行3组倾向评分匹配并绘制smd图

什么是倾向性评分匹配?倾向评分匹配(Propensity Score Matching,简称PSM)是一种统计学方法,用于处理观察研究(Observational Study)的数据,在SCI文章中应用非常广泛。在观察研究中,由于种种原因,数据偏差(bias)和混杂变量(confounding variable)较多,倾向评分匹配的方法正是为了减少这些偏差和混杂变量的影响,以便对实验组和对照组进行更合理的比较。

为什么需要做倾向评分匹配?

我们知道RCT的证据力度高,是因为对患者进行了严格的筛选。我们的回顾性研究都是过去的数据,很难像RCT一样进行严格的筛选出两组患者基线相近的基础资料,但我们可以通过倾向评分匹配把回归性的数据进行筛选,把基线资料相近的患者进行匹配,得到近似RCT的效果。

代码+视频,PM3包进行3组倾向评分匹配并绘制smd图_第1张图片
目前,本人写的第二个R包pm3包的1.8版本已经正式在CRAN上线,用于3组倾向评分匹配,只能3组不能多也不能少。本人出了个视频介绍一下实际怎么操作

代码+视频,PM3包进行3组倾向评分匹配并绘制smd图

代码

library(pm3)
library(scitb)
library(ggplot2)
##导入数据
data1<-read.csv("D:/tiaoshi/data1.csv",sep=',',header=TRUE)
###查看变量
summary(as.factor(data1$treat))
#生成结果
data1$re<-as.factor(data1$re)
data1$tra<-as.factor(data1$tra)

a <- pm3(data=data1,x='treat', y='outcome',
         covs = c('year','course','re','tra','ecog','place'),factor = c('re','tra'))

#提取数据
mbc<-a[["mbc"]]
#定义变量
allVars <-c('year','course','re','tra','ecog','place')
fvars<-c('re','tra')
strata <- 'treat'
###
out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=data1,statistic=T,smd = T)
out1<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=mbc,statistic=T,smd = T)
##生成基线表
plotsmd(vars = allVars,unmatchdata = out,matchdata = out1,refline = 0.2)

你可能感兴趣的:(R语言,代码+视频系列,我写的R包,r语言)