目前,本人写的第二个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,新版本改动其实在构架来说还是蛮大的,但是做起来应该更简单了,如果有什么问题或建议,欢迎你来告诉我。

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

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

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

  2. 首发,pm3包,一个用于多组(3组)倾向评分匹配的R包

    目前,本人写的第二个R包pm3包已经正式在CRAN上线,用于3组倾向评分匹配,只能3组不能多也不能少. 可以使用以下代码安装 install.packages("pm3") 什么是 ...

  3. 一个震撼的交互型3D可视化R包 - 可直接转ggplot2图为3D

    一个震撼的交互型3D可视化R包 - rayshader 虽然3D的plot见得比较多了,但是看见这样的R包,我的心还是砰了一下,这个简直不能再好看了! 关键是!!!敲黑板,这个R包超简单!!!对于刚学 ...

  4. 发布一个用于WinCE的矢量图控件

    发布一个在wince操作系统下,采用.net compact framework 1.0 ( c#)开发的矢量图控件,我于2007年3月份集中一个月的经历完成了它.当然,它的前身是2005年12月我写 ...

  5. linux抓包命令tcptrace,每天学习一个命令:tcpdump 命令行下抓包

    tcpdump 是一个运行在命令行下的抓包工具,如果想知道网络中有什么在流通,那么 tcpdump 就是一个很好的工具.它允许用户拦截和显示发送或收到过程中网络连接到该计算机的 TCP/IP 和其他数 ...

  6. 如何安装旧版本的 R 包

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 我们在安装 R 包的时候,经常会发现某个最新的包与当前 R 的版本不兼容. > inst ...

  7. r语言查找是否存在空值_关于R包安装你知道多少?

    在R语言的学习过程中离不了各种R包的安装与使用,要使用某个R包首先得学会如何安装该R包.对于R包的安装你知道的有多少?你知道如何指定安装路径吗?为何你每次重新打开R绘画都需要重新安装R包?今天小编带你 ...

  8. R语言 image.binarization: 包_想提高文章的引用率?写个R包吧!- 工具准备篇

    前言 R语言程序包是R语言的灵魂,是R语言的核心,每一个R语言用户都会使用到R包.2006年3月15日,第一个R包(coxrobust)加入CRAN,截止2020年5月17日,已经有超过15000个R ...

  9. R包开发每日中国天气

    R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可 ...

最新文章

  1. D.Digits 思维dp 取log乘积变成加法
  2. ERP与EWM集成配置---ERP 端(一)
  3. 024_jdbc-mysql的Dao模式
  4. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)
  5. angularjs 工具方法
  6. 即时消息服务框架(iMSF)应用实例之分布式事务三阶段提交协议的实现
  7. C#循环给多个控件赋值
  8. 手机滤镜怎么移植到ps上_一分钟教你电脑端Lr、Ps滤镜预设/手机端Lr预设如何导入【图文教程】...
  9. java word另存为_Java 网页html转为word并保存为doc文件
  10. Windows 10中安装.net framework提示已经安装
  11. SOA安全性解决方案
  12. 如何成为一名Go开发人员:总共分六步
  13. 南京大学2019计算机学院复试名单,南京大学计算机科学与技术系2019考研复试名单...
  14. matlab演示波粒二象性,MATLAB实验电子波动性的Matlab仿真
  15. Java课程设计--飞翔的小鸟
  16. 【代码精读】CVP-MVSNet代码结构详细分析
  17. 螃蟹在剥我的壳,笔记本在写我。 漫天的我落在枫叶上雪花上。 而你在想我。
  18. 轻松管好团队,就靠RACI模型|优思学院
  19. 链家数据分析(社招),骗局???
  20. openssl s_server s_client 相关命令参数

热门文章

  1. Java邮箱发信工具类
  2. 第一周 8.31---9.6
  3. 近百单神秘外卖被送至多地消防队 留言暖心
  4. 草图大师模型是如何和3D模型交互的呢?草图溜溜叫你看
  5. 短信验证码input框border特效(仿探探注册)
  6. oppo手机何时上鸿蒙,鸿蒙正式发布进入倒计时!华为正式发出邀请,OPPO之后小米也婉拒...
  7. ubuntu 更新源详细操作步骤
  8. postgresql性能优化
  9. 微信小程序实战-仿盒马鲜生
  10. html正则表达式登录验证,JavaScript正则表达式验证登录实例