宿迁定制网站建设,网站建设junke100,wordpress微信登录插件下载,潜江做网站哪家好目前#xff0c;本人写的第二个R包pm3包已经正式在CRAN上线#xff0c;用于3组倾向评分匹配#xff0c;只能3组不能多也不能少。 可以使用以下代码安装
install.packages(pm3)什么是倾向性评分匹配#xff1f;倾向评分匹配#xff08;Propensity Score Match…目前本人写的第二个R包pm3包已经正式在CRAN上线用于3组倾向评分匹配只能3组不能多也不能少。 可以使用以下代码安装
install.packages(pm3)什么是倾向性评分匹配倾向评分匹配Propensity Score Matching简称PSM是一种统计学方法用于处理观察研究Observational Study的数据在SCI文章中应用非常广泛。在观察研究中由于种种原因数据偏差bias和混杂变量confounding variable较多倾向评分匹配的方法正是为了减少这些偏差和混杂变量的影响以便对实验组和对照组进行更合理的比较。 为什么需要做倾向评分匹配 我们知道RCT的证据力度高是因为对患者进行了严格的筛选。我们的回顾性研究都是过去的数据很难像RCT一样进行严格的筛选出两组患者基线相近的基础资料但我们可以通过倾向评分匹配把回归性的数据进行筛选把基线资料相近的患者进行匹配得到近似RCT的效果。 应用场景 1.基线资料不平 2.开展病例对照研究病阳性例数较少如罕见病研究 3.将众多混杂因素变为一个变量倾向值 以下为一个实例没进行匹配前两组患者基线资料相差很大进行倾向评分匹配后基线资料近似一致了 目前进行3组倾向评分的R包据我所知几乎没有我这个应该也算是开创了把算法来源于下面两篇参考文献我既往也写了关于文章《R语言3组患者倾向性评分匹配PSM》想了解做法的可以看看但是蛮多人看了文章也做不出来于是我有了写包的想法这也是在文章末尾答应大家的也算说到做到了把 感谢付费的朋友们这也算支持我继续前进的动力吧。感谢原创作者无私提供方法我只是把方法用代码呈现出来理论的探讨不要来问我。这里我还要提一句我对作者的方法进行了一定改进、优化原作者的方法协变量的分类变量只能是2分类的我这里多分类的都可以了。 下面来进行pm3包的用法演示我们先导入R包和数据pm3包有我内置的早产数据我们直接导入就可以了
library(pm3)
bc-prematurity这是一个关于早产低体重儿的数据公众号回复早产数据也可以获得该数据低于2500g被认为是低体重儿。数据解释如下low 是否是小于2500g早产低体重儿age 母亲的年龄lwt 末次月经体重race 种族smoke 孕期抽烟ptl 早产史计数ht 有高血压病史ui 子宫过敏ftv 早孕时看医生的次数bwt 新生儿体重数值。
假设我们研究的是有不同种族race对生出低体重儿low的影响。需要对3个种族进行基线资料倾向评分匹配
现在我们不需要像既往一样进行一大堆复杂操作直接一句话代码就搞定了
g-pm3(databc,xrace,ylow,covsc(age,lwt,ptl),factorc(ui,low))这句代码我来解释一下因为我们是靠逻辑回归模型生成评分的所以要定义一个回归模型的变量:data就是你的数据x就是你要比较的变量我们这里是racey是你要比较的结局变量covs是协变量的意思填入你模型模型中的协变量包括连续的和分类的这里是age,“lwt”,“ptl”最后factor是定义你数据中的分类变量这里有个小问题factor你要是没有可以不填填的话最少要填两个不然会报错这个问题在后期版本修正。我这里本来只有ui这个分类变量怕报错我加了low或者加race也可以都不影响的. 执行代码后就生成了g g是一个列表数据文件我们可以看到生成了3个我们匹配好的数据文件每个文件26个数据和文章《R语言3组患者倾向性评分匹配PSM》做出来的一模一样。mbc是这是3个匹配好的文件合并后的数据 我们把mbc提取出来
mbc-g[[mbc]]下面我们进行匹配前和匹配后的比较。导入tableone包
library(tableone)定义全部变量和分类变量
allVars -c(age, lwt, ptl,ht)
fvars-c(ht)进行比较
tab2 - CreateTableOne(vars allVars, strata race ,
data bc, factorVarsfvars,addOverall TRUE )
print(tab2,smd TRUE)
tab1 - CreateTableOne(vars allVars, strata race ,
data mbc, factorVarsfvars,addOverall TRUE )
print(tab1,smd TRUE)我们可以看到P值变大了smd变小了匹配效果很好最后想说一句倾向性匹配也不是万能的不可能把所有的变量配平。 参考文献
邓强庭, 王宏, 张雷达,等. 无序多分组数据的倾向性评分匹配算法设计及R程序实现[J]. 现代预防医学, 2021, 48(15):5.[1]邬顺全, 吴骋, 贺佳. 倾向性评分匹配法在多分类数据中的比较和应用[J]. 中国卫生信息管理杂志, 2013(5):448-451.