Test TableOne (merging suggestion from Justin)
References
Load packages
### Load dataset
library(survival)
data(pbc)
head(pbc)
## id time status trt age sex ascites hepato spiders edema bili chol albumin copper alk.phos ast trig platelet
## 1 1 400 2 1 58.77 f 1 1 1 1.0 14.5 261 2.60 156 1718 137.95 172 190
## 2 2 4500 0 1 56.45 f 0 1 1 0.0 1.1 302 4.14 54 7395 113.52 88 221
## 3 3 1012 2 1 70.07 m 0 0 0 0.5 1.4 176 3.48 210 516 96.10 55 151
## 4 4 1925 2 1 54.74 f 0 1 1 0.5 1.8 244 2.54 64 6122 60.63 92 183
## 5 5 1504 1 2 38.11 f 0 1 1 0.0 3.4 279 3.53 143 671 113.15 72 136
## 6 6 2503 2 2 66.26 f 0 1 0 0.0 0.8 248 3.98 50 944 93.00 63 NA
## protime stage
## 1 12.2 4
## 2 10.6 3
## 3 12.0 4
## 4 10.3 4
## 5 10.9 3
## 6 11.0 3
## Convert to factors
varsToFactor <- c("status","trt","ascites","hepato","spiders","edema","stage")
pbc[varsToFactor] <- lapply(pbc[varsToFactor], factor)
## Define variables to analyze
vars <- c("time", "trt", "age", "sex", "ascites", "hepato",
"spiders", "edema", "bili", "chol", "albumin", "copper", "alk.phos",
"ast", "trig", "platelet", "protime", "stage")
## Strata
strata <- "status"
strataTwoVars <- c("status","sex")
strataThreeVars <- c("sex","ascites","hepato")
## Data and variables
dataFrame <- pbc
exactVars <- c("ascites","edema")
## Create edema strata that are of sizes 1, 2, and 3
smallDataFrame <- pbc[c(2, 3,4, 1,10,14),]
smallStrata <- "edema"
## Load the latest dev repo
library(devtools)
load_all("~/Documents/statistics/package_development/tableone/")
Test
### Define variables
nonNormalVars <- c("bili","chol","copper","alk.phos")
### Overall
tableOne <- CreateTableOne(vars = vars, data = dataFrame)
## Print method
print(tableOne)
##
## Overall
## n 418
## time (mean (sd)) 1917.78 (1104.67)
## 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)
## Summary method
summary(tableOne)
##
## ### Summary of continuous variables ###
##
## strata: Overall
## n miss mean sd median p25 p75 min max skew kurt
## time 418 0 1918 1104.7 1730 1092.8 2614 41.0 4795 0.47 -0.5
## age 418 0 51 10.4 51 42.8 58 26.3 78 0.09 -0.6
## bili 418 0 3 4.4 1 0.8 3 0.3 28 2.72 8.1
## chol 418 134 370 231.9 310 249.5 400 120.0 1775 3.41 14.3
## albumin 418 0 3 0.4 4 3.2 4 2.0 5 -0.47 0.6
## copper 418 108 98 85.6 73 41.2 123 4.0 588 2.30 7.6
## alk.phos 418 106 1983 2140.4 1259 871.5 1980 289.0 13862 2.99 9.7
## ast 418 106 123 56.7 115 80.6 152 26.4 457 1.45 4.3
## trig 418 136 125 65.1 108 84.2 151 33.0 598 2.52 11.8
## platelet 418 11 257 98.3 251 188.5 318 62.0 721 0.63 0.9
## protime 418 2 11 1.0 11 10.0 11 9.0 18 2.22 10.0
##
## =======================================================================================
##
## ### Summary of categorical variables ###
##
## strata: Overall
## var n miss level freq percent cum.percent
## trt 418 106 1 158 50.6 50.6
## 2 154 49.4 100.0
##
## sex 418 0 m 44 10.5 10.5
## f 374 89.5 100.0
##
## ascites 418 106 0 288 92.3 92.3
## 1 24 7.7 100.0
##
## hepato 418 106 0 152 48.7 48.7
## 1 160 51.3 100.0
##
## spiders 418 106 0 222 71.2 71.2
## 1 90 28.8 100.0
##
## edema 418 0 0 354 84.7 84.7
## 0.5 44 10.5 95.2
## 1 20 4.8 100.0
##
## stage 418 6 1 21 5.1 5.1
## 2 92 22.3 27.4
## 3 155 37.6 65.0
## 4 144 35.0 100.0
##
## quote
print(tableOne, quote = T)
## ""
## "" "Overall"
## "n" "418"
## "time (mean (sd))" "1917.78 (1104.67)"
## "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) "
## Digits
print(tableOne , catDigits = 2, contDigits = 5)
##
## Overall
## n 418
## time (mean (sd)) 1917.78230 (1104.67299)
## trt = 2 (%) 154 (49.36)
## age (mean (sd)) 50.74155 (10.44721)
## sex = f (%) 374 (89.47)
## ascites = 1 (%) 24 (7.69)
## hepato = 1 (%) 160 (51.28)
## spiders = 1 (%) 90 (28.85)
## edema (%)
## 0 354 (84.69)
## 0.5 44 (10.53)
## 1 20 ( 4.78)
## bili (mean (sd)) 3.22081 (4.40751)
## chol (mean (sd)) 369.51056 (231.94455)
## albumin (mean (sd)) 3.49744 (0.42497)
## copper (mean (sd)) 97.64839 (85.61392)
## alk.phos (mean (sd)) 1982.65577 (2140.38882)
## ast (mean (sd)) 122.55635 (56.69952)
## trig (mean (sd)) 124.70213 (65.14864)
## platelet (mean (sd)) 257.02457 (98.32558)
## protime (mean (sd)) 10.73173 (1.02200)
## stage (%)
## 1 21 ( 5.10)
## 2 92 (22.33)
## 3 155 (37.62)
## 4 144 (34.95)
## median [IQR]
print(tableOne, nonnormal = nonNormalVars)
##
## Overall
## n 418
## time (mean (sd)) 1917.78 (1104.67)
## 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]) 1259.00 [871.50, 1980.00]
## 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)
## median [range]
print(tableOne, nonnormal = nonNormalVars, minMax = TRUE)
##
## Overall
## n 418
## time (mean (sd)) 1917.78 (1104.67)
## 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 [range]) 1.40 [0.30, 28.00]
## chol (median [range]) 309.50 [120.00, 1775.00]
## albumin (mean (sd)) 3.50 (0.42)
## copper (median [range]) 73.00 [4.00, 588.00]
## alk.phos (median [range]) 1259.00 [289.00, 13862.40]
## 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)
## without explanation
print(tableOne, nonnormal = nonNormalVars, explain = F)
##
## Overall
## n 418
## time 1917.78 (1104.67)
## trt = 2 154 (49.4)
## age 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 1.40 [0.80, 3.40]
## chol 309.50 [249.50, 400.00]
## albumin 3.50 (0.42)
## copper 73.00 [41.25, 123.00]
## alk.phos 1259.00 [871.50, 1980.00]
## ast 122.56 (56.70)
## trig 124.70 (65.15)
## platelet 257.02 (98.33)
## protime 10.73 (1.02)
## stage
## 1 21 ( 5.1)
## 2 92 (22.3)
## 3 155 (37.6)
## 4 144 (35.0)
### Stratified
## Constructor
tableOne <- CreateTableOne(vars = vars, strata = strata, data = dataFrame)
## Print method
print(tableOne)
## Stratified by status
## 0 1 2 p test
## n 232 25 161
## time (mean (sd)) 2333.16 (994.66) 1546.20 (753.07) 1376.93 (1049.23) <0.001
## trt = 2 (%) 85 (50.6) 9 (47.4) 60 (48.0) 0.894
## age (mean (sd)) 49.51 (10.43) 41.69 (6.33) 53.92 (9.81) <0.001
## sex = f (%) 215 (92.7) 22 (88.0) 137 (85.1) 0.053
## ascites = 1 (%) 1 (0.6) 0 (0.0) 23 (18.4) <0.001
## hepato = 1 (%) 60 (35.7) 12 (63.2) 88 (70.4) <0.001
## spiders = 1 (%) 33 (19.6) 5 (26.3) 52 (41.6) <0.001
## edema (%) <0.001
## 0 216 (93.1) 22 (88.0) 116 (72.0)
## 0.5 15 ( 6.5) 3 (12.0) 26 (16.1)
## 1 1 ( 0.4) 0 ( 0.0) 19 (11.8)
## bili (mean (sd)) 1.58 (1.91) 3.56 (3.60) 5.54 (5.84) <0.001
## chol (mean (sd)) 326.54 (165.80) 439.50 (335.54) 415.75 (275.03) 0.003
## albumin (mean (sd)) 3.59 (0.36) 3.49 (0.46) 3.36 (0.47) <0.001
## copper (mean (sd)) 66.61 (57.05) 124.00 (100.08) 135.41 (98.50) <0.001
## alk.phos (mean (sd)) 1578.13 (1633.07) 1535.21 (837.75) 2594.35 (2677.11) <0.001
## ast (mean (sd)) 107.29 (52.79) 130.12 (36.95) 141.93 (58.38) <0.001
## trig (mean (sd)) 111.79 (48.28) 133.94 (70.55) 140.49 (79.26) 0.001
## platelet (mean (sd)) 261.16 (88.61) 309.60 (102.65) 242.49 (107.88) 0.004
## protime (mean (sd)) 10.45 (0.92) 10.36 (0.54) 11.19 (1.05) <0.001
## stage (%) <0.001
## 1 19 ( 8.3) 0 ( 0.0) 2 ( 1.3)
## 2 64 (27.8) 5 (20.0) 23 (14.6)
## 3 97 (42.2) 10 (40.0) 48 (30.6)
## 4 50 (21.7) 10 (40.0) 84 (53.5)
## Summary method
summary(tableOne)
##
## ### Summary of continuous variables ###
##
## status: 0
## n miss mean sd median p25 p75 min max skew kurt
## time 232 0 2333 994.7 2186.5 1456.5 2980 691.0 4795 0.6 -0.6
## age 232 0 50 10.4 49.8 41.4 57 26.3 78 0.1 -0.6
## bili 232 0 2 1.9 0.9 0.6 2 0.3 14 3.5 14.5
## chol 232 80 327 165.8 292.0 245.2 360 120.0 1480 4.3 24.8
## albumin 232 0 4 0.4 3.6 3.4 4 2.4 5 -0.2 0.4
## copper 232 65 67 57.1 52.0 33.5 78 4.0 412 3.1 13.5
## alk.phos 232 64 1578 1633.1 1107.5 794.0 1641 289.0 11047 3.6 14.7
## ast 232 64 107 52.8 94.5 71.3 129 26.4 457 2.4 11.2
## trig 232 81 112 48.3 104.0 80.0 134 44.0 382 1.7 5.9
## platelet 232 5 261 88.6 256.0 203.5 313 79.0 539 0.4 0.2
## protime 232 1 10 0.9 10.4 9.9 11 9.0 18 4.2 29.7
## ---------------------------------------------------------------------------------------
## status: 1
## n miss mean sd median p25 p75 min max skew kurt
## time 25 0 1546 753.1 1435 901 2241 533.0 3092 0.60 -0.7
## age 25 0 42 6.3 41 36 47 33.0 56 0.47 -0.6
## bili 25 0 4 3.6 3 1 4 0.5 18 2.95 10.9
## chol 25 7 440 335.5 344 312 446 201.0 1712 3.55 13.8
## albumin 25 0 3 0.5 4 3 4 2.3 4 -0.53 0.3
## copper 25 6 124 100.1 102 69 130 32.0 444 2.25 5.6
## alk.phos 25 6 1535 837.7 1345 1028 1778 637.0 3681 1.47 1.8
## ast 25 6 130 36.9 127 114 151 54.2 205 0.09 0.3
## trig 25 7 134 70.5 124 86 146 33.0 322 1.25 1.8
## platelet 25 0 310 102.7 304 248 372 76.0 517 -0.11 0.2
## protime 25 0 10 0.5 10 10 11 9.6 11 0.52 -0.7
## ---------------------------------------------------------------------------------------
## status: 2
## n miss mean sd median p25 p75 min max skew kurt
## time 161 0 1377 1049.2 1083 597 2071 41.0 4191 0.83 -0.2
## age 161 0 54 9.8 53 47 61 30.9 77 -0.01 -0.6
## bili 161 0 6 5.8 3 1 7 0.3 28 1.68 2.4
## chol 161 47 416 275.0 339 258 454 127.0 1775 2.58 8.1
## albumin 161 0 3 0.5 3 3 4 2.0 5 -0.33 0.2
## copper 161 37 135 98.5 111 64 199 13.0 588 1.84 5.5
## alk.phos 161 36 2594 2677.1 1664 1029 2468 516.0 13862 2.30 5.1
## ast 161 36 142 58.4 135 99 177 28.4 338 0.81 1.0
## trig 161 48 140 79.3 122 91 171 49.0 598 2.51 10.3
## platelet 161 6 242 107.9 224 158 312 62.0 721 1.01 1.8
## protime 161 1 11 1.0 11 10 12 9.0 15 0.78 0.9
##
## p-values
## pNormal pNonNormal
## time 2.170e-18 1.070e-18
## age 4.513e-09 7.523e-09
## bili 4.006e-19 4.088e-26
## chol 3.118e-03 3.588e-03
## albumin 4.024e-07 2.875e-06
## copper 5.999e-12 2.935e-14
## alk.phos 1.655e-04 1.139e-05
## ast 7.554e-07 2.198e-08
## trig 1.401e-03 5.535e-03
## platelet 4.024e-03 8.025e-04
## protime 6.961e-13 1.987e-15
##
## =======================================================================================
##
## ### Summary of categorical variables ###
##
## status: 0
## var n miss level freq percent cum.percent
## trt 232 64 1 83 49.4 49.4
## 2 85 50.6 100.0
##
## sex 232 0 m 17 7.3 7.3
## f 215 92.7 100.0
##
## ascites 232 64 0 167 99.4 99.4
## 1 1 0.6 100.0
##
## hepato 232 64 0 108 64.3 64.3
## 1 60 35.7 100.0
##
## spiders 232 64 0 135 80.4 80.4
## 1 33 19.6 100.0
##
## edema 232 0 0 216 93.1 93.1
## 0.5 15 6.5 99.6
## 1 1 0.4 100.0
##
## stage 232 2 1 19 8.3 8.3
## 2 64 27.8 36.1
## 3 97 42.2 78.3
## 4 50 21.7 100.0
##
## ---------------------------------------------------------------------------------------
## status: 1
## var n miss level freq percent cum.percent
## trt 25 6 1 10 52.6 52.6
## 2 9 47.4 100.0
##
## sex 25 0 m 3 12.0 12.0
## f 22 88.0 100.0
##
## ascites 25 6 0 19 100.0 100.0
## 1 0 0.0 100.0
##
## hepato 25 6 0 7 36.8 36.8
## 1 12 63.2 100.0
##
## spiders 25 6 0 14 73.7 73.7
## 1 5 26.3 100.0
##
## edema 25 0 0 22 88.0 88.0
## 0.5 3 12.0 100.0
## 1 0 0.0 100.0
##
## stage 25 0 1 0 0.0 0.0
## 2 5 20.0 20.0
## 3 10 40.0 60.0
## 4 10 40.0 100.0
##
## ---------------------------------------------------------------------------------------
## status: 2
## var n miss level freq percent cum.percent
## trt 161 36 1 65 52.0 52.0
## 2 60 48.0 100.0
##
## sex 161 0 m 24 14.9 14.9
## f 137 85.1 100.0
##
## ascites 161 36 0 102 81.6 81.6
## 1 23 18.4 100.0
##
## hepato 161 36 0 37 29.6 29.6
## 1 88 70.4 100.0
##
## spiders 161 36 0 73 58.4 58.4
## 1 52 41.6 100.0
##
## edema 161 0 0 116 72.0 72.0
## 0.5 26 16.1 88.2
## 1 19 11.8 100.0
##
## stage 161 4 1 2 1.3 1.3
## 2 23 14.6 15.9
## 3 48 30.6 46.5
## 4 84 53.5 100.0
##
##
## p-values
## pApprox pExact
## trt 0.89350974940 0.884221883654
## sex 0.05344266826 0.041912591395
## ascites 0.00000004847 0.000000019153
## hepato 0.00000001808 0.000000007246
## spiders 0.00021408606 0.000194188617
## edema 0.00000003438 0.000000019547
## stage 0.00000001118 NA
## print method options
print(tableOne , exact = c("trt","stage"), format = "p", nonnormal = nonNormalVars)
## Stratified by status
## 0 1 2 p
## n 232 25 161
## time (mean (sd)) 2333.16 (994.66) 1546.20 (753.07) 1376.93 (1049.23) <0.001
## trt = 2 (%) 50.6 47.4 48.0 0.884
## age (mean (sd)) 49.51 (10.43) 41.69 (6.33) 53.92 (9.81) <0.001
## sex = f (%) 92.7 88.0 85.1 0.053
## ascites = 1 (%) 0.6 0.0 18.4 <0.001
## hepato = 1 (%) 35.7 63.2 70.4 <0.001
## spiders = 1 (%) 19.6 26.3 41.6 <0.001
## edema (%) <0.001
## 0 93.1 88.0 72.0
## 0.5 6.5 12.0 16.1
## 1 0.4 0.0 11.8
## bili (median [IQR]) 0.90 [0.60, 1.60] 3.10 [1.30, 3.50] 3.20 [1.40, 7.10] <0.001
## chol (median [IQR]) 292.00 [245.25, 360.00] 343.50 [311.50, 445.50] 339.00 [257.50, 454.00] 0.004
## albumin (mean (sd)) 3.59 (0.36) 3.49 (0.46) 3.36 (0.47) <0.001
## copper (median [IQR]) 52.00 [33.50, 77.50] 102.00 [69.00, 129.50] 111.00 [63.50, 199.25] <0.001
## alk.phos (median [IQR]) 1107.50 [794.00, 1641.00] 1345.00 [1028.50, 1777.50] 1664.00 [1029.00, 2468.00] <0.001
## ast (mean (sd)) 107.29 (52.79) 130.12 (36.95) 141.93 (58.38) <0.001
## trig (mean (sd)) 111.79 (48.28) 133.94 (70.55) 140.49 (79.26) 0.001
## platelet (mean (sd)) 261.16 (88.61) 309.60 (102.65) 242.49 (107.88) 0.004
## protime (mean (sd)) 10.45 (0.92) 10.36 (0.54) 11.19 (1.05) <0.001
## stage (%) NA
## 1 8.3 0.0 1.3
## 2 27.8 20.0 14.6
## 3 42.2 40.0 30.6
## 4 21.7 40.0 53.5
## Stratified by status
## test
## n
## time (mean (sd))
## trt = 2 (%) exact
## age (mean (sd))
## sex = f (%)
## ascites = 1 (%)
## hepato = 1 (%)
## spiders = 1 (%)
## edema (%)
## 0
## 0.5
## 1
## bili (median [IQR]) nonnorm
## chol (median [IQR]) nonnorm
## albumin (mean (sd))
## copper (median [IQR]) nonnorm
## alk.phos (median [IQR]) nonnorm
## ast (mean (sd))
## trig (mean (sd))
## platelet (mean (sd))
## protime (mean (sd))
## stage (%) exact
## 1
## 2
## 3
## 4
## median [range]
print(tableOne , exact = c("trt","stage"), format = "p", nonnormal = nonNormalVars, minMax = TRUE)
## Stratified by status
## 0 1 2 p
## n 232 25 161
## time (mean (sd)) 2333.16 (994.66) 1546.20 (753.07) 1376.93 (1049.23) <0.001
## trt = 2 (%) 50.6 47.4 48.0 0.884
## age (mean (sd)) 49.51 (10.43) 41.69 (6.33) 53.92 (9.81) <0.001
## sex = f (%) 92.7 88.0 85.1 0.053
## ascites = 1 (%) 0.6 0.0 18.4 <0.001
## hepato = 1 (%) 35.7 63.2 70.4 <0.001
## spiders = 1 (%) 19.6 26.3 41.6 <0.001
## edema (%) <0.001
## 0 93.1 88.0 72.0
## 0.5 6.5 12.0 16.1
## 1 0.4 0.0 11.8
## bili (median [range]) 0.90 [0.30, 13.60] 3.10 [0.50, 18.00] 3.20 [0.30, 28.00] <0.001
## chol (median [range]) 292.00 [120.00, 1480.00] 343.50 [201.00, 1712.00] 339.00 [127.00, 1775.00] 0.004
## albumin (mean (sd)) 3.59 (0.36) 3.49 (0.46) 3.36 (0.47) <0.001
## copper (median [range]) 52.00 [4.00, 412.00] 102.00 [32.00, 444.00] 111.00 [13.00, 588.00] <0.001
## alk.phos (median [range]) 1107.50 [289.00, 11046.60] 1345.00 [637.00, 3681.00] 1664.00 [516.00, 13862.40] <0.001
## ast (mean (sd)) 107.29 (52.79) 130.12 (36.95) 141.93 (58.38) <0.001
## trig (mean (sd)) 111.79 (48.28) 133.94 (70.55) 140.49 (79.26) 0.001
## platelet (mean (sd)) 261.16 (88.61) 309.60 (102.65) 242.49 (107.88) 0.004
## protime (mean (sd)) 10.45 (0.92) 10.36 (0.54) 11.19 (1.05) <0.001
## stage (%) NA
## 1 8.3 0.0 1.3
## 2 27.8 20.0 14.6
## 3 42.2 40.0 30.6
## 4 21.7 40.0 53.5
## Stratified by status
## test
## n
## time (mean (sd))
## trt = 2 (%) exact
## age (mean (sd))
## sex = f (%)
## ascites = 1 (%)
## hepato = 1 (%)
## spiders = 1 (%)
## edema (%)
## 0
## 0.5
## 1
## bili (median [range]) nonnorm
## chol (median [range]) nonnorm
## albumin (mean (sd))
## copper (median [range]) nonnorm
## alk.phos (median [range]) nonnorm
## ast (mean (sd))
## trig (mean (sd))
## platelet (mean (sd))
## protime (mean (sd))
## stage (%) exact
## 1
## 2
## 3
## 4
## No test
print(tableOne , exact = c("trt","stage"), format = "f", nonnormal = nonNormalVars, test = FALSE)
## Stratified by status
## 0 1 2
## n 232 25 161
## time (mean (sd)) 2333.16 (994.66) 1546.20 (753.07) 1376.93 (1049.23)
## trt = 2 85 9 60
## age (mean (sd)) 49.51 (10.43) 41.69 (6.33) 53.92 (9.81)
## sex = f 215 22 137
## ascites = 1 1 0 23
## hepato = 1 60 12 88
## spiders = 1 33 5 52
## edema
## 0 216 22 116
## 0.5 15 3 26
## 1 1 0 19
## bili (median [IQR]) 0.90 [0.60, 1.60] 3.10 [1.30, 3.50] 3.20 [1.40, 7.10]
## chol (median [IQR]) 292.00 [245.25, 360.00] 343.50 [311.50, 445.50] 339.00 [257.50, 454.00]
## albumin (mean (sd)) 3.59 (0.36) 3.49 (0.46) 3.36 (0.47)
## copper (median [IQR]) 52.00 [33.50, 77.50] 102.00 [69.00, 129.50] 111.00 [63.50, 199.25]
## alk.phos (median [IQR]) 1107.50 [794.00, 1641.00] 1345.00 [1028.50, 1777.50] 1664.00 [1029.00, 2468.00]
## ast (mean (sd)) 107.29 (52.79) 130.12 (36.95) 141.93 (58.38)
## trig (mean (sd)) 111.79 (48.28) 133.94 (70.55) 140.49 (79.26)
## platelet (mean (sd)) 261.16 (88.61) 309.60 (102.65) 242.49 (107.88)
## protime (mean (sd)) 10.45 (0.92) 10.36 (0.54) 11.19 (1.05)
## stage
## 1 19 0 2
## 2 64 5 23
## 3 97 10 48
## 4 50 10 84
## Quote
print(tableOne , exact = c("trt","stage"), format = "f", nonnormal = nonNormalVars, quote = TRUE)
## "Stratified by status"
## "" "0" "1" "2"
## "n" "232" "25" "161"
## "time (mean (sd))" "2333.16 (994.66)" "1546.20 (753.07)" "1376.93 (1049.23)"
## "trt = 2" " 85" " 9" " 60"
## "age (mean (sd))" " 49.51 (10.43)" " 41.69 (6.33)" " 53.92 (9.81)"
## "sex = f" " 215" " 22" " 137"
## "ascites = 1" " 1" " 0" " 23"
## "hepato = 1" " 60" " 12" " 88"
## "spiders = 1" " 33" " 5" " 52"
## "edema" " " " " " "
## " 0" " 216" " 22" " 116"
## " 0.5" " 15" " 3" " 26"
## " 1" " 1" " 0" " 19"
## "bili (median [IQR])" " 0.90 [0.60, 1.60]" " 3.10 [1.30, 3.50]" " 3.20 [1.40, 7.10]"
## "chol (median [IQR])" " 292.00 [245.25, 360.00]" " 343.50 [311.50, 445.50]" " 339.00 [257.50, 454.00]"
## "albumin (mean (sd))" " 3.59 (0.36)" " 3.49 (0.46)" " 3.36 (0.47)"
## "copper (median [IQR])" " 52.00 [33.50, 77.50]" " 102.00 [69.00, 129.50]" " 111.00 [63.50, 199.25]"
## "alk.phos (median [IQR])" "1107.50 [794.00, 1641.00]" "1345.00 [1028.50, 1777.50]" "1664.00 [1029.00, 2468.00]"
## "ast (mean (sd))" " 107.29 (52.79)" " 130.12 (36.95)" " 141.93 (58.38)"
## "trig (mean (sd))" " 111.79 (48.28)" " 133.94 (70.55)" " 140.49 (79.26)"
## "platelet (mean (sd))" " 261.16 (88.61)" " 309.60 (102.65)" " 242.49 (107.88)"
## "protime (mean (sd))" " 10.45 (0.92)" " 10.36 (0.54)" " 11.19 (1.05)"
## "stage" " " " " " "
## " 1" " 19" " 0" " 2"
## " 2" " 64" " 5" " 23"
## " 3" " 97" " 10" " 48"
## " 4" " 50" " 10" " 84"
## "Stratified by status"
## "" "p" "test"
## "n" "" ""
## "time (mean (sd))" "<0.001" ""
## "trt = 2" " 0.884" "exact"
## "age (mean (sd))" "<0.001" ""
## "sex = f" " 0.053" ""
## "ascites = 1" "<0.001" ""
## "hepato = 1" "<0.001" ""
## "spiders = 1" "<0.001" ""
## "edema" "<0.001" ""
## " 0" "" ""
## " 0.5" "" ""
## " 1" "" ""
## "bili (median [IQR])" "<0.001" "nonnorm"
## "chol (median [IQR])" " 0.004" "nonnorm"
## "albumin (mean (sd))" "<0.001" ""
## "copper (median [IQR])" "<0.001" "nonnorm"
## "alk.phos (median [IQR])" "<0.001" "nonnorm"
## "ast (mean (sd))" "<0.001" ""
## "trig (mean (sd))" " 0.001" ""
## "platelet (mean (sd))" " 0.004" ""
## "protime (mean (sd))" "<0.001" ""
## "stage" " NA" "exact"
## " 1" "" ""
## " 2" "" ""
## " 3" "" ""
## " 4" "" ""
## Digits
print(tableOne , catDigits = 2, contDigits = 5)
## Stratified by status
## 0 1 2 p test
## n 232 25 161
## time (mean (sd)) 2333.15517 (994.65895) 1546.20000 (753.07425) 1376.93168 (1049.22797) <0.001
## trt = 2 (%) 85 (50.60) 9 (47.37) 60 (48.00) 0.894
## age (mean (sd)) 49.51034 (10.42672) 41.69342 (6.33435) 53.92071 (9.81423) <0.001
## sex = f (%) 215 (92.67) 22 (88.00) 137 (85.09) 0.053
## ascites = 1 (%) 1 (0.60) 0 (0.00) 23 (18.40) <0.001
## hepato = 1 (%) 60 (35.71) 12 (63.16) 88 (70.40) <0.001
## spiders = 1 (%) 33 (19.64) 5 (26.32) 52 (41.60) <0.001
## edema (%) <0.001
## 0 216 (93.10) 22 (88.00) 116 (72.05)
## 0.5 15 ( 6.47) 3 (12.00) 26 (16.15)
## 1 1 ( 0.43) 0 ( 0.00) 19 (11.80)
## bili (mean (sd)) 1.57586 (1.91026) 3.55600 (3.59619) 5.53913 (5.83710) <0.001
## chol (mean (sd)) 326.53947 (165.79729) 439.50000 (335.53666) 415.75439 (275.03076) 0.003
## albumin (mean (sd)) 3.59349 (0.36041) 3.48760 (0.45599) 3.36056 (0.46875) <0.001
## copper (mean (sd)) 66.61078 (57.05418) 124.00000 (100.07830) 135.41129 (98.49890) <0.001
## alk.phos (mean (sd)) 1578.12738 (1633.07092) 1535.21053 (837.74808) 2594.35360 (2677.10859) <0.001
## ast (mean (sd)) 107.28595 (52.79321) 130.11579 (36.94593) 141.93072 (58.37952) <0.001
## trig (mean (sd)) 111.78808 (48.27775) 133.94444 (70.54700) 140.48673 (79.25818) 0.001
## platelet (mean (sd)) 261.15859 (88.60787) 309.60000 (102.65314) 242.49032 (107.87615) 0.004
## protime (mean (sd)) 10.45411 (0.92458) 10.36000 (0.53697) 11.19063 (1.04904) <0.001
## stage (%) <0.001
## 1 19 ( 8.26) 0 ( 0.00) 2 ( 1.27)
## 2 64 (27.83) 5 (20.00) 23 (14.65)
## 3 97 (42.17) 10 (40.00) 48 (30.57)
## 4 50 (21.74) 10 (40.00) 84 (53.50)
## Categorical only
## Constructor
tableOneCatOnly <- CreateTableOne(vars = varsToFactor, strata = strata, data = dataFrame)
## NOTE: no numeric/integer variables supplied, using CreateCatTable()
## Print method
print(tableOneCatOnly)
## Stratified by status
## 0 1 2 p test
## n 232 25 161
## status (%) <0.001
## 0 232 (100.0) 0 ( 0.0) 0 ( 0.0)
## 1 0 ( 0.0) 25 (100.0) 0 ( 0.0)
## 2 0 ( 0.0) 0 ( 0.0) 161 (100.0)
## trt = 2 (%) 85 ( 50.6) 9 ( 47.4) 60 ( 48.0) 0.894
## ascites = 1 (%) 1 ( 0.6) 0 ( 0.0) 23 ( 18.4) <0.001
## hepato = 1 (%) 60 ( 35.7) 12 ( 63.2) 88 ( 70.4) <0.001
## spiders = 1 (%) 33 ( 19.6) 5 ( 26.3) 52 ( 41.6) <0.001
## edema (%) <0.001
## 0 216 ( 93.1) 22 ( 88.0) 116 ( 72.0)
## 0.5 15 ( 6.5) 3 ( 12.0) 26 ( 16.1)
## 1 1 ( 0.4) 0 ( 0.0) 19 ( 11.8)
## stage (%) <0.001
## 1 19 ( 8.3) 0 ( 0.0) 2 ( 1.3)
## 2 64 ( 27.8) 5 ( 20.0) 23 ( 14.6)
## 3 97 ( 42.2) 10 ( 40.0) 48 ( 30.6)
## 4 50 ( 21.7) 10 ( 40.0) 84 ( 53.5)
## Continuous only
## Constructor
tableOneContOnly <- CreateTableOne(vars = c("age"), strata = strata, data = dataFrame)
## NOTE: no factor variables supplied, using CreateContTable()
## Print method
print(tableOneContOnly)
## Stratified by status
## 0 1 2 p test
## n 232 25 161
## age (mean (sd)) 49.51 (10.43) 41.69 (6.33) 53.92 (9.81) <0.001
### Two strata variables
## Constructor
tableOne <- CreateTableOne(vars = vars, strata = strataTwoVars, data = dataFrame)
## Summary method
summary(tableOne)
##
## ### Summary of continuous variables ###
##
## status: 0
## sex: m
## n miss mean sd median p25 p75 min max skew kurt
## time 17 0 2462 1217.3 1899 1419.0 3445 1129.0 4459 0.58 -1.28
## age 17 0 56 10.6 53 49.1 61 41.0 78 0.82 -0.03
## bili 17 0 3 2.6 2 0.9 3 0.6 9 1.35 0.41
## chol 17 6 368 235.0 252 242.5 403 216.0 1000 2.30 5.61
## albumin 17 0 3 0.4 4 3.1 4 2.4 4 -0.94 1.18
## copper 17 6 129 113.1 84 57.0 168 25.0 380 1.38 1.25
## alk.phos 17 6 2482 3052.9 1098 913.0 2311 601.0 10397 2.17 4.50
## ast 17 6 112 50.9 108 62.8 143 56.8 193 0.45 -1.14
## trig 17 6 132 33.7 128 112.5 154 83.0 188 0.27 -0.75
## platelet 17 1 213 72.2 212 170.5 267 92.0 336 -0.07 -0.72
## protime 17 0 11 0.8 11 10.6 11 9.8 13 1.08 1.92
## ---------------------------------------------------------------------------------------
## status: 1
## sex: m
## n miss mean sd median p25 p75 min max skew kurt
## time 3 0 1148 785.8 877 705 1455 533 2033 1.4 NaN
## age 3 0 42 12.0 35 35 46 35 56 1.7 NaN
## bili 3 0 2 1.2 2 2 3 1 4 -0.1 NaN
## chol 3 0 415 201.3 325 300 486 275 646 1.6 NaN
## albumin 3 0 4 0.3 4 4 4 3 4 -1.2 NaN
## copper 3 0 215 198.0 102 101 273 100 444 1.7 NaN
## alk.phos 3 0 921 196.5 855 810 998 766 1142 1.3 NaN
## ast 3 0 111 31.0 127 101 129 75 130 -1.7 NaN
## trig 3 0 165 64.6 194 142 202 91 210 -1.6 NaN
## platelet 3 0 289 65.2 306 262 325 217 344 -1.1 NaN
## protime 3 0 11 0.5 11 10 11 10 11 1.1 NaN
## ---------------------------------------------------------------------------------------
## status: 2
## sex: m
## n miss mean sd median p25 p75 min max skew kurt
## time 24 0 1585 1120.5 1257 867 1906 140.0 4191 1.11 0.5
## age 24 0 57 10.3 58 51 67 33.5 72 -0.40 -0.6
## bili 24 0 3 2.2 2 2 4 0.8 10 1.59 2.0
## chol 24 3 352 149.2 331 247 426 151.0 660 0.52 -0.4
## albumin 24 0 4 0.5 4 3 4 2.3 4 -0.95 0.8
## copper 24 2 159 78.6 165 97 215 13.0 290 -0.11 -1.0
## alk.phos 24 2 2189 2243.2 1452 974 2387 516.0 10165 2.55 7.3
## ast 24 2 128 47.4 125 89 170 46.5 222 0.31 -0.7
## trig 24 3 130 59.0 122 91 155 49.0 242 0.59 -0.7
## platelet 24 0 236 93.9 226 155 328 70.0 394 0.01 -1.2
## protime 24 0 11 1.1 11 10 11 9.7 14 1.39 2.3
## ---------------------------------------------------------------------------------------
## status: 0
## sex: f
## n miss mean sd median p25 p75 min max skew kurt
## time 215 0 2323 977.6 2195.0 1469.0 2918 691.0 4795 0.58 -0.5
## age 215 0 49 10.3 49.0 40.9 57 26.3 75 0.03 -0.8
## bili 215 0 1 1.8 0.9 0.6 1 0.3 14 3.91 18.6
## chol 215 74 323 159.9 294.0 246.0 360 120.0 1480 4.68 29.8
## albumin 215 0 4 0.4 3.6 3.4 4 2.5 5 -0.10 0.2
## copper 215 59 62 48.7 51.5 33.0 75 4.0 412 3.15 17.3
## alk.phos 215 58 1515 1481.8 1110.0 794.0 1637 289.0 11047 3.75 16.8
## ast 215 58 107 53.1 93.0 72.8 129 26.4 457 2.50 11.9
## trig 215 75 110 49.0 101.0 76.8 133 44.0 382 1.82 6.3
## platelet 215 4 265 88.8 256.0 209.0 318 79.0 539 0.40 0.2
## protime 215 1 10 0.9 10.3 9.9 11 9.0 18 4.53 32.8
## ---------------------------------------------------------------------------------------
## status: 1
## sex: f
## n miss mean sd median p25 p75 min max skew kurt
## time 22 0 1601 750.7 1441 1033 2260 617.0 3092 0.608 -0.73
## age 22 0 42 5.7 41 37 47 33.0 52 0.111 -1.03
## bili 22 0 4 3.8 3 1 4 0.5 18 2.770 9.54
## chol 22 7 444 361.6 348 313 441 201.0 1712 3.484 12.87
## albumin 22 0 3 0.5 4 3 4 2.3 4 -0.400 0.20
## copper 22 6 107 69.3 98 58 126 32.0 308 1.684 3.93
## alk.phos 22 6 1650 864.5 1407 1132 1932 637.0 3681 1.279 1.26
## ast 22 6 134 37.7 124 114 153 54.2 205 0.009 0.35
## trig 22 7 128 72.1 118 81 142 33.0 322 1.629 3.16
## platelet 22 0 312 107.6 301 252 384 76.0 517 -0.167 0.05
## protime 22 0 10 0.5 10 10 11 9.6 11 0.640 -0.56
## ---------------------------------------------------------------------------------------
## status: 2
## sex: f
## n miss mean sd median p25 p75 min max skew kurt
## time 137 0 1341 1036.3 1037 549 2071 41.0 3853 0.78 -0.4
## age 137 0 53 9.6 53 46 61 30.9 77 0.03 -0.5
## bili 137 0 6 6.2 3 1 7 0.3 28 1.50 1.6
## chol 137 44 430 294.8 344 260 468 127.0 1775 2.45 6.9
## albumin 137 0 3 0.5 3 3 4 2.0 5 -0.27 0.4
## copper 137 35 130 101.9 102 58 173 14.0 588 2.10 6.4
## alk.phos 137 34 2681 2762.9 1787 1057 2562 559.0 13862 2.26 4.8
## ast 137 34 145 60.3 137 103 177 28.4 338 0.81 0.9
## trig 137 45 143 83.3 121 92 171 50.0 598 2.58 10.1
## platelet 137 6 244 110.5 224 160 304 62.0 721 1.11 2.0
## protime 137 1 11 1.0 11 11 12 9.0 15 0.69 0.8
##
## p-values
## pNormal pNonNormal
## time 1.891e-16 1.128e-16
## age 2.380e-09 1.699e-08
## bili 2.610e-19 1.499e-24
## chol 1.615e-02 4.032e-02
## albumin 2.891e-07 1.164e-06
## copper 6.640e-13 3.932e-14
## alk.phos 8.635e-04 7.643e-05
## ast 1.309e-05 6.230e-07
## trig 7.392e-03 7.804e-03
## platelet 8.655e-03 2.246e-03
## protime 3.480e-12 1.221e-15
##
## =======================================================================================
##
## ### Summary of categorical variables ###
##
## status: 0
## sex: m
## var n miss level freq percent cum.percent
## trt 17 6 1 4 36.4 36.4
## 2 7 63.6 100.0
##
## sex 17 0 m 17 100.0 100.0
## f 0 0.0 100.0
##
## ascites 17 6 0 10 90.9 90.9
## 1 1 9.1 100.0
##
## hepato 17 6 0 4 36.4 36.4
## 1 7 63.6 100.0
##
## spiders 17 6 0 9 81.8 81.8
## 1 2 18.2 100.0
##
## edema 17 0 0 16 94.1 94.1
## 0.5 1 5.9 100.0
## 1 0 0.0 100.0
##
## stage 17 0 1 2 11.8 11.8
## 2 3 17.6 29.4
## 3 5 29.4 58.8
## 4 7 41.2 100.0
##
## ---------------------------------------------------------------------------------------
## status: 1
## sex: m
## var n miss level freq percent cum.percent
## trt 3 0 1 3 100.0 100.0
## 2 0 0.0 100.0
##
## sex 3 0 m 3 100.0 100.0
## f 0 0.0 100.0
##
## ascites 3 0 0 3 100.0 100.0
## 1 0 0.0 100.0
##
## hepato 3 0 0 2 66.7 66.7
## 1 1 33.3 100.0
##
## spiders 3 0 0 3 100.0 100.0
## 1 0 0.0 100.0
##
## edema 3 0 0 3 100.0 100.0
## 0.5 0 0.0 100.0
## 1 0 0.0 100.0
##
## stage 3 0 1 0 0.0 0.0
## 2 0 0.0 0.0
## 3 2 66.7 66.7
## 4 1 33.3 100.0
##
## ---------------------------------------------------------------------------------------
## status: 2
## sex: m
## var n miss level freq percent cum.percent
## trt 24 2 1 14 63.6 63.6
## 2 8 36.4 100.0
##
## sex 24 0 m 24 100.0 100.0
## f 0 0.0 100.0
##
## ascites 24 2 0 20 90.9 90.9
## 1 2 9.1 100.0
##
## hepato 24 2 0 9 40.9 40.9
## 1 13 59.1 100.0
##
## spiders 24 2 0 20 90.9 90.9
## 1 2 9.1 100.0
##
## edema 24 0 0 17 70.8 70.8
## 0.5 4 16.7 87.5
## 1 3 12.5 100.0
##
## stage 24 0 1 1 4.2 4.2
## 2 5 20.8 25.0
## 3 9 37.5 62.5
## 4 9 37.5 100.0
##
## ---------------------------------------------------------------------------------------
## status: 0
## sex: f
## var n miss level freq percent cum.percent
## trt 215 58 1 79 50.3 50.3
## 2 78 49.7 100.0
##
## sex 215 0 m 0 0.0 0.0
## f 215 100.0 100.0
##
## ascites 215 58 0 157 100.0 100.0
## 1 0 0.0 100.0
##
## hepato 215 58 0 104 66.2 66.2
## 1 53 33.8 100.0
##
## spiders 215 58 0 126 80.3 80.3
## 1 31 19.7 100.0
##
## edema 215 0 0 200 93.0 93.0
## 0.5 14 6.5 99.5
## 1 1 0.5 100.0
##
## stage 215 2 1 17 8.0 8.0
## 2 61 28.6 36.6
## 3 92 43.2 79.8
## 4 43 20.2 100.0
##
## ---------------------------------------------------------------------------------------
## status: 1
## sex: f
## var n miss level freq percent cum.percent
## trt 22 6 1 7 43.8 43.8
## 2 9 56.2 100.0
##
## sex 22 0 m 0 0.0 0.0
## f 22 100.0 100.0
##
## ascites 22 6 0 16 100.0 100.0
## 1 0 0.0 100.0
##
## hepato 22 6 0 5 31.2 31.2
## 1 11 68.8 100.0
##
## spiders 22 6 0 11 68.8 68.8
## 1 5 31.2 100.0
##
## edema 22 0 0 19 86.4 86.4
## 0.5 3 13.6 100.0
## 1 0 0.0 100.0
##
## stage 22 0 1 0 0.0 0.0
## 2 5 22.7 22.7
## 3 8 36.4 59.1
## 4 9 40.9 100.0
##
## ---------------------------------------------------------------------------------------
## status: 2
## sex: f
## var n miss level freq percent cum.percent
## trt 137 34 1 51 49.5 49.5
## 2 52 50.5 100.0
##
## sex 137 0 m 0 0.0 0.0
## f 137 100.0 100.0
##
## ascites 137 34 0 82 79.6 79.6
## 1 21 20.4 100.0
##
## hepato 137 34 0 28 27.2 27.2
## 1 75 72.8 100.0
##
## spiders 137 34 0 53 51.5 51.5
## 1 50 48.5 100.0
##
## edema 137 0 0 99 72.3 72.3
## 0.5 22 16.1 88.3
## 1 16 11.7 100.0
##
## stage 137 4 1 1 0.8 0.8
## 2 18 13.5 14.3
## 3 39 29.3 43.6
## 4 75 56.4 100.0
##
##
## p-values
## pApprox pExact
## trt 3.396e-01 3.872e-01
## sex 3.910e-88 1.293e-60
## ascites 3.538e-07 3.965e-08
## hepato 5.988e-08 7.539e-09
## spiders 6.333e-06 4.754e-06
## edema 1.099e-05 NA
## stage 8.605e-07 NA
## Constructor
tableOne <- CreateTableOne(vars = vars, strata = strataTwoVars, data = dataFrame)
## Print method
print(tableOne)
## Stratified by status:sex
## 0:m 1:m 2:m 0:f 1:f
## n 17 3 24 215 22
## time (mean (sd)) 2462.18 (1217.33) 1147.67 (785.78) 1584.88 (1120.46) 2322.95 (977.61) 1600.55 (750.70)
## trt = 2 (%) 7 (63.6) 0 (0.0) 8 (36.4) 78 (49.7) 9 (56.2)
## age (mean (sd)) 55.69 (10.65) 42.16 (11.97) 57.42 (10.34) 49.02 (10.28) 41.63 (5.67)
## sex = f (%) 0 (0.0) 0 (0.0) 0 (0.0) 215 (100.0) 22 (100.0)
## ascites = 1 (%) 1 (9.1) 0 (0.0) 2 (9.1) 0 (0.0) 0 (0.0)
## hepato = 1 (%) 7 (63.6) 1 (33.3) 13 (59.1) 53 (33.8) 11 (68.8)
## spiders = 1 (%) 2 (18.2) 0 (0.0) 2 (9.1) 31 (19.7) 5 (31.2)
## edema (%)
## 0 16 (94.1) 3 (100.0) 17 (70.8) 200 (93.0) 19 (86.4)
## 0.5 1 ( 5.9) 0 ( 0.0) 4 (16.7) 14 ( 6.5) 3 (13.6)
## 1 0 ( 0.0) 0 ( 0.0) 3 (12.5) 1 ( 0.5) 0 ( 0.0)
## bili (mean (sd)) 2.63 (2.62) 2.37 (1.15) 3.10 (2.25) 1.49 (1.83) 3.72 (3.80)
## chol (mean (sd)) 367.91 (234.99) 415.33 (201.32) 352.05 (149.18) 323.31 (159.87) 444.33 (361.62)
## albumin (mean (sd)) 3.47 (0.43) 3.75 (0.28) 3.55 (0.50) 3.60 (0.35) 3.45 (0.47)
## copper (mean (sd)) 128.82 (113.07) 215.33 (198.03) 158.68 (78.57) 62.22 (48.66) 106.88 (69.34)
## alk.phos (mean (sd)) 2482.25 (3052.94) 921.00 (196.50) 2189.02 (2243.18) 1514.78 (1481.83) 1650.38 (864.55)
## ast (mean (sd)) 112.28 (50.94) 110.73 (30.99) 128.38 (47.39) 106.94 (53.06) 133.75 (37.69)
## trig (mean (sd)) 131.82 (33.73) 165.00 (64.58) 129.76 (58.95) 110.21 (48.98) 127.73 (72.11)
## platelet (mean (sd)) 213.44 (72.17) 289.00 (65.18) 235.71 (93.92) 264.78 (88.83) 312.41 (107.56)
## protime (mean (sd)) 10.94 (0.80) 10.73 (0.51) 10.97 (1.07) 10.42 (0.92) 10.31 (0.53)
## stage (%)
## 1 2 (11.8) 0 ( 0.0) 1 ( 4.2) 17 ( 8.0) 0 ( 0.0)
## 2 3 (17.6) 0 ( 0.0) 5 (20.8) 61 (28.6) 5 (22.7)
## 3 5 (29.4) 2 (66.7) 9 (37.5) 92 (43.2) 8 (36.4)
## 4 7 (41.2) 1 (33.3) 9 (37.5) 43 (20.2) 9 (40.9)
## Stratified by status:sex
## 2:f p test
## n 137
## time (mean (sd)) 1340.50 (1036.28) <0.001
## trt = 2 (%) 52 (50.5) 0.340
## age (mean (sd)) 53.31 (9.63) <0.001
## sex = f (%) 137 (100.0) <0.001
## ascites = 1 (%) 21 (20.4) <0.001
## hepato = 1 (%) 75 (72.8) <0.001
## spiders = 1 (%) 50 (48.5) <0.001
## edema (%) <0.001
## 0 99 (72.3)
## 0.5 22 (16.1)
## 1 16 (11.7)
## bili (mean (sd)) 5.97 (6.16) <0.001
## chol (mean (sd)) 430.14 (294.85) 0.016
## albumin (mean (sd)) 3.33 (0.46) <0.001
## copper (mean (sd)) 130.39 (101.92) <0.001
## alk.phos (mean (sd)) 2680.93 (2762.92) 0.001
## ast (mean (sd)) 144.82 (60.27) <0.001
## trig (mean (sd)) 142.93 (83.28) 0.007
## platelet (mean (sd)) 243.73 (110.52) 0.009
## protime (mean (sd)) 11.23 (1.04) <0.001
## stage (%) <0.001
## 1 1 ( 0.8)
## 2 18 (13.5)
## 3 39 (29.3)
## 4 75 (56.4)
Functions
CreateTableOne
## function(vars, # character vector of variable names
## strata, # character vector of variable names
## data, # data frame
## test = TRUE, # whether to put p-values
## ## Test configuration for categorical data
## testApprox = chisq.test, # function for approximation test
## argsApprox = list(correct = TRUE), # arguments passed to testApprox
## testExact = fisher.test, # function for exact test
## argsExact = list(workspace = 2*10^5), # arguments passed to testExact
## ## Test configuration for continuous data
## testNormal = oneway.test, # test for normally distributed variables
## argsNormal = list(var.equal = TRUE), # arguments passed to testNormal
## testNonNormal = kruskal.test, # test for nonnormally distributed variables
## argsNonNormal = list(NULL) # arguments passed to testNonNormal
## ) {
##
## ### Data check
## ## Check if the data given is a dataframe
## ModuleStopIfNotDataFrame(data)
##
## ## Check if variables exist. Drop them if not.
## vars <- ModuleReturnVarsExist(vars, data)
##
## ## Abort if no variables exist at this point
## ModuleStopIfNoVarsLeft(vars)
##
## ## Toggle test FALSE if no strata is given
## test <- ModuleReturnFalseIfNoStrata(strata, test)
##
## ## Get the classes of the variables
## varClasses <- sapply(data[vars], class)
## varFactors <- names(varClasses[varClasses == "factor"])
## varNumerics <- names(varClasses[varClasses == "numeric" | varClasses == "integer"])
##
## ## Create a logical vector indicator for factors
## logiFactors <- sapply(data[vars], is.factor)
##
## ## Create lists of arguments
## argsCreateContTable <- list(data = data,
## test = test,
## testNormal = testNormal,
## argsNormal = argsNormal,
## testNonNormal = testNonNormal,
## argsNonNormal = argsNonNormal
## )
## argsCreateCatTable <- list(data = data,
## test = test,
## testApprox = testApprox,
## argsApprox = argsApprox,
## testExact = testExact,
## argsExact = argsExact
## )
## ## Add strata = strata for argument only if strata is given
## if(!missing(strata)) {
##
## argsCreateContTable <- c(list(strata = strata), argsCreateContTable)
## argsCreateCatTable <- c(list(strata = strata), argsCreateCatTable)
## }
##
##
## ## Condition on the absence of factor/numeric
## if (length(varNumerics) == 0) {
## ## No numerics
## cat('NOTE: no numeric/integer variables supplied, using CreateCatTable()\n')
## CatTable <- do.call(CreateCatTable,
## args = c(list(vars = varFactors), argsCreateCatTable))
## return(CatTable)
##
## } else if (length(varFactors) == 0) {
## ## No factors
## cat('NOTE: no factor variables supplied, using CreateContTable()\n')
## ContTable <- do.call(CreateContTable,
## args = c(list(vars = varNumerics), argsCreateContTable))
## return(ContTable)
##
## ### Proceed if both types of variables are present (both factors and numerics)
## } else if ((length(varFactors) > 0) & (length(varNumerics) > 0)) {
##
## ## Create a list of constructors
## listOfConstructors <- list(CreateContTable = CreateContTable,
## CreateCatTable = CreateCatTable)
## ## CreateCatTable for categorical. CreateContTable for continuous.
## listOfConstructors <- listOfConstructors[logiFactors + 1]
## ## Create a list of arguments
## listOfArgs <- list(argsCreateContTable = argsCreateContTable,
## argsCreateCatTable = argsCreateCatTable)
## ## argsCreateCatTable for categorical. argsCreateContTable for continuous.
## listOfArgs <- listOfArgs[logiFactors + 1]
##
## ## Create a list of tables
## TableOne <- sapply(seq_along(listOfConstructors),
## FUN = function(i) {
##
## args <- c(list(vars = vars[i]), # vector element
## listOfArgs[[i]]) # list element
##
## do.call(listOfConstructors[[i]], # list element
## args = args)
## },
## simplify = FALSE)
##
## ## Give variable names
## names(TableOne) <- vars
##
##
## ## Create ContTable and CatTable objects (this is redundant)
## ## Aggregated ContTable
## ContTable <- do.call(CreateContTable,
## args = c(list(vars = varNumerics), argsCreateContTable))
## ## Aggregated CatTable
## CatTable <- do.call(CreateCatTable,
## args = c(list(vars = varFactors), argsCreateCatTable))
##
## ## Create a list
## listOfTables <- list(TableOne = TableOne,
## ContTable = ContTable,
## CatTable = CatTable
## )
##
## ## Give a class
## class(listOfTables) <- "TableOne"
##
## ## Return the object
## return(listOfTables)
## }
## }
## <environment: namespace:tableone>
summary.TableOne
## function(object, digits = 1, ...) {
##
## ## object and ... required to be consistent with generic summary(object, ...)
## listCatContTables <- object
##
## ## Continuous
## cat("\n ### Summary of continuous variables ###\n\n")
## summary(listCatContTables$ContTable, digits = digits)
##
## ## Separator
## cat("\n=======================================================================================\n")
##
## ## Categorical
## cat("\n ### Summary of categorical variables ### \n\n")
## summary(listCatContTables$CatTable, digits = digits)
## }
## <environment: namespace:tableone>
print.TableOne
## function(x, missing = FALSE,
## quote = FALSE,
## test = TRUE, catDigits = 1, contDigits = 2, pDigits = 3,
##
## ## Categorical options
## format = c("fp","f","p","pf")[1], # Format f_requency and/or p_ercent
## exact = NULL,
##
## ## Continuous options
## nonnormal = NULL,
## minMax = FALSE,
##
## ## Common options
## explain = TRUE,
## printToggle = TRUE,
## ...) {
##
## ## Get the mixed element only
## TableOne <- x$TableOne
##
## ## Get the Cont/Cat status (1st of classes)
## classOfTables <- sapply(TableOne, class)[1,]
## digits <- c(CatTable = catDigits, ContTable = contDigits)[classOfTables]
##
##
## ## Get the formatted tables
## formattedTables <- sapply(seq_along(TableOne),
## FUN = function(i) {
##
## print(TableOne[[i]], printToggle = FALSE, test = test, explain = explain,
## digits = digits[i],
## ## print.CatTable arguments
## format = format, exact = exact,
## showAllLevels = FALSE, # must be FALSE to get same column counts
## ## print.ContTable argument
## nonnormal = nonnormal, minMax = minMax
## ) # Method dispatch at work
## },
## simplify = FALSE)
##
## ## Get the column width information (strata x vars format)
## columnWidthInfo <- sapply(formattedTables,
## FUN = function(matObj) {
##
## attributes(matObj)$vecColWidths
## },
## simplify = FALSE)
## columnWidthInfo <- do.call(cbind, columnWidthInfo)
##
## ## Get the max values for each stratum
## vecMaxValues <- apply(columnWidthInfo, MARGIN = 1, FUN = max, na.rm = TRUE)
##
## ## Get the difference (value - max. Must be negated)
## nSpacesToAdd <- sweep(x = columnWidthInfo,
## MARGIN = 1,
## STATS = vecMaxValues,
## FUN = "-"
## )
## nSpacesToAdd <- -1 * nSpacesToAdd
##
##
## ## For each matrix, add spaces
## spaceFormattedTables <- sapply(seq_along(formattedTables),
## FUN = function(i) {
##
## ## For i-th variable
## matObj <- formattedTables[[i]]
## nSpaces <- nSpacesToAdd[, i]
##
## ## For j-th stratum (column). Be aware of the p-value column
## for (j in seq_along(nSpaces)) {
##
## matObj[, j] <- paste0(paste0(rep(" ", nSpaces[j]), collapse = ""),
## matObj[, j])
## }
##
## ## Return the adjusted table
## matObj
## },
## simplify = FALSE)
##
## ## Set aside the n row (stratum sizes). 1st element, 1st row
## stratumSizesRow <- spaceFormattedTables[[1]][1, , drop = FALSE]
##
## ## Remove 1st rows from each table (stratum sizes)
## spaceFormattedTables <- sapply(spaceFormattedTables,
## FUN = function(matObj) {
##
## matObj[-1, , drop = FALSE]
## },
## simplify = FALSE)
##
## ## Row-combin n and all variables
## out <- do.call(rbind, c(list(stratumSizesRow), spaceFormattedTables))
##
## ## Add stratification information to the column header (This is also in the constructor)
## if (length(TableOne[[1]]) > 1 ) {
## ## Combine variable names with : in between
## strataVarName <- attributes(TableOne[[1]])$strataVarName
##
## ## Create strata string
## strataString <- paste0("Stratified by ", strataVarName)
##
## ## Name the row dimension with it. 1st dimension name should be empty.
## names(dimnames(out)) <- c("", strataString)
## } else {
##
## names(dimnames(out)) <- c("", "")
## }
##
## ## Modular version of quote/print toggle.
## out <- ModuleQuoteAndPrintMat(matObj = out,
## quote = quote, printToggle = printToggle)
##
## ## Return the result
## return(invisible(out))
## }
## <environment: namespace:tableone>