패키지 tableone

Kazuki Yoshida 개발한 tableone package. 나름 유용한 측면이 있고, STD를 계산하는 것도 있어서 PSM 사용시 더욱 유용할 것으로 보인다.

## tableone package itself
library(tableone)
## survival package for Mayo Clinic's PBC data
library(survival)
data(pbc)
CreateTableOne(data = pbc)
##                       
##                        Overall          
##   n                        418          
##   id (mean (SD))        209.50 (120.81) 
##   time (mean (SD))     1917.78 (1104.67)
##   status (mean (SD))      0.83 (0.96)   
##   trt (mean (SD))         1.49 (0.50)   
##   age (mean (SD))        50.74 (10.45)  
##   sex = f (%)              374 (89.5)   
##   ascites (mean (SD))     0.08 (0.27)   
##   hepato (mean (SD))      0.51 (0.50)   
##   spiders (mean (SD))     0.29 (0.45)   
##   edema (mean (SD))       0.10 (0.25)   
##   bili (mean (SD))        3.22 (4.41)   
##   chol (mean (SD))      369.51 (231.94) 
##   albumin (mean (SD))     3.50 (0.42)   
##   copper (mean (SD))     97.65 (85.61)  
##   alk.phos (mean (SD)) 1982.66 (2140.39)
##   ast (mean (SD))       122.56 (56.70)  
##   trig (mean (SD))      124.70 (65.15)  
##   platelet (mean (SD))  257.02 (98.33)  
##   protime (mean (SD))    10.73 (1.02)   
##   stage (mean (SD))       3.02 (0.88)


## 이름변경 해보기
## Get variables names
dput(names(pbc))
## c("id", "time", "status", "trt", "age", "sex", "ascites", "hepato", 
## "spiders", "edema", "bili", "chol", "albumin", "copper", "alk.phos", 
## "ast", "trig", "platelet", "protime", "stage")
## Vector of variables to summarize
myVars <- c("time", "status", "trt", "age", "sex", "ascites", "hepato",
          "spiders", "edema", "bili", "chol", "albumin", "copper", "alk.phos",
          "ast", "trig", "platelet", "protime", "stage")
## Vector of categorical variables that need transformation
catVars <- c("status", "trt", "ascites", "hepato",
             "spiders", "edema", "stage")
## Create a TableOne object
tab2 <- CreateTableOne(vars = myVars, data = pbc, factorVars = catVars)
tab2
##                       
##                        Overall          
##   n                        418          
##   time (mean (SD))     1917.78 (1104.67)
##   status (%)                            
##      0                     232 (55.5)   
##      1                      25 ( 6.0)   
##      2                     161 (38.5)   
##   trt = 2 (%)              154 (49.4)   
##   age (mean (SD))        50.74 (10.45)  
##   sex = f (%)              374 (89.5)   
##   ascites = 1 (%)           24 ( 7.7)   
##   hepato = 1 (%)           160 (51.3)   
##   spiders = 1 (%)           90 (28.8)   
##   edema (%)                             
##      0                     354 (84.7)   
##      0.5                    44 (10.5)   
##      1                      20 ( 4.8)   
##   bili (mean (SD))        3.22 (4.41)   
##   chol (mean (SD))      369.51 (231.94) 
##   albumin (mean (SD))     3.50 (0.42)   
##   copper (mean (SD))     97.65 (85.61)  
##   alk.phos (mean (SD)) 1982.66 (2140.39)
##   ast (mean (SD))       122.56 (56.70)  
##   trig (mean (SD))      124.70 (65.15)  
##   platelet (mean (SD))  257.02 (98.33)  
##   protime (mean (SD))    10.73 (1.02)   
##   stage (%)                             
##      1                      21 ( 5.1)   
##      2                      92 (22.3)   
##      3                     155 (37.6)   
##      4                     144 (35.0)

Showing all levels for categorical variables

