data source: “ArMorr DBP DNA 12 23 2015.xlsx”

Original Data

Baseline information

##    Variable              DBP7.A            DBP7.AG.G P.Value
## 1       Age  64.5 + 14.9 (1065)   61.2 + 15.7 (1210)   <.001
## 2       Sex 613 / 1065 (57.6 %)  627 / 1210 (51.8 %)   0.007
## 3     Race2 920 / 1065 (86.4 %)  441 / 1210 (36.4 %)   <.001
## 4    Ethnic 151 / 1065 (14.2 %)  136 / 1210 (11.2 %)   0.041
## 5  diabetes 481 / 1058 (45.5 %)  521 / 1207 (43.2 %)   0.291
## 6  catheter  666 / 985 (67.6 %)  717 / 1113 (64.4 %)   0.135
## 7       BMI   27.3 + 7.5 (1064)    28.1 + 8.2 (1210)   0.026
## 8     sbp14 141.1 + 22.4 (1052)  145.8 + 22.6 (1205)   <.001
## 9     dbp14  71.6 + 13.1 (1052)   75.2 + 13.2 (1205)   <.001
## 10     ca14    8.5 + 0.8 (1041)     8.4 + 0.9 (1195)   0.224
## 11     cr14    5.8 + 2.4 (1019)     6.8 + 3.0 (1179)   <.001
## 12    alk14   98.5 + 73.6 (978)   98.5 + 64.2 (1128)   0.988
## 13    alb14    3.5 + 0.5 (1049)     3.5 + 0.5 (1202)   0.076
## 14    pth14 266.1 + 265.6 (822)  314.8 + 259.5 (949)   <.001
## 15   phos14    4.7 + 1.6 (1045)     4.7 + 1.6 (1192)   0.879
## 16    wbc14    8.8 + 3.2 (1018)     8.4 + 3.0 (1179)   0.003
## 17   ferr14 300.5 + 369.2 (972) 325.0 + 344.0 (1130)   0.116
## 18   Ivvitd 684 / 1065 (64.2 %)  881 / 1210 (72.8 %)   <.001

Kaplan Meier Curve

