美文网首页生信分析工具包
R语言compareGroups包计算OR及HR值并输出为表

R语言compareGroups包计算OR及HR值并输出为表

作者: 灵活胖子的进步之路 | 来源:发表于2020-10-26 21:18 被阅读0次
library(survival)
## Warning: package 'survival' was built under R version 3.6.3
library(compareGroups)
## Warning: package 'compareGroups' was built under R version 3.6.3
data(colon)
newdata<-na.omit(colon)#删除缺失值
attach(newdata)
newdata$status<-factor(newdata$status,labels=c("alive","dead"))#生存状态因子化变为二分变量并赋值
newdata$sex<-factor(newdata$sex,labels=c("male","female"))#性别因子化变为二分变量并赋值
newdata$obstruct<-factor(newdata$obstruct,labels=c("no","yes"))#梗阻情况因子化变为二分变量并赋值
str(newdata)
## 'data.frame':    1776 obs. of  16 variables:
##  $ id      : num  1 1 2 2 3 3 4 4 5 5 ...
##  $ study   : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ rx      : Factor w/ 3 levels "Obs","Lev","Lev+5FU": 3 3 3 3 1 1 3 3 1 1 ...
##  $ sex     : Factor w/ 2 levels "male","female": 2 2 2 2 1 1 1 1 2 2 ...
##  $ age     : num  43 43 63 63 71 71 66 66 69 69 ...
##  $ obstruct: Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 2 2 1 1 ...
##  $ perfor  : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ adhere  : num  0 0 0 0 1 1 0 0 0 0 ...
##  $ nodes   : num  5 5 1 1 7 7 6 6 22 22 ...
##  $ status  : Factor w/ 2 levels "alive","dead": 2 2 1 1 2 2 2 2 2 2 ...
##  $ differ  : num  2 2 2 2 2 2 2 2 2 2 ...
##  $ extent  : num  3 3 3 3 2 2 3 3 3 3 ...
##  $ surg    : num  0 0 0 0 0 0 1 1 1 1 ...
##  $ node4   : num  1 1 0 0 1 1 1 1 1 1 ...
##  $ time    : num  1521 968 3087 3087 963 ...
##  $ etype   : num  2 1 2 1 2 1 2 1 2 1 ...
##  - attr(*, "na.action")= 'omit' Named int  127 128 165 166 179 180 187 188 197 198 ...
##   ..- attr(*, "names")= chr  "127" "128" "165" "166" ...
descrTable(status~ .,show.ratio =TRUE,data = newdata,method=c(time=2),show.p.trend=TRUE) #不同治疗方式患者的基线信息差异
## Warning in compareGroups.fit(X = X, y = y, include.label = include.label, :
## Variables 'study' have been removed since some errors occurred
## 
## --------Summary descriptives table by 'status'---------
## 
## ______________________________________________________________________________________ 
##                  alive            dead             OR        p.ratio p.overall p.trend 
##                  N=900           N=876                                                 
## ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ 
## id             470 (264)       463 (275)    1.00 [1.00;1.00]  0.603    0.603    0.603  
## rx:                                                                   <0.001   <0.001  
##     Obs       274 (30.4%)     336 (38.4%)         Ref.        Ref.                     
##     Lev       278 (30.9%)     310 (35.4%)   0.91 [0.72;1.14]  0.413                    
##     Lev+5FU   348 (38.7%)     230 (26.3%)   0.54 [0.43;0.68] <0.001                    
## sex:                                                                   0.489    0.489  
##     male      426 (47.3%)     430 (49.1%)         Ref.        Ref.                     
##     female    474 (52.7%)     446 (50.9%)   0.93 [0.77;1.12]  0.460                    
## age           60.0 (11.6)     59.6 (12.3)   1.00 [0.99;1.00]  0.416    0.416    0.416  
## obstruct:                                                              0.057    0.057  
##     no        743 (82.6%)     691 (78.9%)         Ref.        Ref.                     
##     yes       157 (17.4%)     185 (21.1%)   1.27 [1.00;1.61]  0.050                    
## perfor        0.02 (0.15)     0.04 (0.19)   1.51 [0.87;2.63]  0.141    0.139    0.139  
## adhere        0.12 (0.32)     0.17 (0.38)   1.58 [1.21;2.06]  0.001    0.001    0.001  
## nodes         2.75 (2.46)     4.60 (4.18)   1.21 [1.16;1.25] <0.001   <0.001   <0.001  
## differ        2.03 (0.49)     2.09 (0.53)   1.27 [1.06;1.53]  0.010    0.010    0.010  
## extent        2.81 (0.53)     2.96 (0.41)   2.02 [1.63;2.51] <0.001   <0.001   <0.001  
## surg          0.24 (0.43)     0.30 (0.46)   1.38 [1.12;1.71]  0.003    0.003    0.003  
## node4         0.15 (0.36)     0.38 (0.49)   3.37 [2.69;4.23] <0.001   <0.001   <0.001  
## time        2314 [2130;2590] 578 [286;1035] 1.00 [1.00;1.00] <0.001   <0.001   <0.001  
## etype         1.51 (0.50)     1.49 (0.50)   0.93 [0.77;1.12]  0.448    0.448    0.448  
## ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
#生存时间为非高斯分布,因此用非参数检验,考虑不同化疗方案为有序多分类,因此用趋势线检验
#这里展示结局变量为status二分类变量的OR值
newdata$ttevent <- with(newdata, Surv(time, as.integer(status=='dead')))#构建time to event的结局变量
table2<-descrTable(ttevent~ .-time-status,show.ratio =TRUE,data = newdata,show.p.trend=TRUE)
table2
## 
## --------Summary descriptives table by 'ttevent'---------
## 
## ______________________________________________________________________________ 
##              No event      Event           HR        p.ratio p.overall p.trend 
##                N=900       N=876                                               
## ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ 
## id           470 (264)   463 (275)  1.00 [1.00;1.00]  0.320    0.320    0.320  
## study       1.00 (0.00) 1.00 (0.00)     . [.;.]       Ref.       .        .    
## rx:                                                           <0.001   <0.001  
##     Obs     274 (30.4%) 336 (38.4%)       Ref.        Ref.                     
##     Lev     278 (30.9%) 310 (35.4%) 0.95 [0.81;1.11]  0.514                    
##     Lev+5FU 348 (38.7%) 230 (26.3%) 0.64 [0.54;0.75] <0.001                    
## sex:                                                           0.383    0.383  
##     male    426 (47.3%) 430 (49.1%)       Ref.        Ref.                     
##     female  474 (52.7%) 446 (50.9%) 0.94 [0.83;1.08]  0.383                    
## age         60.0 (11.6) 59.6 (12.3) 1.00 [0.99;1.00]  0.557    0.557    0.557  
## obstruct:                                                      0.006    0.006  
##     no      743 (82.6%) 691 (78.9%)       Ref.        Ref.                     
##     yes     157 (17.4%) 185 (21.1%) 1.26 [1.07;1.48]  0.006                    
## perfor      0.02 (0.15) 0.04 (0.19) 1.31 [0.92;1.87]  0.132    0.132    0.132  
## adhere      0.12 (0.32) 0.17 (0.38) 1.35 [1.13;1.61]  0.001    0.001    0.001  
## nodes       2.75 (2.46) 4.60 (4.18) 1.09 [1.08;1.10] <0.001   <0.001   <0.001  
## differ      2.03 (0.49) 2.09 (0.53) 1.31 [1.15;1.50] <0.001   <0.001   <0.001  
## extent      2.81 (0.53) 2.96 (0.41) 1.76 [1.51;2.07] <0.001   <0.001   <0.001  
## surg        0.24 (0.43) 0.30 (0.46) 1.25 [1.08;1.44]  0.003    0.003    0.003  
## node4       0.15 (0.36) 0.38 (0.49) 2.46 [2.14;2.82] <0.001   <0.001   <0.001  
## etype       1.51 (0.50) 1.49 (0.50) 0.81 [0.71;0.92]  0.002    0.002    0.002  
## ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
export2word(table2, file='table2.docx')
#结局变量建time to event时,可计算出HR值
HR信息表

相关文章

网友评论

    本文标题:R语言compareGroups包计算OR及HR值并输出为表

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