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信息表
网友评论