使用R进行倾向得分匹配「建议收藏」

pacman::p_load(knitr,wakefield,MatchIt,tableone,captioner)set.seed(1234)library(wakefield)df.patients<-r_data_frame(n=250,age(x=30:78,…

大家好,又见面了,我是你们的朋友全栈君。

pacman::p_load(knitr, wakefield, MatchIt, tableone, captioner)
set.seed(1234)
library(wakefield)
df.patients <- r_data_frame(n = 250,
age(x = 30:78,
name = ‘Age’),
sex(x = c(“Male”, “Female”),
prob = c(0.70, 0.30),
name = “Sex”))
df.patients$Sample <- as.factor(‘Patients’)
summary(df.patients)
set.seed(1234)
df.population <- r_data_frame(n = 1000,
age(x = 18:80,
name = ‘Age’),
sex(x = c(“Male”, “Female”),
prob = c(0.50, 0.50),
name = “Sex”))
df.population$Sample <- as.factor(‘Population’)
summary(df.population)

mydata <- rbind(df.patients, df.population)
mydata$Group <- as.logical(mydata$Sample == ‘Patients’)
mydata$Distress <- ifelse(mydata$Sex == ‘Male’, age(nrow(mydata), x = 0:42, name = ‘Distress’),
age(nrow(mydata), x = 15:42, name = ‘Distress’))
pacman::p_load(tableone)
table1 <- CreateTableOne(vars = c(‘Age’, ‘Sex’, ‘Distress’),
data = mydata,
factorVars = ‘Sex’,
strata = ‘Sample’)
table1 <- print(table1,
printToggle = FALSE,
noSpaces = TRUE)
library(knitr)
kable(table1[,1:3],
align = ‘c’,
caption = ‘Table 1: Comparison of unmatched samples’)
set.seed(1234)
match.it <- matchit(Group ~ Age + Sex, data = mydata, method=”nearest”, ratio=1)
a <- summary(match.it)
kable(a$nn, digits = 2, align = ‘c’,
caption = ‘Table 2: Sample sizes’)
kable(a$sum.matched[c(1,2,4)], digits = 2, align = ‘c’,
caption = ‘Table 3: Summary of balance for matched data’)
plot(match.it, type = ‘jitter’, interactive = FALSE)

df.match <- match.data(match.it)[1:ncol(mydata)]

rm(df.patients, df.population)

pacman::p_load(tableone)
table4 <- CreateTableOne(vars = c(‘Age’, ‘Sex’, ‘Distress’),
data = df.match,
factorVars = ‘Sex’,
strata = ‘Sample’)
table4 <- print(table4,
printToggle = FALSE,
noSpaces = TRUE)
kable(table4[,1:3],
align = ‘c’,
caption = ‘Table 4: Comparison of matched samples’)

转载于:https://www.cnblogs.com/qiniqnyang/p/5810740.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128694.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 雷军反击董明珠:感觉董总好像认输了似的

    雷军反击董明珠:感觉董总好像认输了似的

    2022年2月5日
    45
  • 分子动力学模拟软件_材料领域十大常用绘图软件

    作为材料领域的科研工作者,你是否常为如何表达自己的思想而苦恼?作为学术论文创造者,你是否为论文中图文单一而叹气?在这里,GO小妹推荐给你几款常用绘图软件,让你论文从此成为焦点!1——OriginProOringinPro的主要功能为数据分析和绘图。Origin的数据分析主要包括统计、信号处理、图像处理、峰值分析和曲线拟合等各种完善的数学分析功能。进行数据分析时,只需将原始数据粘贴进Origin表格…

    2022年4月3日
    843
  • iso815中文版_国际标准日期时间格式

    iso815中文版_国际标准日期时间格式严格的来说,这个标题可能不太正确,因为我首先度娘了一下,ISO8601时间格式标准应该类似于:2016-01-18T23:41:00-08:00,而UTC时间格式差不多类似在做一个项目用到一个国外的API,返回的一个时间格式是:2016-01-18T23:41:00我有几个问题想问一下:1.因为没有搜索到具体资料,返回的这个2016-01-18T23:41:00是UTC时间和是ISO-8601时…

    2025年6月10日
    2
  • 向navicat中导入数据库时出现错误_sqlserver导入sql文件

    向navicat中导入数据库时出现错误_sqlserver导入sql文件在Navicat导出的 或者别的sql文件,在使用Navicat导入时候 出现异常失败报错问题。搜索了很多资料查看,发现是没有解决掉的。最后无意间想起使用 MySql 直接使用命令导入尝试,发现可行的简单粗暴,直接打开你的MySql 登录以后 选择 要导入的数据库use 数据库名称;source 文件的绝对路径;完事 ,坐等~…

    2022年8月19日
    26
  • vscode自动错误提示_vscode和vs哪个好用

    vscode自动错误提示_vscode和vs哪个好用VScode环境配置

    2022年9月15日
    19
  • python做微信回复机器人_Python自动化脚本

    python做微信回复机器人_Python自动化脚本Python几十行代码轻松实现微信自动回复机器人最近因为太无聊了就考虑能不能做一些好玩的东西出来,正好在CSDN的推荐上看到大佬做的微信自动回复机器人,觉得很有趣,因此想着自己也能动手做一个。在此就写下我的具体思路和实现过程吧。首先,我是选择先找一个具有自动回复功能的机器,调用其API,上网搜索了一下,发现大家伙都推荐图灵机器人,然后我就溜过去找了一下图灵机器人,最后发现:它收费!!!可恶啊,难道刚开始就要结束了吗?后来我又开始了百度大法,最后发现了一个免费的机器人API:青云客。测试了一手

    2022年10月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号