# 모든 범주형 변수에 대한 특성 확인인
print(tab2, showAllLevels = TRUE, formatOptions = list(big.mark = ","))
##                       
##                        level Overall            
##   n                               418           
##   time (mean (SD))           1,917.78 (1,104.67)
##   status (%)           0          232 (55.5)    
##                        1           25 ( 6.0)    
##                        2          161 (38.5)    
##   trt (%)              1          158 (50.6)    
##                        2          154 (49.4)    
##   age (mean (SD))               50.74 (10.45)   
##   sex (%)              m           44 (10.5)    
##                        f          374 (89.5)    
##   ascites (%)          0          288 (92.3)    
##                        1           24 ( 7.7)    
##   hepato (%)           0          152 (48.7)    
##                        1          160 (51.3)    
##   spiders (%)          0          222 (71.2)    
##                        1           90 (28.8)    
##   edema (%)            0          354 (84.7)    
##                        0.5         44 (10.5)    
##                        1           20 ( 4.8)    
##   bili (mean (SD))               3.22 (4.41)    
##   chol (mean (SD))             369.51 (231.94)  
##   albumin (mean (SD))            3.50 (0.42)    
##   copper (mean (SD))            97.65 (85.61)   
##   alk.phos (mean (SD))       1,982.66 (2,140.39)
##   ast (mean (SD))              122.56 (56.70)   
##   trig (mean (SD))             124.70 (65.15)   
##   platelet (mean (SD))         257.02 (98.33)   
##   protime (mean (SD))           10.73 (1.02)    
##   stage (%)            1           21 ( 5.1)    
##                        2           92 (22.3)    
##                        3          155 (37.6)    
##                        4          144 (35.0)

Detailed information including missingness

# 요약값 확인 (missing value 표시시)
summary(tab2)
## 
##      ### Summary of continuous variables ###
## 
## strata: Overall
##            n miss p.miss mean    sd median   p25  p75   min   max  skew kurt
## time     418    0    0.0 1918 1e+03   1730 1e+03 2614  41.0  4795  0.47 -0.5
## age      418    0    0.0   51 1e+01     51 4e+01   58  26.3    78  0.09 -0.6
## bili     418    0    0.0    3 4e+00      1 8e-01    3   0.3    28  2.72  8.1
## chol     418  134   32.1  370 2e+02    310 2e+02  400 120.0  1775  3.41 14.3
## albumin  418    0    0.0    3 4e-01      4 3e+00    4   2.0     5 -0.47  0.6
## copper   418  108   25.8   98 9e+01     73 4e+01  123   4.0   588  2.30  7.6
## alk.phos 418  106   25.4 1983 2e+03   1259 9e+02 1980 289.0 13862  2.99  9.7
## ast      418  106   25.4  123 6e+01    115 8e+01  152  26.4   457  1.45  4.3
## trig     418  136   32.5  125 7e+01    108 8e+01  151  33.0   598  2.52 11.8
## platelet 418   11    2.6  257 1e+02    251 2e+02  318  62.0   721  0.63  0.9
## protime  418    2    0.5   11 1e+00     11 1e+01   11   9.0    18  2.22 10.0
## 
## =======================================================================================
## 
##      ### Summary of categorical variables ### 
## 
## strata: Overall
##      var   n miss p.miss level freq percent cum.percent
##   status 418    0    0.0     0  232    55.5        55.5
##                              1   25     6.0        61.5
##                              2  161    38.5       100.0
##                                                        
##      trt 418  106   25.4     1  158    50.6        50.6
##                              2  154    49.4       100.0
##                                                        
##      sex 418    0    0.0     m   44    10.5        10.5
##                              f  374    89.5       100.0
##                                                        
##  ascites 418  106   25.4     0  288    92.3        92.3
##                              1   24     7.7       100.0
##                                                        
##   hepato 418  106   25.4     0  152    48.7        48.7
##                              1  160    51.3       100.0
##                                                        
##  spiders 418  106   25.4     0  222    71.2        71.2
##                              1   90    28.8       100.0
##                                                        
##    edema 418    0    0.0     0  354    84.7        84.7
##                            0.5   44    10.5        95.2
##                              1   20     4.8       100.0
##                                                        
##    stage 418    6    1.4     1   21     5.1         5.1
##                              2   92    22.3        27.4
##                              3  155    37.6        65.0
##                              4  144    35.0       100.0
## 

Summarizing nonnormal variables

