美文网首页临床研究R plotR data manipulate
倾向性评分及匹配后新数据集直接出Table1

倾向性评分及匹配后新数据集直接出Table1

作者: 灵活胖子的进步之路 | 来源:发表于2021-09-09 14:55 被阅读0次
library(tidyverse)
library(MatchIt)
library(compareGroups)


df <- read_csv("data.csv",#读取数据
               col_names = TRUE) #第一行为列名

glimpse(df)#查看数据整体情况
names(df)#查看列名

table(df[,"operation"])#查看分组变量的分布情况

#matchit函数需要分组变量为0和1,其中1为治疗组,0为对照组
#以下应用mutate函数进行转换

df<- mutate(df,operation = case_when(
    operation == "ERCP" ~ 0,
    operation == "EUS-BD" ~ 1))  


#以下进行PSM分析,获得的分析结果为一个list

psm<- matchit(data = df,#数据集
                 formula = operation ~ surgeon,
                 #以上为PSM方程,~  左侧为分组变量,右侧为待匹配变量
                 method = "nearest",#此获得PSM评分后,应用什么方法进行对照组的匹配
                 distance = "logit",#计算PSM评分的方法
                 replace = FALSE,#是否进行有放回的匹配
                 caliper = 0.2,#卡钳值,最终选择的两组的PSM评分的差距
                 ratio = 4)#匹配的比例,一般为1:1到1:4

summary(psm)#查看匹配的结构

data_matched<-match.data(psm)#提取匹配后的数据集

colnames(data_matched)


parameter_result<- descrTable(operation ~ ., data = data_matched)#对比两组的基线情况,连续变量应用参数检验

Non_result<- descrTable(operation ~ .,method = 2, data = data_matched)#对比两组的基线情况,连续变量应用非参数检验

#以下导出结果
export2word(parameter_result,"parameter_result.docx")
export2word(Non_result,"Non_result.docx")

相关文章

网友评论

    本文标题:倾向性评分及匹配后新数据集直接出Table1

    本文链接:https://www.haomeiwen.com/subject/ibwiwltx.html