pm3包1.8版本发布----一个用于3组倾向性评分的R包

news/2025/3/21 20:29:50/

目前,本人写的第二个R包pm3包的1.8版本已经正式在CRAN上线,用于3组倾向评分匹配,只能3组不能多也不能少。
可以使用以下代码安装

install.packages("pm3")

在这里插入图片描述
什么是倾向性评分匹配?倾向评分匹配(Propensity Score Matching,简称PSM)是一种统计学方法,用于处理观察研究(Observational Study)的数据,在SCI文章中应用非常广泛。在观察研究中,由于种种原因,数据偏差(bias)和混杂变量(confounding variable)较多,倾向评分匹配的方法正是为了减少这些偏差和混杂变量的影响,以便对实验组和对照组进行更合理的比较。
为什么需要做倾向评分匹配?
我们知道RCT的证据力度高,是因为对患者进行了严格的筛选。我们的回顾性研究都是过去的数据,很难像RCT一样进行严格的筛选出两组患者基线相近的基础资料,但我们可以通过倾向评分匹配把回归性的数据进行筛选,把基线资料相近的患者进行匹配,得到近似RCT的效果。
应用场景
 1.基线资料不平
 2.开展病例对照研究病阳性例数较少,如罕见病研究
 3.将众多混杂因素变为一个变量:倾向值
以下为一个实例,没进行匹配前两组患者基线资料相差很大,进行倾向评分匹配后,基线资料近似一致了
在这里插入图片描述
1.8版本修正了前面版本的一些错误,主要修正了两个问题:1是1.4版本的X变量如果是数字的话必须是1,2,3 ,1.8版本对变量进行了重编码,只要X是3分类就行,字符变量或者数字都可以,不在对数字有要求。2.是修正了对缺失数据的处理形式,进一步提高了上手性。下面我一一道来。
上一个版本中,X变量如果是数字来表示的话必须是1,2,3,使用0,1,2或者其他的数列都会报错。下面我们来试一下1.8版本,我先导入我们的早产数据,

bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc$race<-ifelse(bc$race=="black",0,ifelse(bc$race=="white",1,2))

在这里插入图片描述
我们可以看到race这个变量现在是0,1,2,以往1.4版本是做不了的,必须改成1,2,3,现在新版本就没有这个问题了

g<-pm3(data=bc,x="race",y="low",covs=c("age","lwt","ptl"))

在这里插入图片描述
一句代码结果就出来了,较原来方便了许多。再来就是改变了缺失值的处理方式,因为粉丝收集的数据大都有缺失值,有些变量的缺失值还是挺多的, 1.4版本对缺失值的处理可以说是简单粗暴,直接删除,但是数据中如果不需要使用的变量缺失值很多,会导致了大量数据被删除,导致我们的分层变量数会减少,导致X变量的数变少,1.8版本引入了一个变量psid,先进行匹配,后期在进行数据匹配,这样使数据利用效率大大提高,下面一个例子说明,1.4版本:

library(pm3)
bc<-read.csv("E:/r/fensi/data8.csv",sep=',',header=TRUE)
g<-pm3(data=bc,x="group",y="solidfoodintroductionlessthan6m",covs=c("femaleage","gestationalweeks","childgender"),factor=c("childgender"))

在这里插入图片描述
主要是这些用不到的变量缺失太多了

在这里插入图片描述
1.8版本避开了这个问题,还是同样的数据,同样的代码

bc<-read.csv("E:/r/fensi/data8.csv",sep=',',header=TRUE)
g<-pm3(data=bc,x="group",y="solidfoodintroductionlessthan6m",covs=c("femaleage","gestationalweeks","childgender"),factor=c("childgender"))

在这里插入图片描述
再来说说factor这个参数,这个参数就是把数据中的变量变成因子,在上面的例子中,factor=c(“childgender”),其实就是相当于

bc$childgender<-as.factor(bc$childgender)

如果你在前面(计算前)就已经把分类变量转成因子了,factor不填就行了。

OK,新版本改动其实在构架来说还是蛮大的,但是做起来应该更简单了,如果有什么问题或建议,欢迎你来告诉我。


http://www.ppmy.cn/news/341382.html

相关文章

9-2

301 名前&#xff1a; ◆GzRLPVAnpk[] 投稿日&#xff1a;2011/03/04(金) 20:02:01 ID:dChc7Rws , ― -- ‐‐ 、 F┐ ┌ 、 _&#xff3f;__|  l::l l::l   〈 &#xff0f;  , - &#xffe3;&#xffe3; &#xff40; &#xffe3;&#xff40;、ヽ&#xff3f;_ …

蓝光DVD专利费标准确定

昨日&#xff0c;《第一财经日报》从索尼公司获悉&#xff0c;松下、飞利浦和索尼三家公司目前正与其他专利权人商讨为蓝光播放机与光盘产品建立一站式许可。该许可涵盖了蓝光、DVD和CD的基础专利&#xff0c;将于年中推出。值得关注的是&#xff0c;所有专利人中&#xff0c;没…

《当时只道是寻常》——安意如——品纳兰容若《饮水词》

目录 如梦令 2 如梦令 4 浣溪沙 5 浣溪沙 6 浣溪纱 7 虞美人 9 虞美人&#xff08;秋夕信步&#xff09; 10 虞美人 11 虞美人 12 虞美人 14 虞美人 15 蝶恋花 16 蝶恋花 18 蝶恋花 19 蝶恋花散花楼送客 21 采桑子塞上咏雪花 …

公考二十四节气考点汇总

春雨惊春清谷天&#xff0c;夏满芒夏暑相连&#xff0c;秋处露秋寒霜降&#xff0c;冬雪雪冬小大寒。每月两节不变更&#xff0c;最多相差一两天。上半年来六、廿一&#xff0c;下半年来八、廿三。 1.产生原因 由于地球的公转&#xff0c;产生了四季的变化&#xff0c;一年有…

AI Codec,视频模板技术,高效视频处理,RTC+AI,感知编码,CV-CUDA,窄带高清AI...

AI Codec&#xff0c;NPU硬件加速 Topic 《基于AI和NPU的Codec变革》 孔德辉 中兴微电子 多媒体技术总监 伴随通信容量&#xff08;包括5G以及千兆有线网络&#xff09;的发展&#xff0c;高带宽为更多用户接入超高清视频提供了可能。但是随着用户数量的增加&#xff0c;高质量…

【点灯科技+esp8266+小爱同学】实现语音控制的米思齐代码和arduino代码

以下转换后的arduino代码。 #define BLINKER_WIFI #include <Blinker.h> char auth[] = "点灯分配的密钥"; char ssid[] = "你的wifi"; char pswd[] = "wifi密码"; void miotPowerStatedata(const String & data){ if (data == BL…

音视频卡顿问题的原因及解决方案

音视频在现在的社会中无处不在,视频直播已经成为大家生活或娱乐的必需品了,那么音视频卡顿给我们的体验会造成影响,那么造成音视频卡顿的原因都有哪些昵? 一、设备原因 此处设备主要是指用户端的软硬件配置。在直播的传输过程中,会对视频进行编解码,高清视频往往会给硬件…

音频信号转为开关控制信号_如何使用模拟开关动态切换音频和视频信号

在切换音频和视频信号时,难点在于如何避免引入噪声,以及因设备电阻或附带电容导致的信号损失。虽然 CMOS 模拟开关既有效又高效,但设计人员需要了解关键的参数折衷才能正确使用它们。在音频或视频信号源间切换可能非常棘手。大多数机械开关或继电器并非为切换多媒体信号而设…