# 치우쳐진 변수에 대해 IQR을 포함한 median 값을 제시
biomarkers <- c("bili","chol","copper","alk.phos","ast","trig","protime")
print(tab2, nonnormal = biomarkers, formatOptions = list(big.mark = ","))
##                          
##                           Overall                    
##   n                            418                   
##   time (mean (SD))        1,917.78 (1,104.67)        
##   status (%)                                         
##      0                         232 (55.5)            
##      1                          25 ( 6.0)            
##      2                         161 (38.5)            
##   trt = 2 (%)                  154 (49.4)            
##   age (mean (SD))            50.74 (10.45)           
##   sex = f (%)                  374 (89.5)            
##   ascites = 1 (%)               24 ( 7.7)            
##   hepato = 1 (%)               160 (51.3)            
##   spiders = 1 (%)               90 (28.8)            
##   edema (%)                                          
##      0                         354 (84.7)            
##      0.5                        44 (10.5)            
##      1                          20 ( 4.8)            
##   bili (median [IQR])         1.40 [0.80, 3.40]      
##   chol (median [IQR])       309.50 [249.50, 400.00]  
##   albumin (mean (SD))         3.50 (0.42)            
##   copper (median [IQR])      73.00 [41.25, 123.00]   
##   alk.phos (median [IQR]) 1,259.00 [871.50, 1,980.00]
##   ast (median [IQR])        114.70 [80.60, 151.90]   
##   trig (median [IQR])       108.00 [84.25, 151.00]   
##   platelet (mean (SD))      257.02 (98.33)           
##   protime (median [IQR])     10.60 [10.00, 11.10]    
##   stage (%)                                          
##      1                          21 ( 5.1)            
##      2                          92 (22.3)            
##      3                         155 (37.6)            
##      4                         144 (35.0)

Multiple group summary

tab3 <- CreateTableOne(vars = myVars, strata = "trt" , data = pbc, factorVars = catVars)
print(tab3, nonnormal = biomarkers, formatOptions = list(big.mark = ","))
##                          Stratified by trt
##                           1                          
##   n                            158                   
##   time (mean (SD))        2,015.62 (1,094.12)        
##   status (%)                                         
##      0                          83 (52.5)            
##      1                          10 ( 6.3)            
##      2                          65 (41.1)            
##   trt = 2 (%)                    0 ( 0.0)            
##   age (mean (SD))            51.42 (11.01)           
##   sex = f (%)                  137 (86.7)            
##   ascites = 1 (%)               14 ( 8.9)            
##   hepato = 1 (%)                73 (46.2)            
##   spiders = 1 (%)               45 (28.5)            
##   edema (%)                                          
##      0                         132 (83.5)            
##      0.5                        16 (10.1)            
##      1                          10 ( 6.3)            
##   bili (median [IQR])         1.40 [0.80, 3.20]      
##   chol (median [IQR])       315.50 [247.75, 417.00]  
##   albumin (mean (SD))         3.52 (0.44)            
##   copper (median [IQR])      73.00 [40.00, 121.00]   
##   alk.phos (median [IQR]) 1,214.50 [840.75, 2,028.00]
##   ast (median [IQR])        111.60 [76.73, 151.51]   
##   trig (median [IQR])       106.00 [84.50, 146.00]   
##   platelet (mean (SD))      258.75 (100.32)          
##   protime (median [IQR])     10.60 [10.03, 11.00]    
##   stage (%)                                          
##      1                          12 ( 7.6)            
##      2                          35 (22.2)            
##      3                          56 (35.4)            
##      4                          55 (34.8)            
##                          Stratified by trt
##                           2                           p      test   
##   n                            154                                  
##   time (mean (SD))        1,996.86 (1,155.93)          0.883        
##   status (%)                                           0.894        
##      0                          85 ( 55.2)                          
##      1                           9 (  5.8)                          
##      2                          60 ( 39.0)                          
##   trt = 2 (%)                  154 (100.0)            <0.001        
##   age (mean (SD))            48.58 (9.96)              0.018        
##   sex = f (%)                  139 ( 90.3)             0.421        
##   ascites = 1 (%)               10 (  6.5)             0.567        
##   hepato = 1 (%)                87 ( 56.5)             0.088        
##   spiders = 1 (%)               45 ( 29.2)             0.985        
##   edema (%)                                            0.877        
##      0                         131 ( 85.1)                          
##      0.5                        13 (  8.4)                          
##      1                          10 (  6.5)                          
##   bili (median [IQR])         1.30 [0.72, 3.60]        0.842 nonnorm
##   chol (median [IQR])       303.50 [254.25, 377.00]    0.544 nonnorm
##   albumin (mean (SD))         3.52 (0.40)              0.874        
##   copper (median [IQR])      73.00 [43.00, 139.00]     0.717 nonnorm
##   alk.phos (median [IQR]) 1,283.00 [922.50, 1,949.75]  0.812 nonnorm
##   ast (median [IQR])        117.40 [83.78, 151.90]     0.459 nonnorm
##   trig (median [IQR])       113.00 [84.50, 155.00]     0.370 nonnorm
##   platelet (mean (SD))      265.20 (90.73)             0.555        
##   protime (median [IQR])     10.60 [10.00, 11.40]      0.588 nonnorm
##   stage (%)                                            0.201        
##      1                           4 (  2.6)                          
##      2                          32 ( 20.8)                          
##      3                          64 ( 41.6)                          
##      4                          54 ( 35.1)