km_vd1 <- survfit(Surv(fu, Death)~group, data=subset(dat, Ivvitd==1))
ggkmTable(km_vd1, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/ IV-VitD")

km_vd0 <- survfit(Surv(fu, Death)~group, data=subset(dat, Ivvitd==0))
ggkmTable(km_vd0, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/o IV-VitD")

Cox model

cox.fit <- coxph(Surv(fu, Death)~group*Ivvitd+Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter, dat)
summary(cox.fit)
## Call:
## coxph(formula = Surv(fu, Death) ~ group * Ivvitd + Age + Race2 + 
##     diabetes + pth14 + ca14 + phos14 + alb14 + catheter, data = dat)
## 
##   n= 1602, number of events= 224 
##    (691 observations deleted due to missingness)
## 
##                      coef  exp(coef)   se(coef)      z Pr(>|z|)    
## group0         -0.3515929  0.7035665  0.1771459 -1.985   0.0472 *  
## Ivvitd0        -0.2366649  0.7892557  0.2120665 -1.116   0.2644    
## Age             0.0427557  1.0436828  0.0054147  7.896 2.89e-15 ***
## Race2NW         0.0361432  1.0368043  0.1678274  0.215   0.8295    
## diabetes0       0.0146158  1.0147231  0.1372712  0.106   0.9152    
## pth14           0.0002898  1.0002898  0.0002792  1.038   0.2993    
## ca14            0.1480323  1.1595503  0.0939151  1.576   0.1150    
## phos14          0.0265235  1.0268784  0.0457545  0.580   0.5621    
## alb14          -0.8100373  0.4448415  0.1470286 -5.509 3.60e-08 ***
## catheter0      -0.2846848  0.7522513  0.1498894 -1.899   0.0575 .  
## group0:Ivvitd0  0.4823540  1.6198831  0.2972213  1.623   0.1046    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                exp(coef) exp(-coef) lower .95 upper .95
## group0            0.7036     1.4213    0.4972    0.9956
## Ivvitd0           0.7893     1.2670    0.5208    1.1960
## Age               1.0437     0.9581    1.0327    1.0548
## Race2NW           1.0368     0.9645    0.7462    1.4406
## diabetes0         1.0147     0.9855    0.7754    1.3280
## pth14             1.0003     0.9997    0.9997    1.0008
## ca14              1.1596     0.8624    0.9646    1.3939
## phos14            1.0269     0.9738    0.9388    1.1232
## alb14             0.4448     2.2480    0.3335    0.5934
## catheter0         0.7523     1.3293    0.5608    1.0091
## group0:Ivvitd0    1.6199     0.6173    0.9047    2.9005
## 
## Concordance= 0.707  (se = 0.019 )
## Rsquare= 0.071   (max possible= 0.87 )
## Likelihood ratio test= 117.9  on 11 df,   p=0
## Wald test            = 110.5  on 11 df,   p=0
## Score (logrank) test = 112.2  on 11 df,   p=0
logit.fit <- glm(Death~group*Ivvitd+Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter,
                 dat, family="binomial")
summary(logit.fit)
## 
## Call:
## glm(formula = Death ~ group * Ivvitd + Age + Race2 + diabetes + 
##     pth14 + ca14 + phos14 + alb14 + catheter, family = "binomial", 
##     data = dat)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.3761  -0.5934  -0.4395  -0.2844   2.7241  
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -3.1260089  0.9351379  -3.343 0.000829 ***
## group0         -0.3920266  0.1977122  -1.983 0.047388 *  
## Ivvitd0        -0.2248636  0.2393305  -0.940 0.347447    
## Age             0.0474725  0.0060647   7.828 4.97e-15 ***
## Race2NW         0.0380392  0.1865192   0.204 0.838398    
## diabetes0       0.0246113  0.1536290   0.160 0.872724    
## pth14           0.0003259  0.0003271   0.996 0.319015    
## ca14            0.1508154  0.1031031   1.463 0.143532    
## phos14          0.0308408  0.0514146   0.600 0.548609    
## alb14          -0.9021983  0.1681614  -5.365 8.09e-08 ***
## catheter0      -0.3122469  0.1649014  -1.894 0.058287 .  
## group0:Ivvitd0  0.4583801  0.3356088   1.366 0.171996    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1296.5  on 1601  degrees of freedom
## Residual deviance: 1180.3  on 1590  degrees of freedom
##   (691 observations deleted due to missingness)
## AIC: 1204.3
## 
## Number of Fisher Scoring iterations: 5

Matched Sample

m.out <- matchit(group~Age, data=na.exclude(subset(dat, select=c("Age","group", "MRN"))), method="nearest")
m.data1 <- match.data(m.out)
dat.m <- subset(dat, MRN %in% m.data1$MRN)

Baseline information: matched sample

##    Variable              DBP7.A           DBP7.AG.G P.Value
## 1       Age  64.5 + 14.9 (1065)  63.8 + 14.5 (1066)   0.238
## 2       Sex 613 / 1065 (57.6 %) 549 / 1066 (51.5 %)   0.006
## 3     Race2 920 / 1065 (86.4 %) 400 / 1066 (37.5 %)   <.001
## 4    Ethnic 151 / 1065 (14.2 %) 118 / 1066 (11.1 %)   0.036
## 5  diabetes 481 / 1058 (45.5 %) 473 / 1063 (44.5 %)   0.686
## 6  catheter  666 / 985 (67.6 %)  626 / 978 (64.0 %)   0.102
## 7       BMI   27.3 + 7.5 (1064)   27.9 + 8.0 (1066)   0.107
## 8     sbp14 141.1 + 22.4 (1052) 145.5 + 23.0 (1061)   <.001
## 9     dbp14  71.6 + 13.1 (1052)  74.2 + 13.2 (1061)   <.001
## 10     ca14    8.5 + 0.8 (1041)    8.4 + 0.9 (1054)   0.351
## 11     cr14    5.8 + 2.4 (1019)    6.5 + 2.8 (1038)   <.001
## 12    alk14   98.5 + 73.6 (978)  97.6 + 63.0 (1000)   0.778
## 13    alb14    3.5 + 0.5 (1049)    3.5 + 0.5 (1058)   0.117
## 14    pth14 266.1 + 265.6 (822) 308.2 + 255.6 (830)   0.001
## 15   phos14    4.7 + 1.6 (1045)    4.7 + 1.5 (1050)   0.313
## 16    wbc14    8.8 + 3.2 (1018)    8.4 + 3.0 (1038)   0.005
## 17   ferr14 300.5 + 369.2 (972) 326.6 + 342.4 (998)   0.104
## 18   Ivvitd 684 / 1065 (64.2 %) 773 / 1066 (72.5 %)   <.001

Kaplan Meier Curve: matched sample

km_vd1 <- survfit(Surv(fu, Death)~group, data=subset(dat.m, Ivvitd==1))
ggkmTable(km_vd1, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/ IV-VitD")

km_vd0 <- survfit(Surv(fu, Death)~group, data=subset(dat.m, Ivvitd==0))
ggkmTable(km_vd0, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/o IV-VitD")

Cox model: matched sample

cox.match.fit <- coxph(Surv(fu, Death)~group*Ivvitd                       +Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter, dat.m)
summary(cox.match.fit)
## Call:
## coxph(formula = Surv(fu, Death) ~ group * Ivvitd + Age + Race2 + 
##     diabetes + pth14 + ca14 + phos14 + alb14 + catheter, data = dat.m)
## 
##   n= 1496, number of events= 217 
##    (635 observations deleted due to missingness)
## 
##                      coef  exp(coef)   se(coef)      z Pr(>|z|)    
## group0         -0.3508375  0.7040982  0.1797032 -1.952   0.0509 .  
## Ivvitd0        -0.2387524  0.7876099  0.2122580 -1.125   0.2607    
## Age             0.0435306  1.0444920  0.0057733  7.540 4.70e-14 ***
## Race2NW         0.0294662  1.0299046  0.1712257  0.172   0.8634    
## diabetes0       0.0072697  1.0072961  0.1399232  0.052   0.9586    
## pth14           0.0003269  1.0003270  0.0002797  1.169   0.2426    
## ca14            0.1585802  1.1718459  0.0958676  1.654   0.0981 .  
## phos14          0.0077155  1.0077453  0.0473591  0.163   0.8706    
## alb14          -0.7793241  0.4587159  0.1502253 -5.188 2.13e-07 ***
## catheter0      -0.2681912  0.7647615  0.1517006 -1.768   0.0771 .  
## group0:Ivvitd0  0.4400753  1.5528241  0.3043450  1.446   0.1482    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                exp(coef) exp(-coef) lower .95 upper .95
## group0            0.7041     1.4203    0.4951    1.0014
## Ivvitd0           0.7876     1.2697    0.5196    1.1939
## Age               1.0445     0.9574    1.0327    1.0564
## Race2NW           1.0299     0.9710    0.7363    1.4406
## diabetes0         1.0073     0.9928    0.7657    1.3251
## pth14             1.0003     0.9997    0.9998    1.0009
## ca14              1.1718     0.8534    0.9711    1.4141
## phos14            1.0077     0.9923    0.9184    1.1058
## alb14             0.4587     2.1800    0.3417    0.6158
## catheter0         0.7648     1.3076    0.5681    1.0296
## group0:Ivvitd0    1.5528     0.6440    0.8552    2.8196
## 
## Concordance= 0.701  (se = 0.02 )
## Rsquare= 0.069   (max possible= 0.877 )
## Likelihood ratio test= 106.6  on 11 df,   p=0
## Wald test            = 99.79  on 11 df,   p=2.22e-16
## Score (logrank) test = 101.5  on 11 df,   p=1.11e-16
logit.match.fit <- glm(Death~group*Ivvitd+Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter, 
                       dat.m, family="binomial")
summary(logit.match.fit)
## 
## Call:
## glm(formula = Death ~ group * Ivvitd + Age + Race2 + diabetes + 
##     pth14 + ca14 + phos14 + alb14 + catheter, family = "binomial", 
##     data = dat.m)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.3496  -0.6062  -0.4505  -0.3000   2.7554  
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -3.3416108  0.9663733  -3.458 0.000544 ***
## group0         -0.3941327  0.2009041  -1.962 0.049786 *  
## Ivvitd0        -0.2292841  0.2397111  -0.957 0.338819    
## Age             0.0485020  0.0064643   7.503 6.24e-14 ***
## Race2NW         0.0336756  0.1903740   0.177 0.859593    
## diabetes0       0.0165451  0.1567360   0.106 0.915931    
## pth14           0.0003774  0.0003312   1.139 0.254583    
## ca14            0.1634226  0.1054700   1.549 0.121269    
## phos14          0.0078592  0.0531312   0.148 0.882405    
## alb14          -0.8638560  0.1715638  -5.035 4.77e-07 ***
## catheter0      -0.2941352  0.1672042  -1.759 0.078554 .  
## group0:Ivvitd0  0.4056065  0.3437725   1.180 0.238052    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1238.8  on 1495  degrees of freedom
## Residual deviance: 1133.7  on 1484  degrees of freedom
##   (635 observations deleted due to missingness)
## AIC: 1157.7
## 
## Number of Fisher Scoring iterations: 5

Limit Age under 80

dat.age <- subset(dat, Age <= 80 & !is.na(Age))

Baseline information: Age <= 80

##    Variable              DBP7.A           DBP7.AG.G P.Value
## 1       Age  64.5 + 14.9 (1065)  63.8 + 14.5 (1066)   0.238
## 2       Sex 613 / 1065 (57.6 %) 549 / 1066 (51.5 %)   0.006
## 3     Race2 920 / 1065 (86.4 %) 400 / 1066 (37.5 %)   <.001
## 4    Ethnic 151 / 1065 (14.2 %) 118 / 1066 (11.1 %)   0.036
## 5  diabetes 481 / 1058 (45.5 %) 473 / 1063 (44.5 %)   0.686
## 6  catheter  666 / 985 (67.6 %)  626 / 978 (64.0 %)   0.102
## 7       BMI   27.3 + 7.5 (1064)   27.9 + 8.0 (1066)   0.107
## 8     sbp14 141.1 + 22.4 (1052) 145.5 + 23.0 (1061)   <.001
## 9     dbp14  71.6 + 13.1 (1052)  74.2 + 13.2 (1061)   <.001
## 10     ca14    8.5 + 0.8 (1041)    8.4 + 0.9 (1054)   0.351
## 11     cr14    5.8 + 2.4 (1019)    6.5 + 2.8 (1038)   <.001
## 12    alk14   98.5 + 73.6 (978)  97.6 + 63.0 (1000)   0.778
## 13    alb14    3.5 + 0.5 (1049)    3.5 + 0.5 (1058)   0.117
## 14    pth14 266.1 + 265.6 (822) 308.2 + 255.6 (830)   0.001
## 15   phos14    4.7 + 1.6 (1045)    4.7 + 1.5 (1050)   0.313
## 16    wbc14    8.8 + 3.2 (1018)    8.4 + 3.0 (1038)   0.005
## 17   ferr14 300.5 + 369.2 (972) 326.6 + 342.4 (998)   0.104
## 18   Ivvitd 684 / 1065 (64.2 %) 773 / 1066 (72.5 %)   <.001

Kaplan Meier Curve: Age <= 80

km_vd1 <- survfit(Surv(fu, Death)~group, data=subset(dat.age, Ivvitd==1))
ggkmTable(km_vd1, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/ IV-VitD")

km_vd0 <- survfit(Surv(fu, Death)~group, data=subset(dat.age, Ivvitd==0))
ggkmTable(km_vd0, ystratalabs=c("A", "AG/G"), timeby=50, main="DBP 7: A vs. AG/G w/o IV-VitD")

Cox model: Age <= 80

cox.age.fit <- coxph(Surv(fu, Death)~group*Ivvitd+Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter, dat.age)
summary(cox.age.fit)
## Call:
## coxph(formula = Surv(fu, Death) ~ group * Ivvitd + Age + Race2 + 
##     diabetes + pth14 + ca14 + phos14 + alb14 + catheter, data = dat.age)
## 
##   n= 1387, number of events= 164 
##    (589 observations deleted due to missingness)
## 
##                      coef  exp(coef)   se(coef)      z Pr(>|z|)    
## group0         -0.5204377  0.5942604  0.2104122 -2.473   0.0134 *  
## Ivvitd0        -0.1815385  0.8339861  0.2420335 -0.750   0.4532    
## Age             0.0453419  1.0463856  0.0072040  6.294 3.09e-10 ***
## Race2NW         0.1154336  1.1223599  0.1939430  0.595   0.5517    
## diabetes0       0.1930037  1.2128873  0.1593097  1.211   0.2257    
## pth14           0.0004095  1.0004096  0.0003144  1.303   0.1927    
## ca14            0.2160911  1.2412154  0.1053052  2.052   0.0402 *  
## phos14          0.0676704  1.0700126  0.0538971  1.256   0.2093    
## alb14          -1.0424224  0.3525995  0.1715833 -6.075 1.24e-09 ***
## catheter0      -0.2913284  0.7472702  0.1738437 -1.676   0.0938 .  
## group0:Ivvitd0  0.5079809  1.6619322  0.3479720  1.460   0.1443    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                exp(coef) exp(-coef) lower .95 upper .95
## group0            0.5943     1.6828    0.3934    0.8976
## Ivvitd0           0.8340     1.1991    0.5190    1.3402
## Age               1.0464     0.9557    1.0317    1.0613
## Race2NW           1.1224     0.8910    0.7674    1.6414
## diabetes0         1.2129     0.8245    0.8876    1.6574
## pth14             1.0004     0.9996    0.9998    1.0010
## ca14              1.2412     0.8057    1.0097    1.5257
## phos14            1.0700     0.9346    0.9627    1.1892
## alb14             0.3526     2.8361    0.2519    0.4936
## catheter0         0.7473     1.3382    0.5315    1.0506
## group0:Ivvitd0    1.6619     0.6017    0.8403    3.2871
## 
## Concordance= 0.699  (se = 0.023 )
## Rsquare= 0.061   (max possible= 0.817 )
## Likelihood ratio test= 87.33  on 11 df,   p=5.54e-14
## Wald test            = 80.13  on 11 df,   p=1.39e-12
## Score (logrank) test = 81.64  on 11 df,   p=7.111e-13
logit.age.fit <- glm(Death~group*Ivvitd+Age+Race2+diabetes+pth14+ca14+phos14+alb14+catheter, 
                     dat.age, family="binomial")
summary(logit.age.fit)
## 
## Call:
## glm(formula = Death ~ group * Ivvitd + Age + Race2 + diabetes + 
##     pth14 + ca14 + phos14 + alb14 + catheter, family = "binomial", 
##     data = dat.age)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.2643  -0.5534  -0.4142  -0.2758   2.7936  
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -3.3673316  1.0557562  -3.189  0.00143 ** 
## group0         -0.5444511  0.2307031  -2.360  0.01828 *  
## Ivvitd0        -0.1297259  0.2682250  -0.484  0.62864    
## Age             0.0482105  0.0078067   6.176 6.59e-10 ***
## Race2NW         0.1215431  0.2129111   0.571  0.56809    
## diabetes0       0.1803949  0.1754424   1.028  0.30384    
## pth14           0.0004735  0.0003624   1.306  0.19147    
## ca14            0.2200422  0.1152602   1.909  0.05625 .  
## phos14          0.0644830  0.0578398   1.115  0.26491    
## alb14          -1.1003557  0.1919241  -5.733 9.85e-09 ***
## catheter0      -0.2970883  0.1885720  -1.575  0.11515    
## group0:Ivvitd0  0.4074076  0.3856602   1.056  0.29079    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1008.09  on 1386  degrees of freedom
## Residual deviance:  924.15  on 1375  degrees of freedom
##   (589 observations deleted due to missingness)
## AIC: 948.15
## 
## Number of Fisher Scoring iterations: 5