Contribution of lifestyle risk factors to fracture risks

Study protocol

Aim: to quantify the contribution of lifestyle factors to the variability of the risk of (i) any fracture and (ii) hip fracture Design: - Data from all participants from MrOS/SOF with data on 1+ lifestyle factors (smoking, drinking, physcial activity, calcium use, protein use) - Although lifestyle factors are time varying, only factors at baseline are used (Need to be discussed) Analysis plan: - Sex- and fracture site-specific - Classification: + Smoking (Current vs. Never/past) + Drinking (High vs. No, Low, Moderate) - Might consider alternative of (High/Moderate vs. Low/No) + Physical activity (None/Low vs. Moderate/High) + Calcium uptake (No vs. Yes) + Protein (No vs. Yes) - Steps: + Cox’s model to quantify the contribution of each of these 5 lifestyle factors to fracture risk, on top of the Garvan fracture risk factors (age, BMD, falls and prior fractures) + Descriptive analysis to obtain the prevalence of each combination + Calculate Heuristic population attributable risk (PAR)

Data set-up

data = read.csv("C:\\Thach\\Research projects\\PAR for lifestyle factors\\SOF_MrOS_Nick_lifestyle_25jul24.csv")
head(data)
##   data ID Visit gender age    race education weight height      BMI no_falls
## 1  SOF  1     2      F  69 1:WHITE         9   67.3  150.5 29.71270        2
## 2  SOF  2     2      F  84 1:WHITE        10   68.4  151.8 29.68333        1
## 3  SOF  3     2      F  75 1:WHITE        12   72.7  151.0 31.88457        3
## 4  SOF  4     2      F  67 1:WHITE        12   60.6  155.1 25.19121        1
## 5  SOF  5     2      F  84 1:WHITE        17   44.7  157.0 18.13461        0
## 6  SOF  6     2      F  71 1:WHITE        15   84.1  161.6 32.20426        0
##   fx50 physical hypertension copd parkinson cancer rheumatoid cvd renal
## 1    1        0            0    0         0      0          0   0     0
## 2    1        0            1    0         0      0          0   1     0
## 3    0        1            0    1         0      1          0   0     0
## 4    0        1            0    0         0      1          0   0     0
## 5    0        0            0    0         0      0          0   0     1
## 6    0        1            1    0         1      0          0   0     0
##   depression diabetes MedYes DeathX fnbmd time2visit anyfx time2any hipfx
## 1          0        0      0      0 0.656          0     0  17.2238     0
## 2          0        2      0      1 0.585          0     0   6.5325     0
## 3          0        0      1      0 0.654          0     0  18.6366     0
## 4          0        0      1      0 0.842          0     0  19.7481     0
## 5          0        0      0      0 0.487          0     0  14.8720     0
## 6          0        0      0      0 0.851          0     0  19.6167     0
##   time2hip death  time2end      Tscore        Osteo smoke physical4   drink4
## 1  17.2238     0 17.223819 -1.68333333   Osteopenia  Past        No      Low
## 2   6.5325     1  6.532512 -2.27500000   Osteopenia Never        No       No
## 3  18.6366     0 18.636550 -1.70000000   Osteopenia  Past        No Moderate
## 4  19.7481     0 19.748118 -0.13333333       Normal Never        No       No
## 5  14.8720     0 14.872005 -3.09166667 Osteoporosis Never        No       No
## 6  19.6167     0 19.616701 -0.05833333       Normal Never        No       No
##    coffee4 calcium2 protein2
## 1      Low     1787      210
## 2      Low     6727      336
## 3 Moderate     5316      448
## 4 Moderate     8666      484
## 5 Moderate     5216      317
## 6 Moderate     1956      308

Data management

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data = data %>% mutate(race.n = case_when(race == "1:WHITE" ~ "1_White",
                                        race == "2:AFRICAN AMERICAN" ~ "2_African",
                                        race == "3:ASIAN" ~ "3_Asian",
                                        race == "4:NATIVE HAWIIAN OR OTHER PACIFIC ISLANDER" | race == "5:AMERICAN INDIAN OR ALASKAN NATIVE" | race == "6:MULTI RACIAL" | race == "7:UNKNOWN" ~ "0_Other"))

data = data %>% mutate(age_bin = case_when(age < 75 ~ "1.Age< 75",
                                           age >= 75 ~ "2.Age>= 75"))

data = data %>% mutate(bmd_bin = case_when(Tscore > -2.5 ~ "1.BMD> -2.5",
                                           Tscore <= -2.5 ~ "2.BMD<= -2.5"))

data = data %>% mutate(fall_bin = case_when(no_falls == 0 ~ "1.No falls",
                                            no_falls > 0 ~ "2.Falls 1+"))

data = data %>% mutate(fx50_bin = case_when(fx50 == 0 ~ "1.No fx",
                                            fx50 > 0 ~ "2.Fx 1+"))

data = data %>% mutate(smoke_bin = case_when(smoke == "Never" | smoke == "Past" ~ "1.No/past smoking",
                                             smoke == "Current" ~ "2.Current smoking"))

data = data %>% mutate(drink_bin = case_when(drink4 == "No" | drink4 == "Low" | drink4 == "Moderate" ~ "1.Less drinking",
                                             drink4 == "High" ~ "2.Excessive drinking"))

data = data %>% mutate(activity_bin = case_when(physical4 == "Moderate" | physical4 == "High" ~ "1.Proactive",
                                                physical4 == "No" | physical4 == "Low" ~ "2.Less active"))

data = data %>% mutate(calci_bin = case_when(calcium2 >= 1000 ~ "1.Sufficient Calcium",
                                           calcium2 < 1000 ~ "2.Insufficient Calcium"))

1. MEN

1.1 Descriptive analysis

men = subset(data, gender == "M")

library(table1)
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
table1(~ age + as.factor(age_bin) + race + fnbmd + Tscore + as.factor(bmd_bin) + as.factor(no_falls) + as.factor(fall_bin) + as.factor(fx50) + as.factor(fx50_bin) + as.factor(smoke) + as.factor(smoke_bin) + drink4 + as.factor(drink_bin) + physical4 + as.factor(activity_bin) + calcium2 + as.factor(calci_bin) + protein2 + as.factor(education) + BMI + as.factor(cvd) + as.factor(hypertension) + as.factor(copd) + as.factor(diabetes) + as.factor(cancer) + as.factor(renal) + as.factor(parkinson) + as.factor(depression) + as.factor(rheumatoid) + as.factor(death) | anyfx, data = men, render.continuous = c(. = "Median [Q1, Q3]"))
## Warning in table1.formula(~age + as.factor(age_bin) + race + fnbmd + Tscore + :
## Terms to the right of '|' in formula 'x' define table columns and are expected
## to be factors with meaningful labels.
0
(N=4908)
1
(N=1084)
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0] 74.0 [70.0, 78.0] 73.0 [69.0, 78.0]
as.factor(age_bin)
1.Age< 75 2909 (59.3%) 567 (52.3%) 3476 (58.0%)
2.Age>= 75 1999 (40.7%) 517 (47.7%) 2516 (42.0%)
race
1:WHITE 4368 (89.0%) 1016 (93.7%) 5384 (89.9%)
2:AFRICAN AMERICAN 226 (4.6%) 18 (1.7%) 244 (4.1%)
3:ASIAN 166 (3.4%) 26 (2.4%) 192 (3.2%)
4:NATIVE HAWIIAN OR OTHER PACIFIC ISLANDER 6 (0.1%) 1 (0.1%) 7 (0.1%)
5:AMERICAN INDIAN OR ALASKAN NATIVE 6 (0.1%) 1 (0.1%) 7 (0.1%)
6:MULTI RACIAL 58 (1.2%) 3 (0.3%) 61 (1.0%)
7:UNKNOWN 78 (1.6%) 19 (1.8%) 97 (1.6%)
fnbmd
Median [Q1, Q3] 0.783 [0.707, 0.870] 0.728 [0.652, 0.812] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.10 [-1.66, -0.466] -1.50 [-2.06, -0.894] -1.17 [-1.73, -0.539]
as.factor(bmd_bin)
1.BMD> -2.5 4721 (96.2%) 976 (90.0%) 5697 (95.1%)
2.BMD<= -2.5 187 (3.8%) 108 (10.0%) 295 (4.9%)
as.factor(no_falls)
0 3924 (80.0%) 801 (73.9%) 4725 (78.9%)
1 984 (20.0%) 283 (26.1%) 1267 (21.1%)
as.factor(fall_bin)
1.No falls 3924 (80.0%) 801 (73.9%) 4725 (78.9%)
2.Falls 1+ 984 (20.0%) 283 (26.1%) 1267 (21.1%)
as.factor(fx50)
0 4141 (84.4%) 820 (75.6%) 4961 (82.8%)
1 595 (12.1%) 184 (17.0%) 779 (13.0%)
2 133 (2.7%) 59 (5.4%) 192 (3.2%)
3 31 (0.6%) 12 (1.1%) 43 (0.7%)
4 7 (0.1%) 6 (0.6%) 13 (0.2%)
5 0 (0%) 2 (0.2%) 2 (0.0%)
6 1 (0.0%) 1 (0.1%) 2 (0.0%)
as.factor(fx50_bin)
1.No fx 4141 (84.4%) 820 (75.6%) 4961 (82.8%)
2.Fx 1+ 767 (15.6%) 264 (24.4%) 1031 (17.2%)
as.factor(smoke)
Current 162 (3.3%) 44 (4.1%) 206 (3.4%)
Never 1837 (37.4%) 412 (38.0%) 2249 (37.5%)
Past 2909 (59.3%) 628 (57.9%) 3537 (59.0%)
as.factor(smoke_bin)
1.No/past smoking 4746 (96.7%) 1040 (95.9%) 5786 (96.6%)
2.Current smoking 162 (3.3%) 44 (4.1%) 206 (3.4%)
drink4
High 1578 (32.2%) 372 (34.3%) 1950 (32.5%)
Low 726 (14.8%) 155 (14.3%) 881 (14.7%)
Moderate 393 (8.0%) 70 (6.5%) 463 (7.7%)
No 2211 (45.0%) 487 (44.9%) 2698 (45.0%)
as.factor(drink_bin)
1.Less drinking 3330 (67.8%) 712 (65.7%) 4042 (67.5%)
2.Excessive drinking 1578 (32.2%) 372 (34.3%) 1950 (32.5%)
physical4
High 695 (14.2%) 171 (15.8%) 866 (14.5%)
Low 1361 (27.7%) 281 (25.9%) 1642 (27.4%)
Moderate 558 (11.4%) 121 (11.2%) 679 (11.3%)
No 2294 (46.7%) 511 (47.1%) 2805 (46.8%)
as.factor(activity_bin)
1.Proactive 1253 (25.5%) 292 (26.9%) 1545 (25.8%)
2.Less active 3655 (74.5%) 792 (73.1%) 4447 (74.2%)
calcium2
Median [Q1, Q3] 730 [523, 991] 720 [515, 993] 728 [522, 991]
as.factor(calci_bin)
1.Sufficient Calcium 1194 (24.3%) 264 (24.4%) 1458 (24.3%)
2.Insufficient Calcium 3714 (75.7%) 820 (75.6%) 4534 (75.7%)
protein2
Median [Q1, Q3] 60.2 [45.8, 78.7] 59.5 [45.2, 76.7] 60.2 [45.7, 78.2]
as.factor(education)
1 13 (0.3%) 3 (0.3%) 16 (0.3%)
2 82 (1.7%) 15 (1.4%) 97 (1.6%)
3 243 (5.0%) 35 (3.2%) 278 (4.6%)
4 860 (17.5%) 176 (16.2%) 1036 (17.3%)
5 1132 (23.1%) 245 (22.6%) 1377 (23.0%)
6 874 (17.8%) 220 (20.3%) 1094 (18.3%)
7 507 (10.3%) 126 (11.6%) 633 (10.6%)
8 1197 (24.4%) 264 (24.4%) 1461 (24.4%)
BMI
Median [Q1, Q3] 26.9 [24.9, 29.5] 26.6 [24.4, 29.3] 26.9 [24.8, 29.5]
Missing 6 (0.1%) 1 (0.1%) 7 (0.1%)
as.factor(cvd)
0 3889 (79.2%) 852 (78.6%) 4741 (79.1%)
1 1019 (20.8%) 232 (21.4%) 1251 (20.9%)
as.factor(hypertension)
0 2804 (57.1%) 607 (56.0%) 3411 (56.9%)
1 2104 (42.9%) 477 (44.0%) 2581 (43.1%)
as.factor(copd)
0 4393 (89.5%) 959 (88.5%) 5352 (89.3%)
1 515 (10.5%) 125 (11.5%) 640 (10.7%)
as.factor(diabetes)
0 4370 (89.0%) 969 (89.4%) 5339 (89.1%)
1 538 (11.0%) 115 (10.6%) 653 (10.9%)
as.factor(cancer)
0 4011 (81.7%) 889 (82.0%) 4900 (81.8%)
1 897 (18.3%) 195 (18.0%) 1092 (18.2%)
as.factor(renal)
0 2821 (57.5%) 725 (66.9%) 3546 (59.2%)
1 436 (8.9%) 117 (10.8%) 553 (9.2%)
Missing 1651 (33.6%) 242 (22.3%) 1893 (31.6%)
as.factor(parkinson)
0 4253 (86.7%) 950 (87.6%) 5203 (86.8%)
1 655 (13.3%) 134 (12.4%) 789 (13.2%)
as.factor(depression)
0 3099 (63.1%) 789 (72.8%) 3888 (64.9%)
1 158 (3.2%) 53 (4.9%) 211 (3.5%)
Missing 1651 (33.6%) 242 (22.3%) 1893 (31.6%)
as.factor(rheumatoid)
0 2573 (52.4%) 574 (53.0%) 3147 (52.5%)
1 2335 (47.6%) 510 (47.0%) 2845 (47.5%)
as.factor(death)
0 1990 (40.5%) 391 (36.1%) 2381 (39.7%)
1 2918 (59.5%) 693 (63.9%) 3611 (60.3%)

1.2 Smoking

1.2.1 Data management

men = men %>% mutate(group = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 32))

men = men %>% mutate(fu_anyfx = case_when(anyfx == 0 ~ time2end,
                                          anyfx == 1 ~ time2any))

men = men %>% mutate(fu_hipfx = case_when(hipfx == 0 ~ time2end,
                                          hipfx == 1 ~ time2hip))
                                             
men = men %>% mutate(protein_bin = case_when(protein2 >= 78.2 ~ "1.Sufficient protein",
                                             protein2 < 78.2 ~ "2.Insufficient protein"))

1.2.2 Prevalences

table1(~ age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin + fx50_bin + smoke_bin + drink_bin + activity_bin + as.factor(group) | anyfx, data = men, render.continuous = c(. = "Median [Q1, Q3]"))
## Warning in table1.formula(~age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin
## + : Terms to the right of '|' in formula 'x' define table columns and are
## expected to be factors with meaningful labels.
0
(N=4908)
1
(N=1084)
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0] 74.0 [70.0, 78.0] 73.0 [69.0, 78.0]
age_bin
1.Age< 75 2909 (59.3%) 567 (52.3%) 3476 (58.0%)
2.Age>= 75 1999 (40.7%) 517 (47.7%) 2516 (42.0%)
fnbmd
Median [Q1, Q3] 0.783 [0.707, 0.870] 0.728 [0.652, 0.812] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.10 [-1.66, -0.466] -1.50 [-2.06, -0.894] -1.17 [-1.73, -0.539]
bmd_bin
1.BMD> -2.5 4721 (96.2%) 976 (90.0%) 5697 (95.1%)
2.BMD<= -2.5 187 (3.8%) 108 (10.0%) 295 (4.9%)
fall_bin
1.No falls 3924 (80.0%) 801 (73.9%) 4725 (78.9%)
2.Falls 1+ 984 (20.0%) 283 (26.1%) 1267 (21.1%)
fx50_bin
1.No fx 4141 (84.4%) 820 (75.6%) 4961 (82.8%)
2.Fx 1+ 767 (15.6%) 264 (24.4%) 1031 (17.2%)
smoke_bin
1.No/past smoking 4746 (96.7%) 1040 (95.9%) 5786 (96.6%)
2.Current smoking 162 (3.3%) 44 (4.1%) 206 (3.4%)
drink_bin
1.Less drinking 3330 (67.8%) 712 (65.7%) 4042 (67.5%)
2.Excessive drinking 1578 (32.2%) 372 (34.3%) 1950 (32.5%)
activity_bin
1.Proactive 1253 (25.5%) 292 (26.9%) 1545 (25.8%)
2.Less active 3655 (74.5%) 792 (73.1%) 4447 (74.2%)
as.factor(group)
1 1956 (39.9%) 302 (27.9%) 2258 (37.7%)
2 93 (1.9%) 20 (1.8%) 113 (1.9%)
3 291 (5.9%) 87 (8.0%) 378 (6.3%)
4 374 (7.6%) 82 (7.6%) 456 (7.6%)
5 43 (0.9%) 15 (1.4%) 58 (1.0%)
6 1200 (24.4%) 249 (23.0%) 1449 (24.2%)
7 67 (1.4%) 32 (3.0%) 99 (1.7%)
8 346 (7.0%) 89 (8.2%) 435 (7.3%)
9 202 (4.1%) 58 (5.4%) 260 (4.3%)
10 16 (0.3%) 3 (0.3%) 19 (0.3%)
11 5 (0.1%) 5 (0.5%) 10 (0.2%)
12 8 (0.2%) 6 (0.6%) 14 (0.2%)
13 2 (0.0%) 3 (0.3%) 5 (0.1%)
14 96 (2.0%) 32 (3.0%) 128 (2.1%)
15 12 (0.2%) 3 (0.3%) 15 (0.3%)
16 19 (0.4%) 5 (0.5%) 24 (0.4%)
17 17 (0.3%) 10 (0.9%) 27 (0.5%)
18 19 (0.4%) 20 (1.8%) 39 (0.7%)
19 6 (0.1%) 0 (0%) 6 (0.1%)
20 104 (2.1%) 39 (3.6%) 143 (2.4%)
21 2 (0.0%) 5 (0.5%) 7 (0.1%)
22 2 (0.0%) 0 (0%) 2 (0.0%)
23 3 (0.1%) 3 (0.3%) 6 (0.1%)
24 1 (0.0%) 2 (0.2%) 3 (0.1%)
26 6 (0.1%) 2 (0.2%) 8 (0.1%)
27 15 (0.3%) 11 (1.0%) 26 (0.4%)
28 1 (0.0%) 0 (0%) 1 (0.0%)
29 0 (0%) 1 (0.1%) 1 (0.0%)
30 2 (0.0%) 0 (0%) 2 (0.0%)

1.2.3 Association for any fracture

library(survival)
smoke.age.m = coxph(Surv(fu_anyfx, anyfx) ~ age + smoke_bin, data = men)
summary(smoke.age.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age + smoke_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                                coef exp(coef) se(coef)      z Pr(>|z|)    
## age                        0.074427  1.077267 0.005392 13.802  < 2e-16 ***
## smoke_bin2.Current smoking 0.577183  1.781014 0.155247  3.718 0.000201 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                            1.077     0.9283     1.066     1.089
## smoke_bin2.Current smoking     1.781     0.5615     1.314     2.414
## 
## Concordance= 0.617  (se = 0.009 )
## Likelihood ratio test= 185.6  on 2 df,   p=<2e-16
## Wald test            = 194.3  on 2 df,   p=<2e-16
## Score (logrank) test = 198.2  on 2 df,   p=<2e-16
all.m = coxph(Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = men)
summary(all.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                               coef exp(coef) se(coef)     z Pr(>|z|)    
## age_bin2.Age>= 75          0.61650   1.85244  0.06317 9.759  < 2e-16 ***
## bmd_bin2.BMD<= -2.5        0.94617   2.57582  0.10295 9.191  < 2e-16 ***
## fall_bin2.Falls 1+         0.33488   1.39777  0.06980 4.798 1.61e-06 ***
## fx50_bin2.Fx 1+            0.47693   1.61112  0.07144 6.676 2.45e-11 ***
## smoke_bin2.Current smoking 0.51805   1.67875  0.15511 3.340 0.000838 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75              1.852     0.5398     1.637     2.097
## bmd_bin2.BMD<= -2.5            2.576     0.3882     2.105     3.152
## fall_bin2.Falls 1+             1.398     0.7154     1.219     1.603
## fx50_bin2.Fx 1+                1.611     0.6207     1.401     1.853
## smoke_bin2.Current smoking     1.679     0.5957     1.239     2.275
## 
## Concordance= 0.636  (se = 0.009 )
## Likelihood ratio test= 266.2  on 5 df,   p=<2e-16
## Wald test            = 306.6  on 5 df,   p=<2e-16
## Score (logrank) test = 326.5  on 5 df,   p=<2e-16
options(digits = 8)
smoke.m = coxph(Surv(fu_anyfx, anyfx) ~ as.factor(group), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 18,21,26,28 ; coefficient may be infinite.
summary(smoke.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ as.factor(group), data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                           coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group)2   5.0352e-01  1.6545e+00  2.3097e-01  2.1801 0.0292529 *  
## as.factor(group)3   5.8961e-01  1.8033e+00  1.2169e-01  4.8451 1.265e-06 ***
## as.factor(group)4   3.5916e-01  1.4321e+00  1.2454e-01  2.8839 0.0039279 ** 
## as.factor(group)5   7.9696e-01  2.2188e+00  2.6457e-01  3.0123 0.0025930 ** 
## as.factor(group)6   6.6358e-01  1.9417e+00  8.6417e-02  7.6788 1.606e-14 ***
## as.factor(group)7   1.5168e+00  4.5574e+00  1.8647e-01  8.1339 4.158e-16 ***
## as.factor(group)8   9.6142e-01  2.6154e+00  1.2141e-01  7.9189 2.397e-15 ***
## as.factor(group)9   1.0016e+00  2.7225e+00  1.4393e-01  6.9584 3.441e-12 ***
## as.factor(group)10  7.8152e-01  2.1848e+00  5.8046e-01  1.3464 0.1781787    
## as.factor(group)11  1.4151e+00  4.1170e+00  4.5092e-01  3.1383 0.0016993 ** 
## as.factor(group)12  1.4212e+00  4.1423e+00  4.1230e-01  3.4471 0.0005666 ***
## as.factor(group)13  2.3621e+00  1.0613e+01  5.8108e-01  4.0649 4.804e-05 ***
## as.factor(group)14  7.6271e-01  2.1441e+00  1.8591e-01  4.1025 4.087e-05 ***
## as.factor(group)15  5.8929e-01  1.8027e+00  5.8023e-01  1.0156 0.3098193    
## as.factor(group)16  7.4046e-01  2.0969e+00  4.5100e-01  1.6418 0.1006285    
## as.factor(group)17  1.9146e+00  6.7844e+00  3.2216e-01  5.9431 2.796e-09 ***
## as.factor(group)18  2.2235e+00  9.2396e+00  2.3197e-01  9.5852 < 2.2e-16 ***
## as.factor(group)19 -1.2066e+01  5.7542e-06  8.7033e+02 -0.0139 0.9889391    
## as.factor(group)20  1.4169e+00  4.1243e+00  1.7097e-01  8.2873 < 2.2e-16 ***
## as.factor(group)21  2.4384e+00  1.1455e+01  4.5154e-01  5.4002 6.656e-08 ***
## as.factor(group)22 -1.2042e+01  5.8892e-06  2.5157e+03 -0.0048 0.9961806    
## as.factor(group)23  1.6817e+00  5.3747e+00  5.8041e-01  2.8974 0.0037621 ** 
## as.factor(group)24  3.0803e+00  2.1764e+01  7.1032e-01  4.3365 1.448e-05 ***
## as.factor(group)26  1.4848e+00  4.4139e+00  7.0992e-01  2.0915 0.0364866 *  
## as.factor(group)27  2.3817e+00  1.0823e+01  3.0805e-01  7.7316 1.062e-14 ***
## as.factor(group)28 -1.2064e+01  5.7617e-06  1.7650e+03 -0.0068 0.9945463    
## as.factor(group)29  4.9725e+00  1.4439e+02  1.0081e+00  4.9327 8.112e-07 ***
## as.factor(group)30 -1.2048e+01  5.8578e-06  1.9495e+03 -0.0062 0.9950691    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2  1.6545e+00 6.0440e-01   1.05215    2.6018
## as.factor(group)3  1.8033e+00 5.5454e-01   1.42063    2.2890
## as.factor(group)4  1.4321e+00 6.9826e-01   1.12195    1.8281
## as.factor(group)5  2.2188e+00 4.5070e-01   1.32103    3.7266
## as.factor(group)6  1.9417e+00 5.1500e-01   1.63920    2.3001
## as.factor(group)7  4.5574e+00 2.1942e-01   3.16223    6.5682
## as.factor(group)8  2.6154e+00 3.8235e-01   2.06156    3.3181
## as.factor(group)9  2.7225e+00 3.6731e-01   2.05330    3.6098
## as.factor(group)10 2.1848e+00 4.5771e-01   0.70036    6.8155
## as.factor(group)11 4.1170e+00 2.4289e-01   1.70121    9.9634
## as.factor(group)12 4.1423e+00 2.4141e-01   1.84623    9.2937
## as.factor(group)13 1.0613e+01 9.4227e-02   3.39790   33.1468
## as.factor(group)14 2.1441e+00 4.6640e-01   1.48933    3.0867
## as.factor(group)15 1.8027e+00 5.5472e-01   0.57813    5.6211
## as.factor(group)16 2.0969e+00 4.7690e-01   0.86633    5.0754
## as.factor(group)17 6.7844e+00 1.4740e-01   3.60821   12.7566
## as.factor(group)18 9.2396e+00 1.0823e-01   5.86408   14.5583
## as.factor(group)19 5.7542e-06 1.7379e+05   0.00000       Inf
## as.factor(group)20 4.1243e+00 2.4246e-01   2.95000    5.7662
## as.factor(group)21 1.1455e+01 8.7298e-02   4.72762   27.7554
## as.factor(group)22 5.8892e-06 1.6980e+05   0.00000       Inf
## as.factor(group)23 5.3747e+00 1.8606e-01   1.72310   16.7648
## as.factor(group)24 2.1764e+01 4.5947e-02   5.40905   87.5731
## as.factor(group)26 4.4139e+00 2.2656e-01   1.09785   17.7463
## as.factor(group)27 1.0823e+01 9.2393e-02   5.91765   19.7957
## as.factor(group)28 5.7617e-06 1.7356e+05   0.00000       Inf
## as.factor(group)29 1.4439e+02 6.9259e-03  20.01937 1041.3516
## as.factor(group)30 5.8578e-06 1.7071e+05   0.00000       Inf
## 
## Concordance= 0.637  (se = 0.009 )
## Likelihood ratio test= 286.77  on 28 df,   p=<2e-16
## Wald test            = 349.07  on 28 df,   p=<2e-16
## Score (logrank) test = 478.6  on 28 df,   p=<2e-16

1.2.4 Association for hip fracture

smoke.hip.age.m = coxph(Surv(fu_hipfx, hipfx) ~ age + smoke_bin, data = men)
summary(smoke.hip.age.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age + smoke_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                                coef exp(coef) se(coef)      z  Pr(>|z|)    
## age                        0.137691  1.147621 0.011253 12.236 < 2.2e-16 ***
## smoke_bin2.Current smoking 1.014170  2.757074 0.299429  3.387 0.0007066 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.1476    0.87137    1.1226    1.1732
## smoke_bin2.Current smoking    2.7571    0.36270    1.5331    4.9582
## 
## Concordance= 0.727  (se = 0.016 )
## Likelihood ratio test= 145.19  on 2 df,   p=<2e-16
## Wald test            = 152.41  on 2 df,   p=<2e-16
## Score (logrank) test = 161.88  on 2 df,   p=<2e-16
all.hip.m = coxph(Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = men)
summary(all.hip.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                               coef exp(coef) se(coef)      z Pr(>|z|)    
## age_bin2.Age>= 75          1.14499   3.14239  0.13936 8.2163  < 2e-16 ***
## bmd_bin2.BMD<= -2.5        1.56412   4.77846  0.16806 9.3070  < 2e-16 ***
## fall_bin2.Falls 1+         0.32338   1.38179  0.14765 2.1902  0.02851 *  
## fx50_bin2.Fx 1+            0.26406   1.30221  0.15705 1.6814  0.09268 .  
## smoke_bin2.Current smoking 0.86266   2.36945  0.29981 2.8774  0.00401 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75             3.1424    0.31823    2.3913    4.1293
## bmd_bin2.BMD<= -2.5           4.7785    0.20927    3.4375    6.6426
## fall_bin2.Falls 1+            1.3818    0.72370    1.0346    1.8455
## fx50_bin2.Fx 1+               1.3022    0.76793    0.9572    1.7716
## smoke_bin2.Current smoking    2.3694    0.42204    1.3166    4.2642
## 
## Concordance= 0.731  (se = 0.017 )
## Likelihood ratio test= 168.49  on 5 df,   p=<2e-16
## Wald test            = 203.79  on 5 df,   p=<2e-16
## Score (logrank) test = 255.61  on 5 df,   p=<2e-16
options(digits = 8)
smoke.hip.m = coxph(Surv(fu_hipfx, hipfx) ~ as.factor(group), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 15,18,21,23,26,28 ; coefficient may be
## infinite.
summary(smoke.hip.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ as.factor(group), data = men)
## 
##   n= 5992, number of events= 237 
## 
##                           coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group)2   1.1418e+00  3.1324e+00  4.3272e-01  2.6387  0.008324 ** 
## as.factor(group)3   1.0599e-01  1.1118e+00  3.6266e-01  0.2922  0.770099    
## as.factor(group)4   1.5739e-01  1.1704e+00  3.3366e-01  0.4717  0.637139    
## as.factor(group)5   1.5099e+00  4.5261e+00  4.6955e-01  3.2156  0.001302 ** 
## as.factor(group)6   1.0618e+00  2.8916e+00  1.9574e-01  5.4244 5.813e-08 ***
## as.factor(group)7   2.6849e+00  1.4657e+01  2.8298e-01  9.4880 < 2.2e-16 ***
## as.factor(group)8   1.5359e+00  4.6456e+00  2.4769e-01  6.2010 5.610e-10 ***
## as.factor(group)9   1.5914e+00  4.9105e+00  2.8294e-01  5.6245 1.860e-08 ***
## as.factor(group)10  1.6234e+00  5.0703e+00  1.0109e+00  1.6060  0.108285    
## as.factor(group)11  2.6143e+00  1.3657e+01  5.9478e-01  4.3953 1.106e-05 ***
## as.factor(group)12  2.0361e+00  7.6606e+00  7.2143e-01  2.8223  0.004768 ** 
## as.factor(group)13  2.7783e+00  1.6091e+01  1.0106e+00  2.7490  0.005977 ** 
## as.factor(group)14 -3.0201e-01  7.3933e-01  7.2140e-01 -0.4186  0.675476    
## as.factor(group)15  1.3098e+00  3.7052e+00  1.0102e+00  1.2965  0.194797    
## as.factor(group)16 -1.3185e+01  1.8777e-06  1.1403e+03 -0.0116  0.990775    
## as.factor(group)17  2.9850e+00  1.9786e+01  4.7136e-01  6.3326 2.411e-10 ***
## as.factor(group)18  2.8476e+00  1.7247e+01  4.0567e-01  7.0196 2.226e-12 ***
## as.factor(group)19 -1.3236e+01  1.7857e-06  4.3692e+03 -0.0030  0.997583    
## as.factor(group)20  1.8473e+00  6.3425e+00  3.4860e-01  5.2992 1.163e-07 ***
## as.factor(group)21  2.1728e+00  8.7830e+00  1.0102e+00  2.1508  0.031491 *  
## as.factor(group)22 -1.3625e+01  1.2100e-06  1.5209e+04 -0.0009  0.999285    
## as.factor(group)23  3.0546e+00  2.1214e+01  7.2195e-01  4.2311 2.325e-05 ***
## as.factor(group)24 -1.3172e+01  1.9022e-06  4.1811e+03 -0.0032  0.997486    
## as.factor(group)26  2.5838e+00  1.3247e+01  1.0119e+00  2.5533  0.010671 *  
## as.factor(group)27  2.7889e+00  1.6262e+01  5.9678e-01  4.6731 2.966e-06 ***
## as.factor(group)28 -1.3196e+01  1.8576e-06  8.8679e+03 -0.0015  0.998813    
## as.factor(group)29  7.0361e+00  1.1370e+03  1.0446e+00  6.7359 1.629e-11 ***
## as.factor(group)30 -1.3374e+01  1.5554e-06  1.0780e+04 -0.0012  0.999010    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2  3.1324e+00 3.1924e-01   1.34136    7.3149
## as.factor(group)3  1.1118e+00 8.9944e-01   0.54618    2.2632
## as.factor(group)4  1.1704e+00 8.5437e-01   0.60862    2.2509
## as.factor(group)5  4.5261e+00 2.2094e-01   1.80322   11.3608
## as.factor(group)6  2.8916e+00 3.4583e-01   1.97022    4.2437
## as.factor(group)7  1.4657e+01 6.8229e-02   8.41708   25.5212
## as.factor(group)8  4.6456e+00 2.1526e-01   2.85896    7.5488
## as.factor(group)9  4.9105e+00 2.0365e-01   2.82026    8.5499
## as.factor(group)10 5.0703e+00 1.9723e-01   0.69917   36.7694
## as.factor(group)11 1.3657e+01 7.3221e-02   4.25682   43.8172
## as.factor(group)12 7.6606e+00 1.3054e-01   1.86284   31.5027
## as.factor(group)13 1.6091e+01 6.2146e-02   2.21991  116.6384
## as.factor(group)14 7.3933e-01 1.3526e+00   0.17980    3.0401
## as.factor(group)15 3.7052e+00 2.6989e-01   0.51160   26.8353
## as.factor(group)16 1.8777e-06 5.3256e+05   0.00000       Inf
## as.factor(group)17 1.9786e+01 5.0542e-02   7.85457   49.8396
## as.factor(group)18 1.7247e+01 5.7980e-02   7.78769   38.1969
## as.factor(group)19 1.7857e-06 5.6001e+05   0.00000       Inf
## as.factor(group)20 6.3425e+00 1.5767e-01   3.20284   12.5600
## as.factor(group)21 8.7830e+00 1.1386e-01   1.21264   63.6143
## as.factor(group)22 1.2100e-06 8.2642e+05   0.00000       Inf
## as.factor(group)23 2.1214e+01 4.7139e-02   5.15342   87.3249
## as.factor(group)24 1.9022e-06 5.2570e+05   0.00000       Inf
## as.factor(group)26 1.3247e+01 7.5488e-02   1.82289   96.2678
## as.factor(group)27 1.6262e+01 6.1491e-02   5.04897   52.3805
## as.factor(group)28 1.8576e-06 5.3832e+05   0.00000       Inf
## as.factor(group)29 1.1370e+03 8.7954e-04 146.76054 8807.9791
## as.factor(group)30 1.5554e-06 6.4292e+05   0.00000       Inf
## 
## Concordance= 0.735  (se = 0.017 )
## Likelihood ratio test= 188.39  on 28 df,   p=<2e-16
## Wald test            = 232.86  on 28 df,   p=<2e-16
## Score (logrank) test = 686.98  on 28 df,   p=<2e-16

1.2 Try different classification of smoking (none vs. ever/current)

1.2.1 Data management

men = men %>% mutate(smoke_bin = case_when(smoke == "Never"~ "1.No/past smoking",
                                           smoke == "Current" | smoke == "Past" ~ "2.Current smoking"))
                                             
men = men %>% mutate(group = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 32))

men = men %>% mutate(fu_anyfx = case_when(anyfx == 0 ~ time2end,
                                          anyfx == 1 ~ time2any))

men = men %>% mutate(fu_hipfx = case_when(hipfx == 0 ~ time2end,
                                          hipfx == 1 ~ time2hip))

1.2.2 Prevalences

table1(~ age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin + fx50_bin + smoke_bin + drink_bin + activity_bin + as.factor(group), data = men, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0]
age_bin
1.Age< 75 3476 (58.0%)
2.Age>= 75 2516 (42.0%)
fnbmd
Median [Q1, Q3] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.17 [-1.73, -0.539]
bmd_bin
1.BMD> -2.5 5697 (95.1%)
2.BMD<= -2.5 295 (4.9%)
fall_bin
1.No falls 4725 (78.9%)
2.Falls 1+ 1267 (21.1%)
fx50_bin
1.No fx 4961 (82.8%)
2.Fx 1+ 1031 (17.2%)
smoke_bin
1.No/past smoking 2249 (37.5%)
2.Current smoking 3743 (62.5%)
drink_bin
1.Less drinking 4042 (67.5%)
2.Excessive drinking 1950 (32.5%)
activity_bin
1.Proactive 1545 (25.8%)
2.Less active 4447 (74.2%)
as.factor(group)
1 887 (14.8%)
2 1484 (24.8%)
3 133 (2.2%)
4 158 (2.6%)
5 20 (0.3%)
6 583 (9.7%)
7 46 (0.8%)
8 180 (3.0%)
9 104 (1.7%)
10 885 (14.8%)
11 3 (0.1%)
12 5 (0.1%)
13 43 (0.7%)
14 33 (0.6%)
15 313 (5.2%)
16 269 (4.5%)
17 13 (0.2%)
18 15 (0.3%)
19 59 (1.0%)
20 60 (1.0%)
21 262 (4.4%)
22 158 (2.6%)
23 1 (0.0%)
24 10 (0.2%)
25 9 (0.2%)
26 103 (1.7%)
27 8 (0.1%)
28 15 (0.3%)
29 25 (0.4%)
30 85 (1.4%)
31 5 (0.1%)
32 18 (0.3%)

1.2.3 Association for any fracture

library(survival)
smoke.age.m = coxph(Surv(fu_anyfx, anyfx) ~ age + smoke_bin, data = men)
summary(smoke.age.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age + smoke_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                                 coef exp(coef)  se(coef)       z Pr(>|z|)    
## age                        0.0730241 1.0757564 0.0053747 13.5867  < 2e-16 ***
## smoke_bin2.Current smoking 0.1086915 1.1148184 0.0627327  1.7326  0.08316 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.0758    0.92958   1.06448    1.0871
## smoke_bin2.Current smoking    1.1148    0.89701   0.98584    1.2607
## 
## Concordance= 0.615  (se = 0.009 )
## Likelihood ratio test= 176.87  on 2 df,   p=<2e-16
## Wald test            = 185.32  on 2 df,   p=<2e-16
## Score (logrank) test = 188.89  on 2 df,   p=<2e-16
m.any.smoke.m = coxph(Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = men)
summary(m.any.smoke.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                                coef exp(coef) se(coef)      z  Pr(>|z|)    
## age_bin2.Age>= 75          0.601950  1.825676 0.062850 9.5775 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5        0.950307  2.586504 0.102918 9.2336 < 2.2e-16 ***
## fall_bin2.Falls 1+         0.329717  1.390574 0.069808 4.7232 2.322e-06 ***
## fx50_bin2.Fx 1+            0.470967  1.601542 0.071486 6.5882 4.450e-11 ***
## smoke_bin2.Current smoking 0.079467  1.082710 0.062757 1.2663    0.2054    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75             1.8257    0.54774    1.6141    2.0650
## bmd_bin2.BMD<= -2.5           2.5865    0.38662    2.1140    3.1646
## fall_bin2.Falls 1+            1.3906    0.71913    1.2128    1.5945
## fx50_bin2.Fx 1+               1.6015    0.62440    1.3922    1.8424
## smoke_bin2.Current smoking    1.0827    0.92361    0.9574    1.2244
## 
## Concordance= 0.637  (se = 0.009 )
## Likelihood ratio test= 258.21  on 5 df,   p=<2e-16
## Wald test            = 299.2  on 5 df,   p=<2e-16
## Score (logrank) test = 318.46  on 5 df,   p=<2e-16
options(digits = 8)
any.smoke.m = coxph(Surv(fu_anyfx, anyfx) ~ as.factor(group), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 22 ; coefficient may be infinite.
summary(any.smoke.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ as.factor(group), data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                           coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group)2   2.0207e-01  1.2239e+00  1.1657e-01  1.7335 0.0829998 .  
## as.factor(group)3   6.4588e-01  1.9077e+00  2.0257e-01  3.1884 0.0014304 ** 
## as.factor(group)4   2.9435e-01  1.3423e+00  2.2086e-01  1.3328 0.1826002    
## as.factor(group)5   1.1913e+00  3.2913e+00  3.8945e-01  3.0589 0.0022218 ** 
## as.factor(group)6   7.8632e-01  2.1953e+00  1.3515e-01  5.8181 5.953e-09 ***
## as.factor(group)7   1.3094e+00  3.7041e+00  3.0387e-01  4.3093 1.638e-05 ***
## as.factor(group)8   1.1636e+00  3.2014e+00  1.7652e-01  6.5917 4.348e-11 ***
## as.factor(group)9   1.1350e+00  3.1113e+00  2.1768e-01  5.2143 1.845e-07 ***
## as.factor(group)10  7.4866e-01  2.1142e+00  1.2598e-01  5.9429 2.801e-09 ***
## as.factor(group)11  9.0207e-01  2.4647e+00  1.0044e+00  0.8981 0.3691132    
## as.factor(group)12  1.5440e+00  4.6834e+00  7.1333e-01  2.1645 0.0304250 *  
## as.factor(group)13  9.5246e-01  2.5921e+00  3.1580e-01  3.0160 0.0025614 ** 
## as.factor(group)14  8.4805e-01  2.3351e+00  3.4625e-01  2.4492 0.0143169 *  
## as.factor(group)15  5.4898e-01  1.7315e+00  1.5955e-01  3.4408 0.0005801 ***
## as.factor(group)16  7.2551e-01  2.0658e+00  1.5870e-01  4.5715 4.842e-06 ***
## as.factor(group)17  2.2583e+00  9.5670e+00  4.5804e-01  4.9304 8.206e-07 ***
## as.factor(group)18  2.0989e+00  8.1571e+00  3.9012e-01  5.3801 7.445e-08 ***
## as.factor(group)19  1.7937e+00  6.0115e+00  2.4310e-01  7.3782 1.604e-13 ***
## as.factor(group)20  1.6104e+00  5.0048e+00  2.6090e-01  6.1725 6.723e-10 ***
## as.factor(group)21  1.0498e+00  2.8570e+00  1.7172e-01  6.1132 9.763e-10 ***
## as.factor(group)22  1.0719e+00  2.9210e+00  2.0069e-01  5.3412 9.235e-08 ***
## as.factor(group)23 -9.9811e+00  4.6267e-05  4.5676e+02 -0.0219 0.9825662    
## as.factor(group)24  2.0453e+00  7.7315e+00  4.1900e-01  4.8814 1.053e-06 ***
## as.factor(group)25  1.5112e+00  4.5322e+00  5.0872e-01  2.9706 0.0029719 ** 
## as.factor(group)26  9.1121e-01  2.4873e+00  2.2089e-01  4.1253 3.703e-05 ***
## as.factor(group)27  2.4970e+00  1.2147e+01  5.0894e-01  4.9064 9.278e-07 ***
## as.factor(group)28  1.7557e+00  5.7874e+00  4.5731e-01  3.8392 0.0001234 ***
## as.factor(group)29  2.5345e+00  1.2610e+01  2.8424e-01  8.9167 < 2.2e-16 ***
## as.factor(group)30  1.4405e+00  4.2230e+00  2.3342e-01  6.1715 6.765e-10 ***
## as.factor(group)31  2.0106e+00  7.4681e+00  5.8511e-01  3.4363 0.0005897 ***
## as.factor(group)32  2.4696e+00  1.1817e+01  3.9088e-01  6.3179 2.651e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2  1.2239e+00 8.1704e-01   0.97395    1.5381
## as.factor(group)3  1.9077e+00 5.2420e-01   1.28255    2.8374
## as.factor(group)4  1.3423e+00 7.4501e-01   0.87065    2.0693
## as.factor(group)5  3.2913e+00 3.0383e-01   1.53413    7.0609
## as.factor(group)6  2.1953e+00 4.5552e-01   1.68443    2.8611
## as.factor(group)7  3.7041e+00 2.6997e-01   2.04188    6.7195
## as.factor(group)8  3.2014e+00 3.1237e-01   2.26507    4.5247
## as.factor(group)9  3.1113e+00 3.2141e-01   2.03071    4.7667
## as.factor(group)10 2.1142e+00 4.7300e-01   1.65162    2.7063
## as.factor(group)11 2.4647e+00 4.0573e-01   0.34422   17.6482
## as.factor(group)12 4.6834e+00 2.1352e-01   1.15709   18.9562
## as.factor(group)13 2.5921e+00 3.8579e-01   1.39584    4.8135
## as.factor(group)14 2.3351e+00 4.2825e-01   1.18460    4.6029
## as.factor(group)15 1.7315e+00 5.7754e-01   1.26651    2.3672
## as.factor(group)16 2.0658e+00 4.8408e-01   1.51355    2.8195
## as.factor(group)17 9.5670e+00 1.0453e-01   3.89845   23.4781
## as.factor(group)18 8.1571e+00 1.2259e-01   3.79719   17.5230
## as.factor(group)19 6.0115e+00 1.6635e-01   3.73297    9.6809
## as.factor(group)20 5.0048e+00 1.9981e-01   3.00128    8.3457
## as.factor(group)21 2.8570e+00 3.5002e-01   2.04052    4.0002
## as.factor(group)22 2.9210e+00 3.4235e-01   1.97108    4.3288
## as.factor(group)23 4.6267e-05 2.1614e+04   0.00000       Inf
## as.factor(group)24 7.7315e+00 1.2934e-01   3.40101   17.5758
## as.factor(group)25 4.5322e+00 2.2064e-01   1.67220   12.2837
## as.factor(group)26 2.4873e+00 4.0204e-01   1.61330    3.8349
## as.factor(group)27 1.2147e+01 8.2328e-02   4.47964   32.9354
## as.factor(group)28 5.7874e+00 1.7279e-01   2.36170   14.1822
## as.factor(group)29 1.2610e+01 7.9300e-02   7.22400   22.0126
## as.factor(group)30 4.2230e+00 2.3680e-01   2.67258    6.6727
## as.factor(group)31 7.4681e+00 1.3390e-01   2.37224   23.5104
## as.factor(group)32 1.1817e+01 8.4620e-02   5.49293   25.4241
## 
## Concordance= 0.638  (se = 0.009 )
## Likelihood ratio test= 272.1  on 31 df,   p=<2e-16
## Wald test            = 318.49  on 31 df,   p=<2e-16
## Score (logrank) test = 381.37  on 31 df,   p=<2e-16

1.2.4 Association for hip fracture

hip.smoke.age.m = coxph(Surv(fu_hipfx, hipfx) ~ age + smoke_bin, data = men)
summary(hip.smoke.age.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age + smoke_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                                coef exp(coef) se(coef)       z Pr(>|z|)    
## age                        0.134208  1.143630 0.011230 11.9510   <2e-16 ***
## smoke_bin2.Current smoking 0.018378  1.018548 0.132325  0.1389   0.8895    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.1436    0.87441   1.11873    1.1691
## smoke_bin2.Current smoking    1.0185    0.98179   0.78586    1.3201
## 
## Concordance= 0.72  (se = 0.016 )
## Likelihood ratio test= 136.52  on 2 df,   p=<2e-16
## Wald test            = 143.43  on 2 df,   p=<2e-16
## Score (logrank) test = 152.81  on 2 df,   p=<2e-16
m.hip.smoke.m = coxph(Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = men)
summary(m.hip.smoke.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                                 coef exp(coef)  se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75           1.104599  3.018015  0.138452  7.9782 1.485e-15 ***
## bmd_bin2.BMD<= -2.5         1.575730  4.834267  0.168079  9.3749 < 2.2e-16 ***
## fall_bin2.Falls 1+          0.326225  1.385727  0.147682  2.2090   0.02718 *  
## fx50_bin2.Fx 1+             0.249491  1.283372  0.157112  1.5880   0.11229    
## smoke_bin2.Current smoking -0.018263  0.981903  0.132325 -0.1380   0.89023    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75             3.0180    0.33134   2.30076    3.9589
## bmd_bin2.BMD<= -2.5           4.8343    0.20686   3.47745    6.7205
## fall_bin2.Falls 1+            1.3857    0.72164   1.03746    1.8509
## fx50_bin2.Fx 1+               1.2834    0.77920   0.94323    1.7462
## smoke_bin2.Current smoking    0.9819    1.01843   0.75759    1.2726
## 
## Concordance= 0.726  (se = 0.017 )
## Likelihood ratio test= 161.98  on 5 df,   p=<2e-16
## Wald test            = 198.17  on 5 df,   p=<2e-16
## Score (logrank) test = 249.27  on 5 df,   p=<2e-16
hip.smoke.m = coxph(Surv(fu_hipfx, hipfx) ~ as.factor(group), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 11,13,22,26 ; coefficient may be infinite.
summary(hip.smoke.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ as.factor(group), data = men)
## 
##   n= 5992, number of events= 237 
## 
##                           coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group)2  -7.7907e-02  9.2505e-01  2.7342e-01 -0.2849 0.7756938    
## as.factor(group)3   1.6083e-01  1.1745e+00  5.4174e-01  0.2969 0.7665682    
## as.factor(group)4   4.9638e-02  1.0509e+00  5.4175e-01  0.0916 0.9269956    
## as.factor(group)5   7.9044e-01  2.2044e+00  1.0215e+00  0.7738 0.4390690    
## as.factor(group)6   9.9756e-01  2.7117e+00  2.8749e-01  3.4699 0.0005206 ***
## as.factor(group)7   2.3608e+00  1.0599e+01  4.3274e-01  5.4554 4.886e-08 ***
## as.factor(group)8   1.5841e+00  4.8749e+00  3.4019e-01  4.6565 3.216e-06 ***
## as.factor(group)9   1.6531e+00  5.2232e+00  3.9415e-01  4.1941 2.739e-05 ***
## as.factor(group)10  9.0581e-01  2.4739e+00  2.7333e-01  3.3140 0.0009197 ***
## as.factor(group)11  2.5585e+00  1.2917e+01  1.0216e+00  2.5045 0.0122610 *  
## as.factor(group)12 -1.4787e+01  3.7845e-07  5.2389e+03 -0.0028 0.9977479    
## as.factor(group)13  1.7528e+00  5.7707e+00  4.9362e-01  3.5509 0.0003840 ***
## as.factor(group)14 -1.4800e+01  3.7372e-07  1.7026e+03 -0.0087 0.9930647    
## as.factor(group)15  1.1508e-01  1.1220e+00  4.1053e-01  0.2803 0.7792317    
## as.factor(group)16 -2.1738e-01  8.0462e-01  4.9349e-01 -0.4405 0.6595713    
## as.factor(group)17  2.8939e+00  1.8064e+01  7.3998e-01  3.9108 9.199e-05 ***
## as.factor(group)18  1.6992e+00  5.4696e+00  1.0222e+00  1.6622 0.0964632 .  
## as.factor(group)19  2.6787e+00  1.4566e+01  3.8052e-01  7.0396 1.928e-12 ***
## as.factor(group)20  2.1501e+00  8.5859e+00  4.6050e-01  4.6691 3.025e-06 ***
## as.factor(group)21  1.2760e+00  3.5821e+00  3.5806e-01  3.5636 0.0003658 ***
## as.factor(group)22  1.2910e+00  3.6366e+00  4.1196e-01  3.1339 0.0017249 ** 
## as.factor(group)23 -1.4730e+01  4.0054e-07  1.1806e+04 -0.0012 0.9990045    
## as.factor(group)24  2.2771e+00  9.7484e+00  7.3739e-01  3.0881 0.0020146 ** 
## as.factor(group)25  2.3070e+00  1.0045e+01  7.3729e-01  3.1291 0.0017536 ** 
## as.factor(group)26  2.9990e-01  1.3497e+00  6.1390e-01  0.4885 0.6251902    
## as.factor(group)27 -1.4763e+01  3.8781e-07  5.1376e+03 -0.0029 0.9977073    
## as.factor(group)28  2.7946e+00  1.6357e+01  6.1490e-01  4.5449 5.497e-06 ***
## as.factor(group)29  3.2262e+00  2.5183e+01  4.3361e-01  7.4402 1.005e-13 ***
## as.factor(group)30  1.2969e+00  3.6580e+00  5.4269e-01  2.3898 0.0168590 *  
## as.factor(group)31  3.1153e+00  2.2540e+01  7.3778e-01  4.2226 2.415e-05 ***
## as.factor(group)32  3.2909e+00  2.6867e+01  6.1894e-01  5.3170 1.055e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2  9.2505e-01 1.0810e+00   0.54129    1.5809
## as.factor(group)3  1.1745e+00 8.5144e-01   0.40618    3.3961
## as.factor(group)4  1.0509e+00 9.5157e-01   0.36343    3.0387
## as.factor(group)5  2.2044e+00 4.5365e-01   0.29767   16.3239
## as.factor(group)6  2.7117e+00 3.6878e-01   1.54356    4.7637
## as.factor(group)7  1.0599e+01 9.4345e-02   4.53864   24.7532
## as.factor(group)8  4.8749e+00 2.0513e-01   2.50262    9.4957
## as.factor(group)9  5.2232e+00 1.9145e-01   2.41234   11.3094
## as.factor(group)10 2.4739e+00 4.0421e-01   1.44787    4.2271
## as.factor(group)11 1.2917e+01 7.7419e-02   1.74423   95.6523
## as.factor(group)12 3.7845e-07 2.6424e+06   0.00000       Inf
## as.factor(group)13 5.7707e+00 1.7329e-01   2.19309   15.1846
## as.factor(group)14 3.7372e-07 2.6758e+06   0.00000       Inf
## as.factor(group)15 1.1220e+00 8.9130e-01   0.50181    2.5085
## as.factor(group)16 8.0462e-01 1.2428e+00   0.30587    2.1166
## as.factor(group)17 1.8064e+01 5.5359e-02   4.23584   77.0345
## as.factor(group)18 5.4696e+00 1.8283e-01   0.73761   40.5579
## as.factor(group)19 1.4566e+01 6.8652e-02   6.90952   30.7074
## as.factor(group)20 8.5859e+00 1.1647e-01   3.48183   21.1719
## as.factor(group)21 3.5821e+00 2.7916e-01   1.77568    7.2263
## as.factor(group)22 3.6366e+00 2.7498e-01   1.62193    8.1537
## as.factor(group)23 4.0054e-07 2.4966e+06   0.00000       Inf
## as.factor(group)24 9.7484e+00 1.0258e-01   2.29757   41.3615
## as.factor(group)25 1.0045e+01 9.9556e-02   2.36783   42.6103
## as.factor(group)26 1.3497e+00 7.4090e-01   0.40522    4.4957
## as.factor(group)27 3.8781e-07 2.5786e+06   0.00000       Inf
## as.factor(group)28 1.6357e+01 6.1137e-02   4.90109   54.5881
## as.factor(group)29 2.5183e+01 3.9709e-02  10.76502   58.9115
## as.factor(group)30 3.6580e+00 2.7338e-01   1.26270   10.5970
## as.factor(group)31 2.2540e+01 4.4365e-02   5.30841   95.7109
## as.factor(group)32 2.6867e+01 3.7220e-02   7.98692   90.3783
## 
## Concordance= 0.734  (se = 0.017 )
## Likelihood ratio test= 184.08  on 31 df,   p=<2e-16
## Wald test            = 221.65  on 31 df,   p=<2e-16
## Score (logrank) test = 342.26  on 31 df,   p=<2e-16

1.3 Excessive drinking

1.3.1 Data management

# data = data %>% mutate(drink_bin = case_when(drink4 == "No" | drink4 == "Low" | drink4 == "Moderate" ~ "1.Less drinking",
#                                             drink4 == "High" ~ "2.Excessive drinking"))

men = men %>% mutate(group.d = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 32))

1.3.2 Prevalences

table1(~ age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin + fx50_bin + drink_bin + as.factor(group.d), data = men, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0]
age_bin
1.Age< 75 3476 (58.0%)
2.Age>= 75 2516 (42.0%)
fnbmd
Median [Q1, Q3] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.17 [-1.73, -0.539]
bmd_bin
1.BMD> -2.5 5697 (95.1%)
2.BMD<= -2.5 295 (4.9%)
fall_bin
1.No falls 4725 (78.9%)
2.Falls 1+ 1267 (21.1%)
fx50_bin
1.No fx 4961 (82.8%)
2.Fx 1+ 1031 (17.2%)
drink_bin
1.Less drinking 4042 (67.5%)
2.Excessive drinking 1950 (32.5%)
as.factor(group.d)
1 1570 (26.2%)
2 801 (13.4%)
3 276 (4.6%)
4 305 (5.1%)
5 40 (0.7%)
6 1015 (16.9%)
7 81 (1.4%)
8 305 (5.1%)
9 167 (2.8%)
10 453 (7.6%)
11 9 (0.2%)
12 10 (0.2%)
13 23 (0.4%)
14 81 (1.4%)
15 166 (2.8%)
16 126 (2.1%)
17 24 (0.4%)
18 25 (0.4%)
19 24 (0.4%)
20 106 (1.8%)
21 137 (2.3%)
22 95 (1.6%)
23 6 (0.1%)
24 4 (0.1%)
25 4 (0.1%)
26 55 (0.9%)
27 22 (0.4%)
28 4 (0.1%)
29 15 (0.3%)
30 39 (0.7%)
32 4 (0.1%)

1.3.3 Association for any fracture

library(survival)
m.any.drink.m = coxph(Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + drink_bin, data = men)
summary(m.any.drink.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + drink_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                                   coef exp(coef) se(coef)      z  Pr(>|z|)    
## age_bin2.Age>= 75             0.597569  1.817694 0.062738 9.5248 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5           0.956198  2.601787 0.103095 9.2749 < 2.2e-16 ***
## fall_bin2.Falls 1+            0.332309  1.394184 0.069781 4.7622 1.915e-06 ***
## fx50_bin2.Fx 1+               0.472066  1.603303 0.071465 6.6055 3.962e-11 ***
## drink_bin2.Excessive drinking 0.068315  1.070702 0.064095 1.0658    0.2865    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                               exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                1.8177    0.55015    1.6074    2.0555
## bmd_bin2.BMD<= -2.5              2.6018    0.38435    2.1258    3.1844
## fall_bin2.Falls 1+               1.3942    0.71727    1.2160    1.5985
## fx50_bin2.Fx 1+                  1.6033    0.62371    1.3937    1.8444
## drink_bin2.Excessive drinking    1.0707    0.93397    0.9443    1.2140
## 
## Concordance= 0.636  (se = 0.009 )
## Likelihood ratio test= 257.72  on 5 df,   p=<2e-16
## Wald test            = 298.84  on 5 df,   p=<2e-16
## Score (logrank) test = 318.13  on 5 df,   p=<2e-16
options(digits = 8)
any.drink.m = coxph(Surv(fu_anyfx, anyfx) ~ as.factor(group.d), data = men)
summary(any.drink.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ as.factor(group.d), data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                          coef exp(coef) se(coef)      z  Pr(>|z|)    
## as.factor(group.d)2   0.15784   1.17097  0.11546 1.3671 0.1716039    
## as.factor(group.d)3   0.64269   1.90160  0.14424 4.4556 8.367e-06 ***
## as.factor(group.d)4   0.23854   1.26939  0.16189 1.4735 0.1406140    
## as.factor(group.d)5   0.77431   2.16909  0.32396 2.3902 0.0168414 *  
## as.factor(group.d)6   0.66880   1.95190  0.10537 6.3472 2.193e-10 ***
## as.factor(group.d)7   1.44360   4.23591  0.21632 6.6735 2.497e-11 ***
## as.factor(group.d)8   1.03436   2.81331  0.14583 7.0928 1.315e-12 ***
## as.factor(group.d)9   1.22578   3.40682  0.16835 7.2811 3.311e-13 ***
## as.factor(group.d)10  0.74269   2.10157  0.12912 5.7520 8.821e-09 ***
## as.factor(group.d)11  1.43287   4.19073  0.50494 2.8377 0.0045436 ** 
## as.factor(group.d)12  1.54659   4.69545  0.45271 3.4163 0.0006348 ***
## as.factor(group.d)13  1.27902   3.59313  0.36052 3.5477 0.0003886 ***
## as.factor(group.d)14  0.85384   2.34864  0.22924 3.7246 0.0001956 ***
## as.factor(group.d)15  0.63490   1.88683  0.17677 3.5917 0.0003285 ***
## as.factor(group.d)16  0.59535   1.81367  0.19853 2.9988 0.0027100 ** 
## as.factor(group.d)17  1.90945   6.74936  0.34127 5.5951 2.205e-08 ***
## as.factor(group.d)18  2.50595  12.25514  0.26879 9.3230 < 2.2e-16 ***
## as.factor(group.d)19  1.75333   5.77379  0.36095 4.8575 1.188e-06 ***
## as.factor(group.d)20  1.38288   3.98635  0.20553 6.7285 1.714e-11 ***
## as.factor(group.d)21  1.02587   2.78951  0.19064 5.3813 7.395e-08 ***
## as.factor(group.d)22  0.61451   1.84876  0.26790 2.2938 0.0218014 *  
## as.factor(group.d)23  1.70994   5.52862  0.58180 2.9391 0.0032920 ** 
## as.factor(group.d)24  2.25773   9.56139  0.58165 3.8816 0.0001038 ***
## as.factor(group.d)25  1.07833   2.93976  1.00252 1.0756 0.2820967    
## as.factor(group.d)26  0.77689   2.17469  0.28610 2.7154 0.0066190 ** 
## as.factor(group.d)27  2.58667  13.28547  0.32493 7.9607 1.710e-15 ***
## as.factor(group.d)28  1.85726   6.40616  1.00316 1.8514 0.0641096 .  
## as.factor(group.d)29  1.90775   6.73793  0.41465 4.6009 4.207e-06 ***
## as.factor(group.d)30  1.58086   4.85914  0.29759 5.3123 1.083e-07 ***
## as.factor(group.d)32  1.43810   4.21267  1.00296 1.4339 0.1516139    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.d)2     1.1710   0.853989   0.93384    1.4683
## as.factor(group.d)3     1.9016   0.525874   1.43330    2.5229
## as.factor(group.d)4     1.2694   0.787777   0.92427    1.7434
## as.factor(group.d)5     2.1691   0.461023   1.14954    4.0929
## as.factor(group.d)6     1.9519   0.512321   1.58769    2.3997
## as.factor(group.d)7     4.2359   0.236077   2.77215    6.4725
## as.factor(group.d)8     2.8133   0.355454   2.11390    3.7441
## as.factor(group.d)9     3.4068   0.293529   2.44934    4.7386
## as.factor(group.d)10    2.1016   0.475834   1.63169    2.7068
## as.factor(group.d)11    4.1907   0.238622   1.55771   11.2744
## as.factor(group.d)12    4.6954   0.212972   1.93344   11.4031
## as.factor(group.d)13    3.5931   0.278309   1.77254    7.2837
## as.factor(group.d)14    2.3486   0.425778   1.49860    3.6809
## as.factor(group.d)15    1.8868   0.529991   1.33434    2.6681
## as.factor(group.d)16    1.8137   0.551369   1.22906    2.6764
## as.factor(group.d)17    6.7494   0.148162   3.45757   13.1751
## as.factor(group.d)18   12.2551   0.081598   7.23638   20.7546
## as.factor(group.d)19    5.7738   0.173197   2.84590   11.7139
## as.factor(group.d)20    3.9863   0.250856   2.66460    5.9637
## as.factor(group.d)21    2.7895   0.358486   1.91981    4.0532
## as.factor(group.d)22    1.8488   0.540904   1.09356    3.1255
## as.factor(group.d)23    5.5286   0.180877   1.76763   17.2919
## as.factor(group.d)24    9.5614   0.104587   3.05790   29.8964
## as.factor(group.d)25    2.9398   0.340164   0.41207   20.9727
## as.factor(group.d)26    2.1747   0.459835   1.24128    3.8100
## as.factor(group.d)27   13.2855   0.075270   7.02743   25.1164
## as.factor(group.d)28    6.4062   0.156100   0.89683   45.7599
## as.factor(group.d)29    6.7379   0.148413   2.98935   15.1872
## as.factor(group.d)30    4.8591   0.205798   2.71178    8.7069
## as.factor(group.d)32    4.2127   0.237379   0.58998   30.0800
## 
## Concordance= 0.638  (se = 0.009 )
## Likelihood ratio test= 277.12  on 30 df,   p=<2e-16
## Wald test            = 327.11  on 30 df,   p=<2e-16
## Score (logrank) test = 395.13  on 30 df,   p=<2e-16

1.3.4 Association for hip fracture

m.hip.drink.m = coxph(Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + drink_bin, data = men)
summary(m.hip.drink.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + drink_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                                   coef exp(coef) se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75              1.10169   3.00926  0.13823  7.9697  1.59e-15 ***
## bmd_bin2.BMD<= -2.5            1.55198   4.72081  0.16849  9.2111 < 2.2e-16 ***
## fall_bin2.Falls 1+             0.32028   1.37751  0.14778  2.1672   0.03022 *  
## fx50_bin2.Fx 1+                0.25454   1.28987  0.15710  1.6202   0.10518    
## drink_bin2.Excessive drinking -0.28434   0.75251  0.14825 -1.9180   0.05511 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                               exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75               3.00926    0.33231   2.29506    3.9457
## bmd_bin2.BMD<= -2.5             4.72081    0.21183   3.39310    6.5680
## fall_bin2.Falls 1+              1.37751    0.72595   1.03110    1.8403
## fx50_bin2.Fx 1+                 1.28987    0.77527   0.94803    1.7550
## drink_bin2.Excessive drinking   0.75251    1.32888   0.56276    1.0062
## 
## Concordance= 0.729  (se = 0.018 )
## Likelihood ratio test= 165.8  on 5 df,   p=<2e-16
## Wald test            = 202.25  on 5 df,   p=<2e-16
## Score (logrank) test = 253.26  on 5 df,   p=<2e-16
options(digits = 8)
hip.smoke.m = coxph(Surv(fu_hipfx, hipfx) ~ as.factor(group.d), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 23,24,30 ; coefficient may be infinite.
summary(hip.smoke.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ as.factor(group.d), data = men)
## 
##   n= 5992, number of events= 237 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.d)2   4.0723e-02  1.0416e+00  2.8357e-01  0.1436 0.8858077    
## as.factor(group.d)3   2.6641e-01  1.3053e+00  3.9088e-01  0.6816 0.4955039    
## as.factor(group.d)4   1.8866e-01  1.2076e+00  3.9088e-01  0.4827 0.6293352    
## as.factor(group.d)5   1.5745e+00  4.8282e+00  5.2709e-01  2.9871 0.0028164 ** 
## as.factor(group.d)6   1.1099e+00  3.0339e+00  2.2632e-01  4.9038 9.400e-07 ***
## as.factor(group.d)7   2.6627e+00  1.4335e+01  3.1620e-01  8.4208 < 2.2e-16 ***
## as.factor(group.d)8   1.6407e+00  5.1587e+00  2.8060e-01  5.8471 5.003e-09 ***
## as.factor(group.d)9   1.7317e+00  5.6504e+00  3.2484e-01  5.3310 9.767e-08 ***
## as.factor(group.d)10  7.4709e-01  2.1108e+00  3.0820e-01  2.4240 0.0153502 *  
## as.factor(group.d)11  2.9250e+00  1.8635e+01  6.0117e-01  4.8656 1.141e-06 ***
## as.factor(group.d)12  2.2638e+00  9.6194e+00  7.2655e-01  3.1158 0.0018344 ** 
## as.factor(group.d)13  1.5723e+00  4.8177e+00  7.2660e-01  2.1639 0.0304712 *  
## as.factor(group.d)14  1.3117e-01  1.1402e+00  7.2649e-01  0.1806 0.8567159    
## as.factor(group.d)15  8.4369e-02  1.0880e+00  5.2705e-01  0.1601 0.8728201    
## as.factor(group.d)16 -1.0756e+00  3.4108e-01  1.0138e+00 -1.0610 0.2886949    
## as.factor(group.d)17  2.7491e+00  1.5628e+01  5.2854e-01  5.2013 1.979e-07 ***
## as.factor(group.d)18  3.0801e+00  2.1760e+01  4.4279e-01  6.9561 3.499e-12 ***
## as.factor(group.d)19  2.3264e+00  1.0241e+01  6.0208e-01  3.8639 0.0001116 ***
## as.factor(group.d)20  1.6026e+00  4.9662e+00  4.4232e-01  3.6233 0.0002909 ***
## as.factor(group.d)21  1.1049e+00  3.0189e+00  4.4186e-01  2.5005 0.0124002 *  
## as.factor(group.d)22  1.0519e+00  2.8631e+00  5.2780e-01  1.9930 0.0462609 *  
## as.factor(group.d)23  2.9901e+00  1.9888e+01  7.2702e-01  4.1128 3.908e-05 ***
## as.factor(group.d)24 -1.2747e+01  2.9097e-06  1.8079e+03 -0.0071 0.9943743    
## as.factor(group.d)25 -1.2741e+01  2.9299e-06  2.2034e+03 -0.0058 0.9953865    
## as.factor(group.d)26 -1.8932e-01  8.2752e-01  1.0138e+00 -0.1867 0.8518634    
## as.factor(group.d)27  2.9235e+00  1.8607e+01  6.0265e-01  4.8512 1.227e-06 ***
## as.factor(group.d)28  3.8510e+00  4.7038e+01  1.0180e+00  3.7829 0.0001550 ***
## as.factor(group.d)29  2.5350e+00  1.2616e+01  7.2725e-01  3.4857 0.0004909 ***
## as.factor(group.d)30  2.1179e+00  8.3135e+00  5.2791e-01  4.0118 6.025e-05 ***
## as.factor(group.d)32 -1.2644e+01  3.2255e-06  2.9370e+03 -0.0043 0.9965650    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.d)2  1.0416e+00 9.6009e-01  0.597465    1.8158
## as.factor(group.d)3  1.3053e+00 7.6612e-01  0.606718    2.8081
## as.factor(group.d)4  1.2076e+00 8.2806e-01  0.561327    2.5981
## as.factor(group.d)5  4.8282e+00 2.0712e-01  1.718402   13.5659
## as.factor(group.d)6  3.0339e+00 3.2961e-01  1.946953    4.7277
## as.factor(group.d)7  1.4335e+01 6.9759e-02  7.713377   26.6411
## as.factor(group.d)8  5.1587e+00 1.9385e-01  2.976425    8.9411
## as.factor(group.d)9  5.6504e+00 1.7698e-01  2.989337   10.6803
## as.factor(group.d)10 2.1108e+00 4.7374e-01  1.153753    3.8619
## as.factor(group.d)11 1.8635e+01 5.3663e-02  5.736060   60.5403
## as.factor(group.d)12 9.6194e+00 1.0396e-01  2.315844   39.9565
## as.factor(group.d)13 4.8177e+00 2.0757e-01  1.159731   20.0136
## as.factor(group.d)14 1.1402e+00 8.7707e-01  0.274523    4.7354
## as.factor(group.d)15 1.0880e+00 9.1909e-01  0.387269    3.0568
## as.factor(group.d)16 3.4108e-01 2.9318e+00  0.046764    2.4878
## as.factor(group.d)17 1.5628e+01 6.3986e-02  5.546567   44.0362
## as.factor(group.d)18 2.1760e+01 4.5957e-02  9.135862   51.8262
## as.factor(group.d)19 1.0241e+01 9.7649e-02  3.146599   33.3289
## as.factor(group.d)20 4.9662e+00 2.0136e-01  2.086975   11.8175
## as.factor(group.d)21 3.0189e+00 3.3125e-01  1.269801    7.1772
## as.factor(group.d)22 2.8631e+00 3.4927e-01  1.017592    8.0558
## as.factor(group.d)23 1.9888e+01 5.0281e-02  4.783582   82.6865
## as.factor(group.d)24 2.9097e-06 3.4367e+05  0.000000       Inf
## as.factor(group.d)25 2.9299e-06 3.4130e+05  0.000000       Inf
## as.factor(group.d)26 8.2752e-01 1.2084e+00  0.113458    6.0357
## as.factor(group.d)27 1.8607e+01 5.3743e-02  5.710857   60.6248
## as.factor(group.d)28 4.7038e+01 2.1259e-02  6.396261  345.9163
## as.factor(group.d)29 1.2616e+01 7.9265e-02  3.033075   52.4751
## as.factor(group.d)30 8.3135e+00 1.2029e-01  2.954118   23.3962
## as.factor(group.d)32 3.2255e-06 3.1003e+05  0.000000       Inf
## 
## Concordance= 0.736  (se = 0.017 )
## Likelihood ratio test= 182.58  on 30 df,   p=<2e-16
## Wald test            = 217.09  on 30 df,   p=<2e-16
## Score (logrank) test = 325.98  on 30 df,   p=<2e-16

1.4 Proactive physical activity

1.4.1 Data management

men = men %>% mutate(physical_bin = case_when(physical4 == "Moderate" | physical4 == "High"  | physical4 == "Low" ~ "1.Proactive",
                                                physical4 == "No" ~ "2.Less active"))

men = men %>% mutate(group.p = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 32))

1.4.2 Prevalences

table1(~ age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin + fx50_bin + physical4 + activity_bin + physical_bin + as.factor(group.p), data = men, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0]
age_bin
1.Age< 75 3476 (58.0%)
2.Age>= 75 2516 (42.0%)
fnbmd
Median [Q1, Q3] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.17 [-1.73, -0.539]
bmd_bin
1.BMD> -2.5 5697 (95.1%)
2.BMD<= -2.5 295 (4.9%)
fall_bin
1.No falls 4725 (78.9%)
2.Falls 1+ 1267 (21.1%)
fx50_bin
1.No fx 4961 (82.8%)
2.Fx 1+ 1031 (17.2%)
physical4
High 866 (14.5%)
Low 1642 (27.4%)
Moderate 679 (11.3%)
No 2805 (46.8%)
activity_bin
1.Proactive 1545 (25.8%)
2.Less active 4447 (74.2%)
physical_bin
1.Proactive 3187 (53.2%)
2.Less active 2805 (46.8%)
as.factor(group.p)
1 1343 (22.4%)
2 1028 (17.2%)
3 223 (3.7%)
4 270 (4.5%)
5 30 (0.5%)
6 782 (13.1%)
7 38 (0.6%)
8 191 (3.2%)
9 131 (2.2%)
10 686 (11.4%)
11 5 (0.1%)
12 6 (0.1%)
13 33 (0.6%)
14 76 (1.3%)
15 201 (3.4%)
16 179 (3.0%)
17 12 (0.2%)
18 16 (0.3%)
19 67 (1.1%)
20 53 (0.9%)
21 251 (4.2%)
22 131 (2.2%)
23 4 (0.1%)
24 8 (0.1%)
25 8 (0.1%)
26 60 (1.0%)
27 7 (0.1%)
28 16 (0.3%)
29 24 (0.4%)
30 92 (1.5%)
31 2 (0.0%)
32 19 (0.3%)

1.4.3 Association for any fracture

library(survival)
m.any.physical.m = coxph(Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + physical_bin, data = men)
summary(m.any.physical.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + physical_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                               coef exp(coef) se(coef)      z  Pr(>|z|)    
## age_bin2.Age>= 75         0.592417  1.808355 0.062857 9.4248 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5       0.940043  2.560091 0.103215 9.1076 < 2.2e-16 ***
## fall_bin2.Falls 1+        0.329209  1.389868 0.069836 4.7140 2.429e-06 ***
## fx50_bin2.Fx 1+           0.470967  1.601542 0.071491 6.5878 4.464e-11 ***
## physical_bin2.Less active 0.080312  1.083625 0.061337 1.3094    0.1904    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                           exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            1.8084    0.55299   1.59875    2.0454
## bmd_bin2.BMD<= -2.5          2.5601    0.39061   2.09122    3.1341
## fall_bin2.Falls 1+           1.3899    0.71949   1.21207    1.5937
## fx50_bin2.Fx 1+              1.6015    0.62440   1.39215    1.8424
## physical_bin2.Less active    1.0836    0.92283   0.96088    1.2221
## 
## Concordance= 0.636  (se = 0.009 )
## Likelihood ratio test= 258.31  on 5 df,   p=<2e-16
## Wald test            = 299.98  on 5 df,   p=<2e-16
## Score (logrank) test = 319.16  on 5 df,   p=<2e-16
options(digits = 8)
any.physical.m = coxph(Surv(fu_anyfx, anyfx) ~ as.factor(group.p), data = men)
summary(any.physical.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ as.factor(group.p), data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                           coef exp(coef)  se(coef)       z  Pr(>|z|)    
## as.factor(group.p)2  -0.019507  0.980682  0.113314 -0.1722 0.8633175    
## as.factor(group.p)3   0.445535  1.561326  0.161546  2.7580 0.0058165 ** 
## as.factor(group.p)4   0.253343  1.288324  0.160224  1.5812 0.1138373    
## as.factor(group.p)5   1.321815  3.750223  0.297750  4.4393 9.023e-06 ***
## as.factor(group.p)6   0.582949  1.791312  0.112869  5.1648 2.407e-07 ***
## as.factor(group.p)7   1.055312  2.872872  0.324668  3.2504 0.0011523 ** 
## as.factor(group.p)8   0.966501  2.628729  0.167819  5.7592 8.452e-09 ***
## as.factor(group.p)9   0.978590  2.660701  0.194043  5.0432 4.579e-07 ***
## as.factor(group.p)10  0.691631  1.996969  0.118576  5.8328 5.450e-09 ***
## as.factor(group.p)11  0.502614  1.653037  1.002640  0.5013 0.6161664    
## as.factor(group.p)12  1.705937  5.506543  0.581936  2.9315 0.0033734 ** 
## as.factor(group.p)13  0.385572  1.470455  0.414665  0.9298 0.3524535    
## as.factor(group.p)14  0.327805  1.387919  0.276937  1.1837 0.2365382    
## as.factor(group.p)15  0.453947  1.574515  0.181845  2.4963 0.0125482 *  
## as.factor(group.p)16  0.712206  2.038483  0.167368  4.2553 2.088e-05 ***
## as.factor(group.p)17  1.698922  5.468052  0.505744  3.3593 0.0007815 ***
## as.factor(group.p)18  2.580432 13.202844  0.310954  8.2984 < 2.2e-16 ***
## as.factor(group.p)19  1.700340  5.475810  0.225979  7.5243 5.299e-14 ***
## as.factor(group.p)20  1.435259  4.200734  0.260683  5.5058 3.676e-08 ***
## as.factor(group.p)21  0.972801  2.645342  0.159660  6.0929 1.109e-09 ***
## as.factor(group.p)22  0.953515  2.594813  0.206200  4.6242 3.760e-06 ***
## as.factor(group.p)23  1.833105  6.253270  0.711006  2.5782 0.0099321 ** 
## as.factor(group.p)24  2.085499  8.048608  0.414712  5.0288 4.936e-07 ***
## as.factor(group.p)25  1.147552  3.150471  0.581905  1.9721 0.0486029 *  
## as.factor(group.p)26  1.236691  3.444199  0.235169  5.2587 1.451e-07 ***
## as.factor(group.p)27  2.256648  9.551024  0.711762  3.1705 0.0015217 ** 
## as.factor(group.p)28  1.953144  7.050823  0.415312  4.7028 2.566e-06 ***
## as.factor(group.p)29  1.956614  7.075326  0.325262  6.0155 1.793e-09 ***
## as.factor(group.p)30  1.340842  3.822261  0.221595  6.0509 1.441e-09 ***
## as.factor(group.p)31  1.357458  3.886301  1.002800  1.3537 0.1758426    
## as.factor(group.p)32  2.368971 10.686386  0.341953  6.9278 4.275e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.p)2    0.98068   1.019699   0.78537    1.2246
## as.factor(group.p)3    1.56133   0.640481   1.13759    2.1429
## as.factor(group.p)4    1.28832   0.776202   0.94111    1.7636
## as.factor(group.p)5    3.75022   0.266651   2.09224    6.7221
## as.factor(group.p)6    1.79131   0.558250   1.43581    2.2348
## as.factor(group.p)7    2.87287   0.348084   1.52040    5.4284
## as.factor(group.p)8    2.62873   0.380412   1.89190    3.6525
## as.factor(group.p)9    2.66070   0.375841   1.81898    3.8919
## as.factor(group.p)10   1.99697   0.500759   1.58285    2.5194
## as.factor(group.p)11   1.65304   0.604947   0.23165   11.7959
## as.factor(group.p)12   5.50654   0.181602   1.76009   17.2276
## as.factor(group.p)13   1.47046   0.680061   0.65236    3.3145
## as.factor(group.p)14   1.38792   0.720503   0.80656    2.3883
## as.factor(group.p)15   1.57452   0.635116   1.10245    2.2487
## as.factor(group.p)16   2.03848   0.490561   1.46839    2.8299
## as.factor(group.p)17   5.46805   0.182880   2.02928   14.7341
## as.factor(group.p)18  13.20284   0.075741   7.17767   24.2858
## as.factor(group.p)19   5.47581   0.182621   3.51637    8.5271
## as.factor(group.p)20   4.20073   0.238054   2.52018    7.0020
## as.factor(group.p)21   2.64534   0.378023   1.93455    3.6173
## as.factor(group.p)22   2.59481   0.385384   1.73216    3.8871
## as.factor(group.p)23   6.25327   0.159916   1.55202   25.1951
## as.factor(group.p)24   8.04861   0.124245   3.57041   18.1436
## as.factor(group.p)25   3.15047   0.317413   1.00706    9.8559
## as.factor(group.p)26   3.44420   0.290343   2.17226    5.4609
## as.factor(group.p)27   9.55102   0.104701   2.36699   38.5393
## as.factor(group.p)28   7.05082   0.141827   3.12411   15.9131
## as.factor(group.p)29   7.07533   0.141336   3.74009   13.3848
## as.factor(group.p)30   3.82226   0.261625   2.47570    5.9012
## as.factor(group.p)31   3.88630   0.257314   0.54444   27.7410
## as.factor(group.p)32  10.68639   0.093577   5.46714   20.8882
## 
## Concordance= 0.637  (se = 0.009 )
## Likelihood ratio test= 283.41  on 31 df,   p=<2e-16
## Wald test            = 337.63  on 31 df,   p=<2e-16
## Score (logrank) test = 407.38  on 31 df,   p=<2e-16

1.4.4 Association for hip fracture

m.hip.physical.m = coxph(Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + physical_bin, data = men)
summary(m.hip.physical.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + physical_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                              coef exp(coef) se(coef)      z  Pr(>|z|)    
## age_bin2.Age>= 75         1.09414   2.98660  0.13835 7.9084 2.608e-15 ***
## bmd_bin2.BMD<= -2.5       1.54736   4.69905  0.16892 9.1605 < 2.2e-16 ***
## fall_bin2.Falls 1+        0.31559   1.37107  0.14789 2.1340   0.03285 *  
## fx50_bin2.Fx 1+           0.23545   1.26548  0.15740 1.4959   0.13468    
## physical_bin2.Less active 0.22797   1.25604  0.13163 1.7319   0.08330 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                           exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            2.9866    0.33483   2.27725    3.9169
## bmd_bin2.BMD<= -2.5          4.6990    0.21281   3.37465    6.5432
## fall_bin2.Falls 1+           1.3711    0.72936   1.02607    1.8321
## fx50_bin2.Fx 1+              1.2655    0.79022   0.92956    1.7228
## physical_bin2.Less active    1.2560    0.79615   0.97042    1.6257
## 
## Concordance= 0.725  (se = 0.018 )
## Likelihood ratio test= 164.96  on 5 df,   p=<2e-16
## Wald test            = 201.47  on 5 df,   p=<2e-16
## Score (logrank) test = 252.52  on 5 df,   p=<2e-16
options(digits = 8)
hip.physical.m = coxph(Surv(fu_hipfx, hipfx) ~ as.factor(group.p), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 10,26 ; coefficient may be infinite.
summary(hip.physical.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ as.factor(group.p), data = men)
## 
##   n= 5992, number of events= 237 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.p)2  -1.3499e-01  8.7372e-01  2.7756e-01 -0.4864 0.6267165    
## as.factor(group.p)3  -6.3959e-01  5.2751e-01  6.0229e-01 -1.0619 0.2882610    
## as.factor(group.p)4  -1.4436e-01  8.6558e-01  4.4281e-01 -0.3260 0.7444225    
## as.factor(group.p)5   1.6094e+00  4.9998e+00  6.0244e-01  2.6715 0.0075518 ** 
## as.factor(group.p)6   9.5558e-01  2.6002e+00  2.4376e-01  3.9202 8.846e-05 ***
## as.factor(group.p)7   1.8351e+00  6.2660e+00  5.2937e-01  3.4666 0.0005270 ***
## as.factor(group.p)8   6.9435e-01  2.0024e+00  4.4368e-01  1.5650 0.1175892    
## as.factor(group.p)9   1.3379e+00  3.8111e+00  3.9392e-01  3.3964 0.0006829 ***
## as.factor(group.p)10  9.1530e-01  2.4975e+00  2.6506e-01  3.4531 0.0005541 ***
## as.factor(group.p)11 -1.2795e+01  2.7745e-06  1.6733e+03 -0.0076 0.9938988    
## as.factor(group.p)12  2.2422e+00  9.4139e+00  1.0147e+00  2.2098 0.0271204 *  
## as.factor(group.p)13  1.4135e+00  4.1101e+00  6.0233e-01  2.3467 0.0189424 *  
## as.factor(group.p)14 -6.4544e-01  5.2443e-01  1.0146e+00 -0.6362 0.5246762    
## as.factor(group.p)15  3.8374e-01  1.4678e+00  4.4292e-01  0.8664 0.3862789    
## as.factor(group.p)16  4.0384e-01  1.4976e+00  4.4289e-01  0.9118 0.3618568    
## as.factor(group.p)17  2.7178e+00  1.5147e+01  7.2860e-01  3.7302 0.0001913 ***
## as.factor(group.p)18  3.4808e+00  3.2486e+01  4.8072e-01  7.2409 4.459e-13 ***
## as.factor(group.p)19  2.8972e+00  1.8123e+01  3.2792e-01  8.8351 < 2.2e-16 ***
## as.factor(group.p)20  1.7101e+00  5.5296e+00  5.2934e-01  3.2306 0.0012352 ** 
## as.factor(group.p)21  1.8120e+00  6.1229e+00  2.8380e-01  6.3850 1.714e-10 ***
## as.factor(group.p)22  1.5816e+00  4.8629e+00  3.7615e-01  4.2048 2.613e-05 ***
## as.factor(group.p)23  2.7085e+00  1.5007e+01  1.0150e+00  2.6686 0.0076168 ** 
## as.factor(group.p)24  2.9575e+00  1.9251e+01  6.0249e-01  4.9089 9.160e-07 ***
## as.factor(group.p)25  1.6534e+00  5.2248e+00  1.0146e+00  1.6296 0.1031943    
## as.factor(group.p)26  4.6008e-01  1.5842e+00  7.2765e-01  0.6323 0.5272002    
## as.factor(group.p)27 -1.2675e+01  3.1281e-06  2.9690e+03 -0.0043 0.9965937    
## as.factor(group.p)28  2.9080e+00  1.8320e+01  6.0455e-01  4.8101 1.508e-06 ***
## as.factor(group.p)29  2.2706e+00  9.6850e+00  6.0335e-01  3.7633 0.0001677 ***
## as.factor(group.p)30  1.7147e+00  5.5552e+00  4.4445e-01  3.8581 0.0001143 ***
## as.factor(group.p)31  3.1978e+00  2.4478e+01  1.0156e+00  3.1485 0.0016409 ** 
## as.factor(group.p)32  2.8476e+00  1.7246e+01  6.0374e-01  4.7166 2.398e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.p)2  8.7372e-01 1.1445e+00  0.507127    1.5053
## as.factor(group.p)3  5.2751e-01 1.8957e+00  0.162018    1.7175
## as.factor(group.p)4  8.6558e-01 1.1553e+00  0.363402    2.0617
## as.factor(group.p)5  4.9998e+00 2.0001e-01  1.535174   16.2837
## as.factor(group.p)6  2.6002e+00 3.8459e-01  1.612574    4.1927
## as.factor(group.p)7  6.2660e+00 1.5959e-01  2.220168   17.6843
## as.factor(group.p)8  2.0024e+00 4.9940e-01  0.839246    4.7777
## as.factor(group.p)9  3.8111e+00 2.6239e-01  1.760918    8.2481
## as.factor(group.p)10 2.4975e+00 4.0040e-01  1.485551    4.1989
## as.factor(group.p)11 2.7745e-06 3.6043e+05  0.000000       Inf
## as.factor(group.p)12 9.4139e+00 1.0623e-01  1.288502   68.7789
## as.factor(group.p)13 4.1101e+00 2.4330e-01  1.262278   13.3831
## as.factor(group.p)14 5.2443e-01 1.9068e+00  0.071789    3.8311
## as.factor(group.p)15 1.4678e+00 6.8131e-01  0.616085    3.4968
## as.factor(group.p)16 1.4976e+00 6.6775e-01  0.628632    3.5676
## as.factor(group.p)17 1.5147e+01 6.6019e-02  3.631983   63.1703
## as.factor(group.p)18 3.2486e+01 3.0782e-02 12.662180   83.3459
## as.factor(group.p)19 1.8123e+01 5.5178e-02  9.530373   34.4636
## as.factor(group.p)20 5.5296e+00 1.8085e-01  1.959355   15.6052
## as.factor(group.p)21 6.1229e+00 1.6332e-01  3.510649   10.6788
## as.factor(group.p)22 4.8629e+00 2.0564e-01  2.326559   10.1643
## as.factor(group.p)23 1.5007e+01 6.6637e-02  2.052851  109.7014
## as.factor(group.p)24 1.9251e+01 5.1947e-02  5.910219   62.7024
## as.factor(group.p)25 5.2248e+00 1.9140e-01  0.715168   38.1703
## as.factor(group.p)26 1.5842e+00 6.3123e-01  0.380572    6.5945
## as.factor(group.p)27 3.1281e-06 3.1968e+05  0.000000       Inf
## as.factor(group.p)28 1.8320e+01 5.4586e-02  5.601754   59.9128
## as.factor(group.p)29 9.6850e+00 1.0325e-01  2.968444   31.5985
## as.factor(group.p)30 5.5552e+00 1.8001e-01  2.324763   13.2745
## as.factor(group.p)31 2.4478e+01 4.0854e-02  3.343951  179.1750
## as.factor(group.p)32 1.7246e+01 5.7983e-02  5.281980   56.3122
## 
## Concordance= 0.738  (se = 0.017 )
## Likelihood ratio test= 191.47  on 31 df,   p=<2e-16
## Wald test            = 233.92  on 31 df,   p=<2e-16
## Score (logrank) test = 368.44  on 31 df,   p=<2e-16

1.5 Calcium intake (Adequate: >= 1000 mg/day)

1.5.1 Data management

men = men %>% mutate(calci_bin = case_when(calcium2 >= 1000 ~ "1.Sufficient Calcium",
                                           calcium2 < 1000 ~ "2.Insufficient Calcium"))

men = men %>% mutate(group.c = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 32))

1.5.2 Prevalences

table1(~ age + age_bin + fnbmd + Tscore + bmd_bin + fall_bin + fx50_bin + calcium2 + calci_bin + as.factor(group.c), data = men, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=5992)
age
Median [Q1, Q3] 73.0 [69.0, 78.0]
age_bin
1.Age< 75 3476 (58.0%)
2.Age>= 75 2516 (42.0%)
fnbmd
Median [Q1, Q3] 0.774 [0.696, 0.860]
Tscore
Median [Q1, Q3] -1.17 [-1.73, -0.539]
bmd_bin
1.BMD> -2.5 5697 (95.1%)
2.BMD<= -2.5 295 (4.9%)
fall_bin
1.No falls 4725 (78.9%)
2.Falls 1+ 1267 (21.1%)
fx50_bin
1.No fx 4961 (82.8%)
2.Fx 1+ 1031 (17.2%)
calcium2
Median [Q1, Q3] 728 [522, 991]
calci_bin
1.Sufficient Calcium 1458 (24.3%)
2.Insufficient Calcium 4534 (75.7%)
as.factor(group.c)
1 554 (9.2%)
2 1817 (30.3%)
3 100 (1.7%)
4 122 (2.0%)
5 15 (0.3%)
6 364 (6.1%)
7 22 (0.4%)
8 121 (2.0%)
9 62 (1.0%)
10 1104 (18.4%)
11 6 (0.1%)
12 2 (0.0%)
13 48 (0.8%)
14 32 (0.5%)
15 349 (5.8%)
16 302 (5.0%)
17 5 (0.1%)
18 8 (0.1%)
19 83 (1.4%)
20 39 (0.7%)
21 321 (5.4%)
22 200 (3.3%)
24 7 (0.1%)
25 12 (0.2%)
26 104 (1.7%)
27 6 (0.1%)
28 23 (0.4%)
29 32 (0.5%)
30 106 (1.8%)
31 6 (0.1%)
32 20 (0.3%)

1.5.3 Association for any fracture

library(survival)
m.any.calci.m = coxph(Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + calci_bin, data = men)
summary(m.any.calci.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + calci_bin, data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                                     coef exp(coef) se(coef)      z  Pr(>|z|)
## age_bin2.Age>= 75               0.597585  1.817724 0.062762 9.5215 < 2.2e-16
## bmd_bin2.BMD<= -2.5             0.949808  2.585213 0.102930 9.2277 < 2.2e-16
## fall_bin2.Falls 1+              0.332225  1.394066 0.069798 4.7598 1.938e-06
## fx50_bin2.Fx 1+                 0.473618  1.605793 0.071454 6.6283 3.395e-11
## calci_bin2.Insufficient Calcium 0.025972  1.026313 0.070796 0.3669    0.7137
##                                    
## age_bin2.Age>= 75               ***
## bmd_bin2.BMD<= -2.5             ***
## fall_bin2.Falls 1+              ***
## fx50_bin2.Fx 1+                 ***
## calci_bin2.Insufficient Calcium    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                                 exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                  1.8177    0.55014   1.60733    2.0557
## bmd_bin2.BMD<= -2.5                2.5852    0.38682   2.11291    3.1631
## fall_bin2.Falls 1+                 1.3941    0.71733   1.21583    1.5984
## fx50_bin2.Fx 1+                    1.6058    0.62275   1.39594    1.8472
## calci_bin2.Insufficient Calcium    1.0263    0.97436   0.89334    1.1791
## 
## Concordance= 0.635  (se = 0.009 )
## Likelihood ratio test= 256.73  on 5 df,   p=<2e-16
## Wald test            = 297.93  on 5 df,   p=<2e-16
## Score (logrank) test = 317.22  on 5 df,   p=<2e-16
options(digits = 8)
any.calci.m = coxph(Surv(fu_anyfx, anyfx) ~ as.factor(group.c), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 11,16 ; coefficient may be infinite.
summary(any.calci.m)
## Call:
## coxph(formula = Surv(fu_anyfx, anyfx) ~ as.factor(group.c), data = men)
## 
##   n= 5992, number of events= 1084 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.c)2  -6.7138e-02  9.3507e-01  1.2952e-01 -0.5184 0.6041958    
## as.factor(group.c)3   6.4204e-01  1.9003e+00  2.2610e-01  2.8396 0.0045165 ** 
## as.factor(group.c)4   3.5101e-01  1.4205e+00  2.3694e-01  1.4814 0.1384903    
## as.factor(group.c)5   1.2732e+00  3.5722e+00  4.2353e-01  3.0062 0.0026456 ** 
## as.factor(group.c)6   4.6777e-01  1.5964e+00  1.7408e-01  2.6871 0.0072074 ** 
## as.factor(group.c)7   1.1856e+00  3.2728e+00  4.2366e-01  2.7986 0.0051328 ** 
## as.factor(group.c)8   8.8872e-01  2.4320e+00  2.2984e-01  3.8668 0.0001103 ***
## as.factor(group.c)9   8.3156e-01  2.2969e+00  2.9959e-01  2.7757 0.0055091 ** 
## as.factor(group.c)10  6.2647e-01  1.8710e+00  1.3386e-01  4.6802 2.866e-06 ***
## as.factor(group.c)11  2.3803e+00  1.0808e+01  4.6174e-01  5.1551 2.535e-07 ***
## as.factor(group.c)12 -1.2188e+01  5.0913e-06  9.2764e+02 -0.0131 0.9895172    
## as.factor(group.c)13  7.0636e-01  2.0266e+00  3.0985e-01  2.2797 0.0226264 *  
## as.factor(group.c)14  3.3054e-01  1.3917e+00  4.2347e-01  0.7805 0.4350741    
## as.factor(group.c)15  2.6881e-01  1.3084e+00  1.6967e-01  1.5843 0.1131344    
## as.factor(group.c)16  4.7734e-01  1.6118e+00  1.6677e-01  2.8622 0.0042066 ** 
## as.factor(group.c)17 -1.2171e+01  5.1797e-06  6.7200e+02 -0.0181 0.9855500    
## as.factor(group.c)18  2.0269e+00  7.5908e+00  4.2373e-01  4.7836 1.722e-06 ***
## as.factor(group.c)19  1.4668e+00  4.3354e+00  2.2659e-01  6.4736 9.569e-11 ***
## as.factor(group.c)20  1.3054e+00  3.6890e+00  3.3593e-01  3.8859 0.0001020 ***
## as.factor(group.c)21  9.4067e-01  2.5617e+00  1.6532e-01  5.6901 1.270e-08 ***
## as.factor(group.c)22  9.5185e-01  2.5905e+00  1.8713e-01  5.0865 3.647e-07 ***
## as.factor(group.c)24  7.4727e-01  2.1112e+00  7.1602e-01  1.0436 0.2966563    
## as.factor(group.c)25  1.5030e+00  4.4952e+00  4.2348e-01  3.5492 0.0003864 ***
## as.factor(group.c)26  8.2405e-01  2.2797e+00  2.1995e-01  3.7466 0.0001793 ***
## as.factor(group.c)27  2.1166e+00  8.3028e+00  7.1693e-01  2.9523 0.0031544 ** 
## as.factor(group.c)28  2.0996e+00  8.1627e+00  3.3660e-01  6.2376 4.444e-10 ***
## as.factor(group.c)29  2.2661e+00  9.6419e+00  2.8295e-01  8.0090 1.156e-15 ***
## as.factor(group.c)30  1.3457e+00  3.8408e+00  2.1779e-01  6.1788 6.460e-10 ***
## as.factor(group.c)31  1.6051e+00  4.9782e+00  5.8838e-01  2.7279 0.0063736 ** 
## as.factor(group.c)32  2.3509e+00  1.0495e+01  3.5252e-01  6.6689 2.577e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.c)2  9.3507e-01 1.0694e+00   0.72543    1.2053
## as.factor(group.c)3  1.9003e+00 5.2622e-01   1.22005    2.9600
## as.factor(group.c)4  1.4205e+00 7.0398e-01   0.89281    2.2601
## as.factor(group.c)5  3.5722e+00 2.7994e-01   1.55752    8.1931
## as.factor(group.c)6  1.5964e+00 6.2640e-01   1.13494    2.2456
## as.factor(group.c)7  3.2728e+00 3.0555e-01   1.42659    7.5081
## as.factor(group.c)8  2.4320e+00 4.1118e-01   1.55000    3.8160
## as.factor(group.c)9  2.2969e+00 4.3537e-01   1.27682    4.1319
## as.factor(group.c)10 1.8710e+00 5.3447e-01   1.43925    2.4323
## as.factor(group.c)11 1.0808e+01 9.2521e-02   4.37243   26.7173
## as.factor(group.c)12 5.0913e-06 1.9641e+05   0.00000       Inf
## as.factor(group.c)13 2.0266e+00 4.9344e-01   1.10414    3.7198
## as.factor(group.c)14 1.3917e+00 7.1854e-01   0.60686    3.1916
## as.factor(group.c)15 1.3084e+00 7.6429e-01   0.93824    1.8246
## as.factor(group.c)16 1.6118e+00 6.2043e-01   1.16238    2.2349
## as.factor(group.c)17 5.1797e-06 1.9306e+05   0.00000       Inf
## as.factor(group.c)18 7.5908e+00 1.3174e-01   3.30836   17.4167
## as.factor(group.c)19 4.3354e+00 2.3066e-01   2.78076    6.7593
## as.factor(group.c)20 3.6890e+00 2.7107e-01   1.90973    7.1262
## as.factor(group.c)21 2.5617e+00 3.9037e-01   1.85272    3.5420
## as.factor(group.c)22 2.5905e+00 3.8603e-01   1.79513    3.7383
## as.factor(group.c)24 2.1112e+00 4.7366e-01   0.51886    8.5904
## as.factor(group.c)25 4.4952e+00 2.2246e-01   1.96011   10.3090
## as.factor(group.c)26 2.2797e+00 4.3865e-01   1.48136    3.5083
## as.factor(group.c)27 8.3028e+00 1.2044e-01   2.03688   33.8437
## as.factor(group.c)28 8.1627e+00 1.2251e-01   4.22008   15.7889
## as.factor(group.c)29 9.6419e+00 1.0371e-01   5.53758   16.7884
## as.factor(group.c)30 3.8408e+00 2.6036e-01   2.50632    5.8857
## as.factor(group.c)31 4.9782e+00 2.0088e-01   1.57121   15.7725
## as.factor(group.c)32 1.0495e+01 9.5282e-02   5.25928   20.9436
## 
## Concordance= 0.635  (se = 0.009 )
## Likelihood ratio test= 278.29  on 30 df,   p=<2e-16
## Wald test            = 328.4  on 30 df,   p=<2e-16
## Score (logrank) test = 396.73  on 30 df,   p=<2e-16

1.5.4 Association for hip fracture

m.hip.calci.m = coxph(Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + calci_bin, data = men)
summary(m.hip.calci.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + calci_bin, data = men)
## 
##   n= 5992, number of events= 237 
## 
##                                     coef exp(coef) se(coef)      z  Pr(>|z|)
## age_bin2.Age>= 75               1.107198  3.025867 0.138169 8.0133 1.116e-15
## bmd_bin2.BMD<= -2.5             1.575406  4.832701 0.168074 9.3733 < 2.2e-16
## fall_bin2.Falls 1+              0.326992  1.386791 0.147697 2.2139   0.02683
## fx50_bin2.Fx 1+                 0.249872  1.283861 0.157082 1.5907   0.11167
## calci_bin2.Insufficient Calcium 0.056672  1.058309 0.152101 0.3726   0.70945
##                                    
## age_bin2.Age>= 75               ***
## bmd_bin2.BMD<= -2.5             ***
## fall_bin2.Falls 1+              *  
## fx50_bin2.Fx 1+                    
## calci_bin2.Insufficient Calcium    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                                 exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                  3.0259    0.33048   2.30802    3.9670
## bmd_bin2.BMD<= -2.5                4.8327    0.20692   3.47636    6.7182
## fall_bin2.Falls 1+                 1.3868    0.72109   1.03822    1.8524
## fx50_bin2.Fx 1+                    1.2839    0.77890   0.94365    1.7467
## calci_bin2.Insufficient Calcium    1.0583    0.94490   0.78550    1.4259
## 
## Concordance= 0.724  (se = 0.017 )
## Likelihood ratio test= 162.1  on 5 df,   p=<2e-16
## Wald test            = 198.18  on 5 df,   p=<2e-16
## Score (logrank) test = 249.33  on 5 df,   p=<2e-16
options(digits = 8)
hip.calci.m = coxph(Surv(fu_hipfx, hipfx) ~ as.factor(group.c), data = men)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 4,11,16,17,22,25 ; coefficient may be
## infinite.
summary(hip.calci.m)
## Call:
## coxph(formula = Surv(fu_hipfx, hipfx) ~ as.factor(group.c), data = men)
## 
##   n= 5992, number of events= 237 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.c)2   1.8101e-01  1.1984e+00  3.3711e-01  0.5370 0.5913008    
## as.factor(group.c)3   7.0271e-01  2.0192e+00  5.8388e-01  1.2035 0.2287750    
## as.factor(group.c)4   5.2154e-01  1.6846e+00  5.8388e-01  0.8932 0.3717317    
## as.factor(group.c)5  -1.3589e+01  1.2541e-06  1.6820e+03 -0.0081 0.9935538    
## as.factor(group.c)6   1.4154e+00  4.1182e+00  3.7601e-01  3.7644 0.0001670 ***
## as.factor(group.c)7   2.1141e+00  8.2825e+00  7.6923e-01  2.7484 0.0059892 ** 
## as.factor(group.c)8   1.7586e+00  5.8042e+00  4.6556e-01  3.7774 0.0001585 ***
## as.factor(group.c)9   8.8868e-01  2.4319e+00  7.6925e-01  1.1553 0.2479833    
## as.factor(group.c)10  1.0151e+00  2.7596e+00  3.4230e-01  2.9656 0.0030214 ** 
## as.factor(group.c)11  3.5006e+00  3.3135e+01  6.5159e-01  5.3724 7.770e-08 ***
## as.factor(group.c)12 -1.3599e+01  1.2411e-06  5.1648e+03 -0.0026 0.9978991    
## as.factor(group.c)13  2.0003e+00  7.3916e+00  5.0758e-01  3.9409 8.117e-05 ***
## as.factor(group.c)14  4.8244e-01  1.6200e+00  1.0445e+00  0.4619 0.6441545    
## as.factor(group.c)15  1.7941e-01  1.1965e+00  4.6466e-01  0.3861 0.6994194    
## as.factor(group.c)16 -1.8052e-01  8.3483e-01  5.3936e-01 -0.3347 0.7378538    
## as.factor(group.c)17 -1.3558e+01  1.2936e-06  3.8022e+03 -0.0036 0.9971549    
## as.factor(group.c)18 -1.3564e+01  1.2863e-06  2.5063e+03 -0.0054 0.9956819    
## as.factor(group.c)19  2.8429e+00  1.7166e+01  3.9797e-01  7.1435 9.097e-13 ***
## as.factor(group.c)20  1.5198e+00  4.5714e+00  7.6901e-01  1.9763 0.0481180 *  
## as.factor(group.c)21  1.5624e+00  4.7702e+00  3.8376e-01  4.0713 4.675e-05 ***
## as.factor(group.c)22  1.8215e+00  6.1813e+00  3.9783e-01  4.5787 4.678e-06 ***
## as.factor(group.c)24 -1.3596e+01  1.2450e-06  2.3660e+03 -0.0057 0.9954149    
## as.factor(group.c)25  2.2327e+00  9.3247e+00  7.6875e-01  2.9043 0.0036810 ** 
## as.factor(group.c)26  5.7266e-03  1.0057e+00  7.6871e-01  0.0074 0.9940561    
## as.factor(group.c)27 -1.3547e+01  1.3079e-06  3.7884e+03 -0.0036 0.9971468    
## as.factor(group.c)28  3.2706e+00  2.6326e+01  5.4135e-01  6.0415 1.527e-09 ***
## as.factor(group.c)29  3.4356e+00  3.1050e+01  4.6645e-01  7.3655 1.765e-13 ***
## as.factor(group.c)30  2.0343e+00  7.6467e+00  4.6608e-01  4.3646 1.273e-05 ***
## as.factor(group.c)31  3.1191e+00  2.2625e+01  7.6917e-01  4.0551 5.011e-05 ***
## as.factor(group.c)32  3.2210e+00  2.5054e+01  6.5359e-01  4.9282 8.299e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.c)2  1.1984e+00 8.3443e-01   0.61897    2.3204
## as.factor(group.c)3  2.0192e+00 4.9524e-01   0.64296    6.3413
## as.factor(group.c)4  1.6846e+00 5.9361e-01   0.53642    5.2905
## as.factor(group.c)5  1.2541e-06 7.9740e+05   0.00000       Inf
## as.factor(group.c)6  4.1182e+00 2.4282e-01   1.97085    8.6053
## as.factor(group.c)7  8.2825e+00 1.2074e-01   1.83395   37.4053
## as.factor(group.c)8  5.8042e+00 1.7229e-01   2.33054   14.4551
## as.factor(group.c)9  2.4319e+00 4.1120e-01   0.53848   10.9833
## as.factor(group.c)10 2.7596e+00 3.6237e-01   1.41088    5.3978
## as.factor(group.c)11 3.3135e+01 3.0180e-02   9.23956  118.8277
## as.factor(group.c)12 1.2411e-06 8.0572e+05   0.00000       Inf
## as.factor(group.c)13 7.3916e+00 1.3529e-01   2.73326   19.9890
## as.factor(group.c)14 1.6200e+00 6.1728e-01   0.20915   12.5481
## as.factor(group.c)15 1.1965e+00 8.3576e-01   0.48128    2.9747
## as.factor(group.c)16 8.3483e-01 1.1978e+00   0.29006    2.4027
## as.factor(group.c)17 1.2936e-06 7.7306e+05   0.00000       Inf
## as.factor(group.c)18 1.2863e-06 7.7743e+05   0.00000       Inf
## as.factor(group.c)19 1.7166e+01 5.8255e-02   7.86882   37.4470
## as.factor(group.c)20 4.5714e+00 2.1875e-01   1.01266   20.6364
## as.factor(group.c)21 4.7702e+00 2.0964e-01   2.24844   10.1202
## as.factor(group.c)22 6.1813e+00 1.6178e-01   2.83434   13.4806
## as.factor(group.c)24 1.2450e-06 8.0321e+05   0.00000       Inf
## as.factor(group.c)25 9.3247e+00 1.0724e-01   2.06668   42.0725
## as.factor(group.c)26 1.0057e+00 9.9429e-01   0.22293    4.5375
## as.factor(group.c)27 1.3079e-06 7.6459e+05   0.00000       Inf
## as.factor(group.c)28 2.6326e+01 3.7985e-02   9.11153   76.0655
## as.factor(group.c)29 3.1050e+01 3.2206e-02  12.44577   77.4646
## as.factor(group.c)30 7.6467e+00 1.3078e-01   3.06722   19.0636
## as.factor(group.c)31 2.2625e+01 4.4198e-02   5.01048  102.1672
## as.factor(group.c)32 2.5054e+01 3.9914e-02   6.95882   90.2004
## 
## Concordance= 0.739  (se = 0.017 )
## Likelihood ratio test= 196.98  on 30 df,   p=<2e-16
## Wald test            = 239.9  on 30 df,   p=<2e-16
## Score (logrank) test = 382.01  on 30 df,   p=<2e-16

2. WOMEN

Data management

women = read.csv("C:\\Thach\\Research projects\\PAR for lifestyle factors\\women.csv")
head(women)
##   data id visit gender age    race education weight height      bmi no_falls
## 1  SOF  1     2  FALSE  69 1:WHITE         9   67.3  150.5 29.71270        2
## 2  SOF  2     2  FALSE  84 1:WHITE        10   68.4  151.8 29.68333        1
## 3  SOF  3     2  FALSE  75 1:WHITE        12   72.7  151.0 31.88457        3
## 4  SOF  4     2  FALSE  67 1:WHITE        12   60.6  155.1 25.19121        1
## 5  SOF  5     2  FALSE  84 1:WHITE        17   44.7  157.0 18.13461        0
## 6  SOF  6     2  FALSE  71 1:WHITE        15   84.1  161.6 32.20426        0
##   fx50 physical hypertension copd parkinson cancer rheumatoid cvd renal
## 1    1        0            0    0         0      0          0   0     0
## 2    1        0            1    0         0      0          0   1     0
## 3    0        1            0    1         0      1          0   0     0
## 4    0        1            0    0         0      1          0   0     0
## 5    0        0            0    0         0      0          0   0     1
## 6    0        1            1    0         1      0          0   0     0
##   depression diabetes medyes deathx fnbmd time2visit anyfx time2any hipfx
## 1          0        0      0      0 0.656          0     0  17.2238     0
## 2          0        2      0      1 0.585          0     0   6.5325     0
## 3          0        0      1      0 0.654          0     0  18.6366     0
## 4          0        0      1      0 0.842          0     0  19.7481     0
## 5          0        0      0      0 0.487          0     0  14.8720     0
## 6          0        0      0      0 0.851          0     0  19.6167     0
##   time2hip death  time2end     tscore        osteo smoke physical4   drink4
## 1  17.2238     0 17.223820 -1.6833330   Osteopenia  Past        No      Low
## 2   6.5325     1  6.532512 -2.2750000   Osteopenia Never        No       No
## 3  18.6366     0 18.636550 -1.7000000   Osteopenia  Past        No Moderate
## 4  19.7481     0 19.748120 -0.1333333       Normal Never        No       No
## 5  14.8720     0 14.872010 -3.0916670 Osteoporosis Never        No       No
## 6  19.6167     0 19.616700 -0.0583333       Normal Never        No       No
##    coffee4 calcium2 protein2
## 1      Low     1787      210
## 2      Low     6727      336
## 3 Moderate     5316      448
## 4 Moderate     8666      484
## 5 Moderate     5216      317
## 6 Moderate     1956      308
dim(women)
## [1] 7959   40

Create variables

women = women %>% mutate(age_bin = case_when(age < 75 ~ "1.Age< 75",
                                           age >= 75 ~ "2.Age>= 75"))

women = women %>% mutate(bmd_bin = case_when(tscore > -2.5 ~ "1.BMD> -2.5",
                                           tscore <= -2.5 ~ "2.BMD<= -2.5"))

women = women %>% mutate(fall_bin = case_when(no_falls == 0 ~ "1.No falls",
                                            no_falls > 0 ~ "2.Falls 1+"))

women = women %>% mutate(fx50_bin = case_when(fx50 == 0 ~ "1.No fx",
                                            fx50 > 0 ~ "2.Fx 1+"))

women = women %>% mutate(smoke_bin0 = case_when(smoke == "Never" | smoke == "Past" ~ "1.No/past smoking",
                                             smoke == "Current"  ~ "2.Current smoking"))

women = women %>% mutate(smoke_bin = case_when(smoke == "Never"~ "1.No/past smoking",
                                             smoke == "Current" | smoke == "Past"  ~ "2.Current smoking"))

women = women %>% mutate(drink_bin = case_when(drink4 == "No" | drink4 == "Low" | drink4 == "Moderate" ~ "1.Less drinking",
                                             drink4 == "High" ~ "2.Excessive drinking"))

women = women %>% mutate(activity_bin = case_when(physical4 == "Moderate" | physical4 == "High" ~ "1.Proactive",
                                                physical4 == "No" | physical4 == "Low" ~ "2.Less active"))

women = women %>% mutate(calci_bin = case_when(calcium2 >= 6611.5 ~ "1.Sufficient Calcium",
                                           calcium2 < 6611.5 ~ "2.Insufficient Calcium"))
                                             
men = men %>% mutate(protein_bin = case_when(protein2 >= 436 ~ "1.Sufficient protein",
                                             protein2 < 436 ~ "2.Insufficient protein"))

2.1 Descriptive analysis

table1(~ age + race + fnbmd + tscore + as.factor(no_falls) + as.factor(fx50) + as.factor(smoke) + as.factor(drink4) + as.factor(physical4) + calcium2 + protein2 + as.factor(education) + bmi + as.factor(cvd) + as.factor(hypertension) + as.factor(copd) + as.factor(diabetes) + as.factor(cancer) + as.factor(renal) + as.factor(parkinson) + as.factor(depression) + as.factor(rheumatoid) + as.factor(death) | anyfx, data = women, render.continuous = c(. = "Median [Q1, Q3]"))
## Warning in table1.formula(~age + race + fnbmd + tscore + as.factor(no_falls) +
## : Terms to the right of '|' in formula 'x' define table columns and are
## expected to be factors with meaningful labels.
0
(N=5330)
1
(N=2629)
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0] 73.0 [70.0, 77.0] 72.0 [69.0, 76.0]
race
1:WHITE 5317 (99.8%) 2620 (99.7%) 7937 (99.7%)
2 13 (0.2%) 9 (0.3%) 22 (0.3%)
fnbmd
Median [Q1, Q3] 0.650 [0.581, 0.724] 0.617 [0.555, 0.685] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.73 [-2.31, -1.12] -2.01 [-2.53, -1.44] -1.83 [-2.39, -1.22]
as.factor(no_falls)
0 3771 (70.8%) 1819 (69.2%) 5590 (70.2%)
1 1047 (19.6%) 525 (20.0%) 1572 (19.8%)
2 337 (6.3%) 196 (7.5%) 533 (6.7%)
3 103 (1.9%) 47 (1.8%) 150 (1.9%)
4 31 (0.6%) 23 (0.9%) 54 (0.7%)
5 13 (0.2%) 6 (0.2%) 19 (0.2%)
6 12 (0.2%) 7 (0.3%) 19 (0.2%)
7 2 (0.0%) 1 (0.0%) 3 (0.0%)
8 5 (0.1%) 2 (0.1%) 7 (0.1%)
10 1 (0.0%) 2 (0.1%) 3 (0.0%)
11 1 (0.0%) 0 (0%) 1 (0.0%)
12 2 (0.0%) 0 (0%) 2 (0.0%)
15 1 (0.0%) 0 (0%) 1 (0.0%)
20 2 (0.0%) 1 (0.0%) 3 (0.0%)
35 1 (0.0%) 0 (0%) 1 (0.0%)
98 1 (0.0%) 0 (0%) 1 (0.0%)
as.factor(fx50)
0 3222 (60.5%) 1504 (57.2%) 4726 (59.4%)
1 2108 (39.5%) 1125 (42.8%) 3233 (40.6%)
as.factor(smoke)
Current 542 (10.2%) 215 (8.2%) 757 (9.5%)
Never 3172 (59.5%) 1643 (62.5%) 4815 (60.5%)
Past 1616 (30.3%) 771 (29.3%) 2387 (30.0%)
as.factor(drink4)
High 702 (13.2%) 355 (13.5%) 1057 (13.3%)
Low 585 (11.0%) 283 (10.8%) 868 (10.9%)
Moderate 354 (6.6%) 176 (6.7%) 530 (6.7%)
No 3689 (69.2%) 1815 (69.0%) 5504 (69.2%)
as.factor(physical4)
Low 354 (6.6%) 161 (6.1%) 515 (6.5%)
Moderate 28 (0.5%) 11 (0.4%) 39 (0.5%)
No 4948 (92.8%) 2457 (93.5%) 7405 (93.0%)
calcium2
Median [Q1, Q3] 4420 [2850, 6660] 4330 [2810, 6500] 4390 [2830, 6610]
protein2
Median [Q1, Q3] 346 [265, 437] 338 [261, 433] 343 [264, 436]
as.factor(education)
5 11 (0.2%) 1 (0.0%) 12 (0.2%)
6 30 (0.6%) 14 (0.5%) 44 (0.6%)
7 61 (1.1%) 24 (0.9%) 85 (1.1%)
8 384 (7.2%) 171 (6.5%) 555 (7.0%)
9 185 (3.5%) 87 (3.3%) 272 (3.4%)
10 299 (5.6%) 131 (5.0%) 430 (5.4%)
11 203 (3.8%) 98 (3.7%) 301 (3.8%)
12 2110 (39.6%) 1044 (39.7%) 3154 (39.6%)
13 420 (7.9%) 235 (8.9%) 655 (8.2%)
14 428 (8.0%) 190 (7.2%) 618 (7.8%)
15 223 (4.2%) 109 (4.1%) 332 (4.2%)
16 453 (8.5%) 207 (7.9%) 660 (8.3%)
17 192 (3.6%) 101 (3.8%) 293 (3.7%)
18 144 (2.7%) 97 (3.7%) 241 (3.0%)
19 180 (3.4%) 107 (4.1%) 287 (3.6%)
Missing 7 (0.1%) 13 (0.5%) 20 (0.3%)
bmi
Median [Q1, Q3] 25.8 [23.1, 29.1] 25.3 [22.8, 28.5] 25.6 [23.0, 28.8]
Missing 44 (0.8%) 30 (1.1%) 74 (0.9%)
as.factor(cvd)
0 4015 (75.3%) 2033 (77.3%) 6048 (76.0%)
1 989 (18.6%) 457 (17.4%) 1446 (18.2%)
2 249 (4.7%) 97 (3.7%) 346 (4.3%)
3 63 (1.2%) 33 (1.3%) 96 (1.2%)
4 14 (0.3%) 9 (0.3%) 23 (0.3%)
as.factor(hypertension)
0 3305 (62.0%) 1645 (62.6%) 4950 (62.2%)
1 2025 (38.0%) 984 (37.4%) 3009 (37.8%)
as.factor(copd)
0 4414 (82.8%) 2171 (82.6%) 6585 (82.7%)
1 916 (17.2%) 458 (17.4%) 1374 (17.3%)
as.factor(diabetes)
0 4978 (93.4%) 2460 (93.6%) 7438 (93.5%)
1 50 (0.9%) 28 (1.1%) 78 (1.0%)
2 302 (5.7%) 141 (5.4%) 443 (5.6%)
as.factor(cancer)
0 4325 (81.1%) 2099 (79.8%) 6424 (80.7%)
1 1005 (18.9%) 530 (20.2%) 1535 (19.3%)
as.factor(renal)
0 5268 (98.8%) 2596 (98.7%) 7864 (98.8%)
1 62 (1.2%) 33 (1.3%) 95 (1.2%)
as.factor(parkinson)
0 5303 (99.5%) 2610 (99.3%) 7913 (99.4%)
1 27 (0.5%) 19 (0.7%) 46 (0.6%)
as.factor(depression)
0 4944 (92.8%) 2416 (91.9%) 7360 (92.5%)
1 386 (7.2%) 213 (8.1%) 599 (7.5%)
as.factor(rheumatoid)
0 5053 (94.8%) 2461 (93.6%) 7514 (94.4%)
1 277 (5.2%) 168 (6.4%) 445 (5.6%)
as.factor(death)
0 2140 (40.2%) 1030 (39.2%) 3170 (39.8%)
1 3190 (59.9%) 1599 (60.8%) 4789 (60.2%)

2.2 Current Smoking

2.2.1 Data management

women = women %>% mutate(group.s = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "1.No/past smoking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "1.No/past smoking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin0 == "2.Current smoking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin0 == "2.Current smoking" ~ 32))

2.2.2 Prevalences

table1(~ age + age_bin + fnbmd + tscore + bmd_bin + fall_bin + fx50_bin + smoke_bin0 + drink_bin + activity_bin + as.factor(group.s), data = women, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0]
age_bin
1.Age< 75 5226 (65.7%)
2.Age>= 75 2733 (34.3%)
fnbmd
Median [Q1, Q3] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.83 [-2.39, -1.22]
bmd_bin
1.BMD> -2.5 6303 (79.2%)
2.BMD<= -2.5 1656 (20.8%)
fall_bin
1.No falls 5590 (70.2%)
2.Falls 1+ 2369 (29.8%)
fx50_bin
1.No fx 4726 (59.4%)
2.Fx 1+ 3233 (40.6%)
smoke_bin0
1.No/past smoking 7202 (90.5%)
2.Current smoking 757 (9.5%)
drink_bin
1.Less drinking 6902 (86.7%)
2.Excessive drinking 1057 (13.3%)
activity_bin
1.Proactive 39 (0.5%)
2.Less active 7920 (99.5%)
as.factor(group.s)
1 1861 (23.4%)
2 237 (3.0%)
3 890 (11.2%)
4 719 (9.0%)
5 247 (3.1%)
6 744 (9.3%)
7 247 (3.1%)
8 307 (3.9%)
9 475 (6.0%)
10 44 (0.6%)
11 84 (1.1%)
12 237 (3.0%)
13 47 (0.6%)
14 478 (6.0%)
15 61 (0.8%)
16 123 (1.5%)
17 77 (1.0%)
18 315 (4.0%)
19 17 (0.2%)
20 256 (3.2%)
21 17 (0.2%)
22 34 (0.4%)
23 114 (1.4%)
24 13 (0.2%)
25 50 (0.6%)
26 44 (0.6%)
27 151 (1.9%)
28 4 (0.1%)
29 22 (0.3%)
30 13 (0.2%)
31 21 (0.3%)
32 10 (0.1%)

2.2.3 Association for any fracture

smoke.age.w = coxph(Surv(time2any, anyfx) ~ age + smoke_bin0, data = women)
summary(smoke.age.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age + smoke_bin0, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                  coef exp(coef)  se(coef)       z Pr(>|z|)    
## age                         0.0564584 1.0580826 0.0040165 14.0567   <2e-16 ***
## smoke_bin02.Current smoking 0.0572162 1.0588847 0.0715469  0.7997   0.4239    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                             exp(coef) exp(-coef) lower .95 upper .95
## age                            1.0581    0.94511   1.04979    1.0664
## smoke_bin02.Current smoking    1.0589    0.94439   0.92034    1.2183
## 
## Concordance= 0.573  (se = 0.006 )
## Likelihood ratio test= 184.6  on 2 df,   p=<2e-16
## Wald test            = 197.89  on 2 df,   p=<2e-16
## Score (logrank) test = 200.06  on 2 df,   p=<2e-16
m.any.smoke.w = coxph(Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin0, data = women)
summary(m.any.smoke.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin0, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                 coef exp(coef) se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75           0.408434  1.504460 0.041898  9.7482 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5         0.483787  1.622206 0.045737 10.5776 < 2.2e-16 ***
## fall_bin2.Falls 1+          0.071756  1.074393 0.042450  1.6904  0.090957 .  
## fx50_bin2.Fx 1+             0.110970  1.117362 0.040301  2.7536  0.005895 ** 
## smoke_bin02.Current smoking 0.018256  1.018424 0.071599  0.2550  0.798741    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                             exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75              1.5045    0.66469   1.38585    1.6332
## bmd_bin2.BMD<= -2.5            1.6222    0.61644   1.48311    1.7743
## fall_bin2.Falls 1+             1.0744    0.93076   0.98862    1.1676
## fx50_bin2.Fx 1+                1.1174    0.89497   1.03250    1.2092
## smoke_bin02.Current smoking    1.0184    0.98191   0.88508    1.1719
## 
## Concordance= 0.589  (se = 0.006 )
## Likelihood ratio test= 257  on 5 df,   p=<2e-16
## Wald test            = 277.3  on 5 df,   p=<2e-16
## Score (logrank) test = 284.05  on 5 df,   p=<2e-16
options(digits = 8)
any.smoke.w = coxph(Surv(time2any, anyfx) ~ as.factor(group.s), data = women)
summary(any.smoke.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ as.factor(group.s), data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                           coef exp(coef)  se(coef)       z  Pr(>|z|)    
## as.factor(group.s)2  -0.044057  0.956899  0.144336 -0.3052 0.7601812    
## as.factor(group.s)3   0.398854  1.490116  0.071177  5.6037 2.098e-08 ***
## as.factor(group.s)4   0.187957  1.206782  0.079050  2.3777 0.0174213 *  
## as.factor(group.s)5   0.576271  1.779391  0.107611  5.3551 8.549e-08 ***
## as.factor(group.s)6   0.464727  1.591580  0.079972  5.8111 6.206e-09 ***
## as.factor(group.s)7   1.073516  2.925649  0.104843 10.2393 < 2.2e-16 ***
## as.factor(group.s)8   0.665050  1.944588  0.104556  6.3607 2.008e-10 ***
## as.factor(group.s)9   0.506781  1.659938  0.093908  5.3966 6.792e-08 ***
## as.factor(group.s)10  0.439675  1.552203  0.304966  1.4417 0.1493813    
## as.factor(group.s)11  0.923850  2.518970  0.157194  5.8771 4.174e-09 ***
## as.factor(group.s)12  0.606618  1.834217  0.111758  5.4280 5.700e-08 ***
## as.factor(group.s)13  1.030824  2.803375  0.222889  4.6248 3.749e-06 ***
## as.factor(group.s)14  0.207808  1.230976  0.093121  2.2316 0.0256424 *  
## as.factor(group.s)15  0.421740  1.524612  0.246639  1.7099 0.0872758 .  
## as.factor(group.s)16  0.269703  1.309576  0.174808  1.5429 0.1228670    
## as.factor(group.s)17  1.410100  4.096366  0.160918  8.7629 < 2.2e-16 ***
## as.factor(group.s)18  1.123470  3.075509  0.096568 11.6340 < 2.2e-16 ***
## as.factor(group.s)19  0.739761  2.095434  0.410815  1.8007 0.0717475 .  
## as.factor(group.s)20  0.685671  1.985103  0.116309  5.8953 3.741e-09 ***
## as.factor(group.s)21  0.554362  1.740829  0.449467  1.2334 0.2174356    
## as.factor(group.s)22  0.628520  1.874834  0.319463  1.9674 0.0491341 *  
## as.factor(group.s)23  0.370930  1.449082  0.164195  2.2591 0.0238782 *  
## as.factor(group.s)24 -0.224539  0.798885  0.708537 -0.3169 0.7513157    
## as.factor(group.s)25  0.662114  1.938887  0.246685  2.6840 0.0072737 ** 
## as.factor(group.s)26  0.503240  1.654072  0.261990  1.9208 0.0547521 .  
## as.factor(group.s)27  0.896490  2.450984  0.148614  6.0323 1.616e-09 ***
## as.factor(group.s)28  2.309841 10.072820  0.579671  3.9847 6.755e-05 ***
## as.factor(group.s)29  1.300208  3.670059  0.336622  3.8625 0.0001122 ***
## as.factor(group.s)30  0.480057  1.616167  0.502084  0.9561 0.3390067    
## as.factor(group.s)31  0.271496  1.311925  0.502094  0.5407 0.5886958    
## as.factor(group.s)32  0.757250  2.132404  0.579213  1.3074 0.1910845    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.s)2    0.95690   1.045042   0.72112    1.2698
## as.factor(group.s)3    1.49012   0.671089   1.29609    1.7132
## as.factor(group.s)4    1.20678   0.828650   1.03357    1.4090
## as.factor(group.s)5    1.77939   0.561990   1.44103    2.1972
## as.factor(group.s)6    1.59158   0.628306   1.36068    1.8617
## as.factor(group.s)7    2.92565   0.341805   2.38221    3.5931
## as.factor(group.s)8    1.94459   0.514248   1.58427    2.3869
## as.factor(group.s)9    1.65994   0.602432   1.38089    1.9954
## as.factor(group.s)10   1.55220   0.644246   0.85381    2.8219
## as.factor(group.s)11   2.51897   0.396988   1.85106    3.4279
## as.factor(group.s)12   1.83422   0.545192   1.47341    2.2834
## as.factor(group.s)13   2.80337   0.356713   1.81116    4.3392
## as.factor(group.s)14   1.23098   0.812363   1.02562    1.4775
## as.factor(group.s)15   1.52461   0.655905   0.94020    2.4723
## as.factor(group.s)16   1.30958   0.763606   0.92968    1.8447
## as.factor(group.s)17   4.09637   0.244119   2.98831    5.6153
## as.factor(group.s)18   3.07551   0.325149   2.54518    3.7163
## as.factor(group.s)19   2.09543   0.477228   0.93667    4.6877
## as.factor(group.s)20   1.98510   0.503752   1.58045    2.4934
## as.factor(group.s)21   1.74083   0.574439   0.72139    4.2009
## as.factor(group.s)22   1.87483   0.533381   1.00239    3.5066
## as.factor(group.s)23   1.44908   0.690092   1.05034    1.9992
## as.factor(group.s)24   0.79888   1.251745   0.19924    3.2033
## as.factor(group.s)25   1.93889   0.515760   1.19557    3.1444
## as.factor(group.s)26   1.65407   0.604569   0.98980    2.7641
## as.factor(group.s)27   2.45098   0.407999   1.83164    3.2798
## as.factor(group.s)28  10.07282   0.099277   3.23396   31.3739
## as.factor(group.s)29   3.67006   0.272475   1.89732    7.0992
## as.factor(group.s)30   1.61617   0.618748   0.60410    4.3237
## as.factor(group.s)31   1.31193   0.762239   0.49037    3.5099
## as.factor(group.s)32   2.13240   0.468954   0.68524    6.6358
## 
## Concordance= 0.594  (se = 0.006 )
## Likelihood ratio test= 311.52  on 31 df,   p=<2e-16
## Wald test            = 338.71  on 31 df,   p=<2e-16
## Score (logrank) test = 362.5  on 31 df,   p=<2e-16

2.2.4 Association for hip fracture

hip.smoke.age.w = coxph(Surv(time2hip, hipfx) ~ age + smoke_bin, data = women)
summary(hip.smoke.age.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age + smoke_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                 coef exp(coef)  se(coef)       z Pr(>|z|)    
## age                        0.1069449 1.1128730 0.0071449 14.9680   <2e-16 ***
## smoke_bin2.Current smoking 0.0192798 1.0194669 0.0768971  0.2507    0.802    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.1129    0.89858   1.09740    1.1286
## smoke_bin2.Current smoking    1.0195    0.98090   0.87684    1.1853
## 
## Concordance= 0.656  (se = 0.01 )
## Likelihood ratio test= 204.23  on 2 df,   p=<2e-16
## Wald test            = 226.94  on 2 df,   p=<2e-16
## Score (logrank) test = 236.68  on 2 df,   p=<2e-16
m.hip.smoke.w = coxph(Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin0, data = women)
summary(m.hip.smoke.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin0, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                   coef  exp(coef)   se(coef)       z Pr(>|z|)
## age_bin2.Age>= 75            0.6997474  2.0132440  0.0766669  9.1271   <2e-16
## bmd_bin2.BMD<= -2.5          0.9589552  2.6089692  0.0782834 12.2498   <2e-16
## fall_bin2.Falls 1+          -0.0074778  0.9925500  0.0807267 -0.0926   0.9262
## fx50_bin2.Fx 1+             -0.0099828  0.9900668  0.0755091 -0.1322   0.8948
## smoke_bin02.Current smoking -0.1000881  0.9047577  0.1432540 -0.6987   0.4848
##                                
## age_bin2.Age>= 75           ***
## bmd_bin2.BMD<= -2.5         ***
## fall_bin2.Falls 1+             
## fx50_bin2.Fx 1+                
## smoke_bin02.Current smoking    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                             exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75             2.01324    0.49671   1.73236    2.3397
## bmd_bin2.BMD<= -2.5           2.60897    0.38329   2.23787    3.0416
## fall_bin2.Falls 1+            0.99255    1.00751   0.84730    1.1627
## fx50_bin2.Fx 1+               0.99007    1.01003   0.85387    1.1480
## smoke_bin02.Current smoking   0.90476    1.10527   0.68327    1.1980
## 
## Concordance= 0.656  (se = 0.011 )
## Likelihood ratio test= 259.57  on 5 df,   p=<2e-16
## Wald test            = 288.25  on 5 df,   p=<2e-16
## Score (logrank) test = 314.13  on 5 df,   p=<2e-16
hip.smoke.w = coxph(Surv(time2hip, hipfx) ~ as.factor(group.s), data = women)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 27,31 ; coefficient may be infinite.
summary(hip.smoke.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ as.factor(group.s), data = women)
## 
##   n= 7959, number of events= 749 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.s)2  -1.4367e-01  8.6617e-01  3.3021e-01 -0.4351  0.663492    
## as.factor(group.s)3   3.6749e-01  1.4441e+00  1.5071e-01  2.4384  0.014751 *  
## as.factor(group.s)4   2.7965e-01  1.3227e+00  1.6296e-01  1.7161  0.086140 .  
## as.factor(group.s)5   1.2262e+00  3.4084e+00  1.7676e-01  6.9373 3.997e-12 ***
## as.factor(group.s)6   8.2936e-01  2.2919e+00  1.5458e-01  5.3651 8.090e-08 ***
## as.factor(group.s)7   1.9674e+00  7.1522e+00  1.6500e-01 11.9240 < 2.2e-16 ***
## as.factor(group.s)8   1.0165e+00  2.7636e+00  1.9645e-01  5.1744 2.287e-07 ***
## as.factor(group.s)9   7.9026e-01  2.2040e+00  1.8328e-01  4.3118 1.619e-05 ***
## as.factor(group.s)10  7.4287e-01  2.1020e+00  5.8547e-01  1.2689  0.204494    
## as.factor(group.s)11  1.3626e+00  3.9062e+00  2.6745e-01  5.0947 3.494e-07 ***
## as.factor(group.s)12  1.1368e+00  3.1168e+00  1.8986e-01  5.9877 2.128e-09 ***
## as.factor(group.s)13  1.2554e+00  3.5091e+00  4.1939e-01  2.9933  0.002760 ** 
## as.factor(group.s)14  5.0797e-02  1.0521e+00  2.1150e-01  0.2402  0.810198    
## as.factor(group.s)15  1.9196e-01  1.2116e+00  5.8521e-01  0.3280  0.742896    
## as.factor(group.s)16  1.7021e-02  1.0172e+00  4.1922e-01  0.0406  0.967614    
## as.factor(group.s)17  1.9264e+00  6.8649e+00  2.6815e-01  7.1841 6.765e-13 ***
## as.factor(group.s)18  1.8516e+00  6.3697e+00  1.6150e-01 11.4650 < 2.2e-16 ***
## as.factor(group.s)19  5.8150e-01  1.7887e+00  1.0047e+00  0.5788  0.562744    
## as.factor(group.s)20  9.3450e-01  2.5459e+00  2.2569e-01  4.1407 3.463e-05 ***
## as.factor(group.s)21  1.3673e+00  3.9246e+00  7.1370e-01  1.9157  0.055398 .  
## as.factor(group.s)22  1.3126e+00  3.7159e+00  5.0940e-01  2.5768  0.009973 ** 
## as.factor(group.s)23  7.5041e-01  2.1179e+00  2.9316e-01  2.5597  0.010477 *  
## as.factor(group.s)24  5.3677e-01  1.7105e+00  1.0045e+00  0.5343  0.593101    
## as.factor(group.s)25  1.3357e+00  3.8028e+00  3.8996e-01  3.4254  0.000614 ***
## as.factor(group.s)26  7.3395e-01  2.0833e+00  5.0898e-01  1.4420  0.149303    
## as.factor(group.s)27  1.3601e+00  3.8966e+00  2.6128e-01  5.2055 1.934e-07 ***
## as.factor(group.s)28 -1.1852e+01  7.1224e-06  9.7630e+02 -0.0121  0.990314    
## as.factor(group.s)29  1.5747e+00  4.8295e+00  5.8552e-01  2.6895  0.007156 ** 
## as.factor(group.s)30  1.5353e+00  4.6428e+00  7.1391e-01  2.1506  0.031511 *  
## as.factor(group.s)31  5.3216e-01  1.7026e+00  1.0047e+00  0.5297  0.596348    
## as.factor(group.s)32 -1.1854e+01  7.1117e-06  6.8550e+02 -0.0173  0.986204    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.s)2  8.6617e-01 1.1545e+00   0.45345    1.6546
## as.factor(group.s)3  1.4441e+00 6.9247e-01   1.07477    1.9403
## as.factor(group.s)4  1.3227e+00 7.5605e-01   0.96104    1.8204
## as.factor(group.s)5  3.4084e+00 2.9340e-01   2.41040    4.8195
## as.factor(group.s)6  2.2919e+00 4.3633e-01   1.69280    3.1029
## as.factor(group.s)7  7.1522e+00 1.3982e-01   5.17600    9.8829
## as.factor(group.s)8  2.7636e+00 3.6185e-01   1.88039    4.0615
## as.factor(group.s)9  2.2040e+00 4.5373e-01   1.53886    3.1565
## as.factor(group.s)10 2.1020e+00 4.7575e-01   0.66723    6.6217
## as.factor(group.s)11 3.9062e+00 2.5600e-01   2.31260    6.5979
## as.factor(group.s)12 3.1168e+00 3.2084e-01   2.14832    4.5218
## as.factor(group.s)13 3.5091e+00 2.8497e-01   1.54245    7.9834
## as.factor(group.s)14 1.0521e+00 9.5047e-01   0.69507    1.5925
## as.factor(group.s)15 1.2116e+00 8.2534e-01   0.38480    3.8151
## as.factor(group.s)16 1.0172e+00 9.8312e-01   0.44725    2.3133
## as.factor(group.s)17 6.8649e+00 1.4567e-01   4.05866   11.6113
## as.factor(group.s)18 6.3697e+00 1.5699e-01   4.64144    8.7415
## as.factor(group.s)19 1.7887e+00 5.5906e-01   0.24965   12.8159
## as.factor(group.s)20 2.5459e+00 3.9278e-01   1.63585    3.9624
## as.factor(group.s)21 3.9246e+00 2.5480e-01   0.96893   15.8964
## as.factor(group.s)22 3.7159e+00 2.6911e-01   1.36917   10.0848
## as.factor(group.s)23 2.1179e+00 4.7217e-01   1.19222    3.7622
## as.factor(group.s)24 1.7105e+00 5.8463e-01   0.23881   12.2510
## as.factor(group.s)25 3.8028e+00 2.6296e-01   1.77081    8.1665
## as.factor(group.s)26 2.0833e+00 4.8001e-01   0.76825    5.6494
## as.factor(group.s)27 3.8966e+00 2.5663e-01   2.33499    6.5027
## as.factor(group.s)28 7.1224e-06 1.4040e+05   0.00000       Inf
## as.factor(group.s)29 4.8295e+00 2.0706e-01   1.53288   15.2158
## as.factor(group.s)30 4.6428e+00 2.1539e-01   1.14576   18.8131
## as.factor(group.s)31 1.7026e+00 5.8733e-01   0.23763   12.1993
## as.factor(group.s)32 7.1117e-06 1.4061e+05   0.00000       Inf
## 
## Concordance= 0.68  (se = 0.01 )
## Likelihood ratio test= 289.84  on 31 df,   p=<2e-16
## Wald test            = 314.98  on 31 df,   p=<2e-16
## Score (logrank) test = 374.06  on 31 df,   p=<2e-16

2.2 Current/Past smoking

2.2.1 Data management

women = women %>% mutate(group = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "1.No/past smoking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "1.No/past smoking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & smoke_bin == "2.Current smoking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & smoke_bin == "2.Current smoking" ~ 32))

2.2.2 Prevalences

table1(~ age + age_bin + fnbmd + tscore + bmd_bin + fall_bin + fx50_bin + smoke_bin + drink_bin + activity_bin + as.factor(group), data = women, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0]
age_bin
1.Age< 75 5226 (65.7%)
2.Age>= 75 2733 (34.3%)
fnbmd
Median [Q1, Q3] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.83 [-2.39, -1.22]
bmd_bin
1.BMD> -2.5 6303 (79.2%)
2.BMD<= -2.5 1656 (20.8%)
fall_bin
1.No falls 5590 (70.2%)
2.Falls 1+ 2369 (29.8%)
fx50_bin
1.No fx 4726 (59.4%)
2.Fx 1+ 3233 (40.6%)
smoke_bin
1.No/past smoking 4815 (60.5%)
2.Current smoking 3144 (39.5%)
drink_bin
1.Less drinking 6902 (86.7%)
2.Excessive drinking 1057 (13.3%)
activity_bin
1.Proactive 39 (0.5%)
2.Less active 7920 (99.5%)
as.factor(group)
1 1232 (15.5%)
2 866 (10.9%)
3 564 (7.1%)
4 485 (6.1%)
5 156 (2.0%)
6 533 (6.7%)
7 173 (2.2%)
8 219 (2.8%)
9 330 (4.1%)
10 255 (3.2%)
11 50 (0.6%)
12 146 (1.8%)
13 138 (1.7%)
14 302 (3.8%)
15 295 (3.7%)
16 449 (5.6%)
17 48 (0.6%)
18 217 (2.7%)
19 91 (1.1%)
20 181 (2.3%)
21 105 (1.3%)
22 179 (2.2%)
23 77 (1.0%)
24 47 (0.6%)
25 141 (1.8%)
26 220 (2.8%)
27 102 (1.3%)
28 33 (0.4%)
29 120 (1.5%)
30 88 (1.1%)
31 58 (0.7%)
32 59 (0.7%)

2.2.3 Association for any fracture

smoke.age.w = coxph(Surv(time2any, anyfx) ~ age + smoke_bin, data = women)
summary(smoke.age.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age + smoke_bin, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                 coef exp(coef)  se(coef)       z Pr(>|z|)    
## age                        0.0563351 1.0579522 0.0040211 14.0099   <2e-16 ***
## smoke_bin2.Current smoking 0.0170393 1.0171853 0.0405176  0.4205   0.6741    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.0580    0.94522   1.04965    1.0663
## smoke_bin2.Current smoking    1.0172    0.98311   0.93953    1.1013
## 
## Concordance= 0.573  (se = 0.006 )
## Likelihood ratio test= 184.14  on 2 df,   p=<2e-16
## Wald test            = 197.39  on 2 df,   p=<2e-16
## Score (logrank) test = 199.58  on 2 df,   p=<2e-16
m.any.smoke.w = coxph(Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = women)
summary(m.any.smoke.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                 coef exp(coef)  se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75           0.406291  1.501239  0.041832  9.7124 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5         0.484582  1.623497  0.045735 10.5954 < 2.2e-16 ***
## fall_bin2.Falls 1+          0.071058  1.073643  0.042415  1.6753  0.093878 .  
## fx50_bin2.Fx 1+             0.111520  1.117976  0.040308  2.7667  0.005662 ** 
## smoke_bin2.Current smoking -0.016469  0.983666  0.040413 -0.4075  0.683638    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            1.50124    0.66612   1.38306    1.6295
## bmd_bin2.BMD<= -2.5          1.62350    0.61595   1.48430    1.7757
## fall_bin2.Falls 1+           1.07364    0.93141   0.98800    1.1667
## fx50_bin2.Fx 1+              1.11798    0.89447   1.03305    1.2099
## smoke_bin2.Current smoking   0.98367    1.01660   0.90876    1.0647
## 
## Concordance= 0.589  (se = 0.006 )
## Likelihood ratio test= 257.1  on 5 df,   p=<2e-16
## Wald test            = 277.44  on 5 df,   p=<2e-16
## Score (logrank) test = 284.17  on 5 df,   p=<2e-16
options(digits = 8)
any.smoke.w = coxph(Surv(time2any, anyfx) ~ as.factor(group), data = women)
summary(any.smoke.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ as.factor(group), data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                        coef exp(coef) se(coef)       z  Pr(>|z|)    
## as.factor(group)2  0.010473  1.010528 0.086212  0.1215 0.9033098    
## as.factor(group)3  0.407032  1.502353 0.087825  4.6346 3.577e-06 ***
## as.factor(group)4  0.197989  1.218949 0.095782  2.0671 0.0387259 *  
## as.factor(group)5  0.583675  1.792615 0.132010  4.4214 9.804e-06 ***
## as.factor(group)6  0.477565  1.612144 0.095101  5.0217 5.123e-07 ***
## as.factor(group)7  1.096638  2.994083 0.124643  8.7983 < 2.2e-16 ***
## as.factor(group)8  0.623720  1.865856 0.127025  4.9102 9.097e-07 ***
## as.factor(group)9  0.625067  1.868371 0.109577  5.7044 1.168e-08 ***
## as.factor(group)10 0.458883  1.582305 0.128479  3.5717 0.0003547 ***
## as.factor(group)11 1.058541  2.882164 0.196661  5.3826 7.343e-08 ***
## as.factor(group)12 0.565880  1.760998 0.142030  3.9842 6.770e-05 ***
## as.factor(group)13 0.733077  2.081475 0.144265  5.0814 3.746e-07 ***
## as.factor(group)14 0.187496  1.206225 0.117465  1.5962 0.1104484    
## as.factor(group)15 0.233292  1.262750 0.118498  1.9687 0.0489835 *  
## as.factor(group)16 0.375223  1.455316 0.098459  3.8109 0.0001384 ***
## as.factor(group)17 1.622341  5.064932 0.193863  8.3685 < 2.2e-16 ***
## as.factor(group)18 1.176462  3.242881 0.115147 10.2170 < 2.2e-16 ***
## as.factor(group)19 0.991746  2.695939 0.171367  5.7873 7.154e-09 ***
## as.factor(group)20 0.649038  1.913699 0.140246  4.6279 3.694e-06 ***
## as.factor(group)21 0.756350  2.130487 0.165433  4.5719 4.832e-06 ***
## as.factor(group)22 0.310613  1.364262 0.157231  1.9755 0.0482089 *  
## as.factor(group)23 0.424661  1.529071 0.193419  2.1955 0.0281243 *  
## as.factor(group)24 0.578603  1.783545 0.241898  2.3919 0.0167602 *  
## as.factor(group)25 0.688397  1.990523 0.146544  4.6976 2.633e-06 ***
## as.factor(group)26 0.310836  1.364565 0.129698  2.3966 0.0165470 *  
## as.factor(group)27 0.988297  2.686656 0.173437  5.6983 1.210e-08 ***
## as.factor(group)28 1.216305  3.374695 0.256006  4.7511 2.023e-06 ***
## as.factor(group)29 1.074924  2.929770 0.153227  7.0152 2.296e-12 ***
## as.factor(group)30 0.754775  2.127133 0.187861  4.0177 5.876e-05 ***
## as.factor(group)31 0.271450  1.311865 0.263839  1.0288 0.3035519    
## as.factor(group)32 0.710704  2.035423 0.256114  2.7750 0.0055210 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                    exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2     1.0105    0.98958   0.85342    1.1966
## as.factor(group)3     1.5024    0.66562   1.26478    1.7846
## as.factor(group)4     1.2189    0.82038   1.01031    1.4707
## as.factor(group)5     1.7926    0.55784   1.38395    2.3220
## as.factor(group)6     1.6121    0.62029   1.33799    1.9425
## as.factor(group)7     2.9941    0.33399   2.34514    3.8226
## as.factor(group)8     1.8659    0.53595   1.45464    2.3933
## as.factor(group)9     1.8684    0.53523   1.50727    2.3160
## as.factor(group)10    1.5823    0.63199   1.23007    2.0354
## as.factor(group)11    2.8822    0.34696   1.96029    4.2376
## as.factor(group)12    1.7610    0.56786   1.33310    2.3262
## as.factor(group)13    2.0815    0.48043   1.56882    2.7617
## as.factor(group)14    1.2062    0.82903   0.95817    1.5185
## as.factor(group)15    1.2628    0.79192   1.00104    1.5929
## as.factor(group)16    1.4553    0.68714   1.19991    1.7651
## as.factor(group)17    5.0649    0.19744   3.46384    7.4061
## as.factor(group)18    3.2429    0.30837   2.58772    4.0639
## as.factor(group)19    2.6959    0.37093   1.92682    3.7721
## as.factor(group)20    1.9137    0.52255   1.45377    2.5191
## as.factor(group)21    2.1305    0.46938   1.54050    2.9464
## as.factor(group)22    1.3643    0.73300   1.00245    1.8567
## as.factor(group)23    1.5291    0.65399   1.04662    2.2339
## as.factor(group)24    1.7835    0.56068   1.11015    2.8654
## as.factor(group)25    1.9905    0.50238   1.49358    2.6528
## as.factor(group)26    1.3646    0.73283   1.05827    1.7595
## as.factor(group)27    2.6867    0.37221   1.91242    3.7743
## as.factor(group)28    3.3747    0.29632   2.04325    5.5737
## as.factor(group)29    2.9298    0.34132   2.16973    3.9560
## as.factor(group)30    2.1271    0.47012   1.47193    3.0740
## as.factor(group)31    1.3119    0.76227   0.78218    2.2002
## as.factor(group)32    2.0354    0.49130   1.23211    3.3625
## 
## Concordance= 0.593  (se = 0.006 )
## Likelihood ratio test= 310.89  on 31 df,   p=<2e-16
## Wald test            = 338.15  on 31 df,   p=<2e-16
## Score (logrank) test = 360.66  on 31 df,   p=<2e-16

2.2.4 Association for hip fracture

hip.smoke.age.w = coxph(Surv(time2hip, hipfx) ~ age + smoke_bin, data = women)
summary(hip.smoke.age.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age + smoke_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                 coef exp(coef)  se(coef)       z Pr(>|z|)    
## age                        0.1069449 1.1128730 0.0071449 14.9680   <2e-16 ***
## smoke_bin2.Current smoking 0.0192798 1.0194669 0.0768971  0.2507    0.802    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age                           1.1129    0.89858   1.09740    1.1286
## smoke_bin2.Current smoking    1.0195    0.98090   0.87684    1.1853
## 
## Concordance= 0.656  (se = 0.01 )
## Likelihood ratio test= 204.23  on 2 df,   p=<2e-16
## Wald test            = 226.94  on 2 df,   p=<2e-16
## Score (logrank) test = 236.68  on 2 df,   p=<2e-16
m.hip.smoke.w = coxph(Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = women)
summary(m.hip.smoke.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                  coef  exp(coef)   se(coef)       z Pr(>|z|)
## age_bin2.Age>= 75           0.7003162  2.0143895  0.0765686  9.1463   <2e-16
## bmd_bin2.BMD<= -2.5         0.9585149  2.6078208  0.0782622 12.2475   <2e-16
## fall_bin2.Falls 1+         -0.0058846  0.9941327  0.0806833 -0.0729   0.9419
## fx50_bin2.Fx 1+            -0.0099806  0.9900690  0.0755168 -0.1322   0.8949
## smoke_bin2.Current smoking -0.0595254  0.9422116  0.0764655 -0.7785   0.4363
##                               
## age_bin2.Age>= 75          ***
## bmd_bin2.BMD<= -2.5        ***
## fall_bin2.Falls 1+            
## fx50_bin2.Fx 1+               
## smoke_bin2.Current smoking    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            2.01439    0.49643   1.73368    2.3406
## bmd_bin2.BMD<= -2.5          2.60782    0.38346   2.23697    3.0401
## fall_bin2.Falls 1+           0.99413    1.00590   0.84872    1.1645
## fx50_bin2.Fx 1+              0.99007    1.01003   0.85386    1.1480
## smoke_bin2.Current smoking   0.94221    1.06133   0.81107    1.0946
## 
## Concordance= 0.66  (se = 0.011 )
## Likelihood ratio test= 259.67  on 5 df,   p=<2e-16
## Wald test            = 288.31  on 5 df,   p=<2e-16
## Score (logrank) test = 314.19  on 5 df,   p=<2e-16
hip.smoke.w = coxph(Surv(time2hip, hipfx) ~ as.factor(group), data = women)
summary(hip.smoke.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ as.factor(group), data = women)
## 
##   n= 7959, number of events= 749 
## 
##                        coef exp(coef) se(coef)       z  Pr(>|z|)    
## as.factor(group)2  -0.32407   0.72320  0.19591 -1.6541 0.0981021 .  
## as.factor(group)3   0.31209   1.36628  0.17903  1.7432 0.0812994 .  
## as.factor(group)4   0.17388   1.18992  0.19415  0.8956 0.3704514    
## as.factor(group)5   1.05317   2.86671  0.21859  4.8180 1.450e-06 ***
## as.factor(group)6   0.70915   2.03226  0.18190  3.8985 9.680e-05 ***
## as.factor(group)7   1.93376   6.91547  0.19049 10.1517 < 2.2e-16 ***
## as.factor(group)8   0.84117   2.31909  0.24027  3.5010 0.0004636 ***
## as.factor(group)9   0.87900   2.40849  0.20416  4.3054 1.667e-05 ***
## as.factor(group)10  0.75856   2.13519  0.23615  3.2122 0.0013174 ** 
## as.factor(group)11  1.45396   4.28003  0.32095  4.5302 5.893e-06 ***
## as.factor(group)12  0.92843   2.53054  0.23982  3.8713 0.0001083 ***
## as.factor(group)13  1.22961   3.41989  0.23581  5.2145 1.843e-07 ***
## as.factor(group)14 -0.29880   0.74171  0.28895 -1.0341 0.3010907    
## as.factor(group)15  0.17501   1.19126  0.24432  0.7163 0.4737883    
## as.factor(group)16  0.11536   1.12228  0.21581  0.5345 0.5929695    
## as.factor(group)17  1.73586   5.67382  0.35163  4.9366 7.950e-07 ***
## as.factor(group)18  1.73755   5.68339  0.19199  9.0504 < 2.2e-16 ***
## as.factor(group)19  1.54389   4.68279  0.28117  5.4910 3.998e-08 ***
## as.factor(group)20  0.60674   1.83443  0.28934  2.0970 0.0359953 *  
## as.factor(group)21  1.09504   2.98929  0.28921  3.7863 0.0001529 ***
## as.factor(group)22  0.36374   1.43871  0.32125  1.1323 0.2575184    
## as.factor(group)23  0.87647   2.40240  0.32091  2.7312 0.0063108 ** 
## as.factor(group)24  0.83353   2.30143  0.42278  1.9716 0.0486585 *  
## as.factor(group)25  1.22356   3.39928  0.23997  5.0988 3.417e-07 ***
## as.factor(group)26  0.34997   1.41903  0.26007  1.3457 0.1783979    
## as.factor(group)27  1.33533   3.80127  0.29895  4.4668 7.942e-06 ***
## as.factor(group)28  1.80257   6.06520  0.39408  4.5741 4.782e-06 ***
## as.factor(group)29  1.73287   5.65687  0.24082  7.1957 6.214e-13 ***
## as.factor(group)30  1.30021   3.67008  0.30965  4.1990 2.681e-05 ***
## as.factor(group)31  0.04805   1.04922  0.58774  0.0818 0.9348426    
## as.factor(group)32  0.83505   2.30493  0.51262  1.6290 0.1033148    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                    exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group)2    0.72320    1.38274   0.49260    1.0617
## as.factor(group)3    1.36628    0.73192   0.96193    1.9406
## as.factor(group)4    1.18992    0.84039   0.81331    1.7409
## as.factor(group)5    2.86671    0.34883   1.86776    4.4000
## as.factor(group)6    2.03226    0.49206   1.42279    2.9028
## as.factor(group)7    6.91547    0.14460   4.76079   10.0453
## as.factor(group)8    2.31909    0.43120   1.44810    3.7139
## as.factor(group)9    2.40850    0.41520   1.61421    3.5936
## as.factor(group)10   2.13519    0.46834   1.34408    3.3920
## as.factor(group)11   4.28003    0.23364   2.28168    8.0286
## as.factor(group)12   2.53054    0.39517   1.58152    4.0490
## as.factor(group)13   3.41989    0.29241   2.15424    5.4291
## as.factor(group)14   0.74171    1.34824   0.42100    1.3067
## as.factor(group)15   1.19126    0.83945   0.73798    1.9230
## as.factor(group)16   1.12228    0.89104   0.73519    1.7132
## as.factor(group)17   5.67382    0.17625   2.84817   11.3028
## as.factor(group)18   5.68339    0.17595   3.90111    8.2799
## as.factor(group)19   4.68279    0.21355   2.69881    8.1253
## as.factor(group)20   1.83443    0.54513   1.04044    3.2344
## as.factor(group)21   2.98929    0.33453   1.69586    5.2692
## as.factor(group)22   1.43871    0.69507   0.76652    2.7004
## as.factor(group)23   2.40240    0.41625   1.28081    4.5062
## as.factor(group)24   2.30143    0.43451   1.00492    5.2706
## as.factor(group)25   3.39928    0.29418   2.12386    5.4406
## as.factor(group)26   1.41903    0.70471   0.85236    2.3624
## as.factor(group)27   3.80127    0.26307   2.11574    6.8296
## as.factor(group)28   6.06520    0.16488   2.80158   13.1307
## as.factor(group)29   5.65687    0.17678   3.52850    9.0691
## as.factor(group)30   3.67008    0.27247   2.00032    6.7337
## as.factor(group)31   1.04922    0.95309   0.33158    3.3201
## as.factor(group)32   2.30493    0.43385   0.84395    6.2951
## 
## Concordance= 0.684  (se = 0.01 )
## Likelihood ratio test= 297.47  on 31 df,   p=<2e-16
## Wald test            = 320.18  on 31 df,   p=<2e-16
## Score (logrank) test = 380.54  on 31 df,   p=<2e-16

2.3 Excessive drinking

2.3.1 Data management

women = women %>% mutate(group.d = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "1.Less drinking" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "1.Less drinking" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & drink_bin == "2.Excessive drinking" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & drink_bin == "2.Excessive drinking" ~ 32))

2.3.2 Prevalences

table1(~ age + age_bin + fnbmd + tscore + bmd_bin + fall_bin + fx50_bin + smoke_bin + drink_bin + activity_bin + as.factor(group.d), data = women, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0]
age_bin
1.Age< 75 5226 (65.7%)
2.Age>= 75 2733 (34.3%)
fnbmd
Median [Q1, Q3] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.83 [-2.39, -1.22]
bmd_bin
1.BMD> -2.5 6303 (79.2%)
2.BMD<= -2.5 1656 (20.8%)
fall_bin
1.No falls 5590 (70.2%)
2.Falls 1+ 2369 (29.8%)
fx50_bin
1.No fx 4726 (59.4%)
2.Fx 1+ 3233 (40.6%)
smoke_bin
1.No/past smoking 4815 (60.5%)
2.Current smoking 3144 (39.5%)
drink_bin
1.Less drinking 6902 (86.7%)
2.Excessive drinking 1057 (13.3%)
activity_bin
1.Proactive 39 (0.5%)
2.Less active 7920 (99.5%)
as.factor(group.d)
1 1837 (23.1%)
2 261 (3.3%)
3 867 (10.9%)
4 668 (8.4%)
5 245 (3.1%)
6 691 (8.7%)
7 226 (2.8%)
8 280 (3.5%)
9 441 (5.5%)
10 97 (1.2%)
11 83 (1.0%)
12 249 (3.1%)
13 49 (0.6%)
14 440 (5.5%)
15 112 (1.4%)
16 146 (1.8%)
17 69 (0.9%)
18 304 (3.8%)
19 38 (0.5%)
20 237 (3.0%)
21 44 (0.6%)
22 68 (0.9%)
23 118 (1.5%)
24 14 (0.2%)
25 38 (0.5%)
26 82 (1.0%)
27 147 (1.8%)
28 12 (0.2%)
29 33 (0.4%)
30 32 (0.4%)
31 17 (0.2%)
32 14 (0.2%)

2.3.3 Association for any fracture

m.any.drink.w = coxph(Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + drink_bin, data = women)
summary(m.any.drink.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + drink_bin, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                   coef exp(coef) se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75             0.407887  1.503638 0.041737  9.7727 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5           0.484239  1.622939 0.045717 10.5920 < 2.2e-16 ***
## fall_bin2.Falls 1+            0.071158  1.073751 0.042411  1.6778  0.093384 .  
## fx50_bin2.Fx 1+               0.111151  1.117563 0.040292  2.7586  0.005805 ** 
## drink_bin2.Excessive drinking 0.028059  1.028456 0.057085  0.4915  0.623053    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                               exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                1.5036    0.66505   1.38553    1.6318
## bmd_bin2.BMD<= -2.5              1.6229    0.61617   1.48384    1.7751
## fall_bin2.Falls 1+               1.0738    0.93131   0.98810    1.1668
## fx50_bin2.Fx 1+                  1.1176    0.89480   1.03270    1.2094
## drink_bin2.Excessive drinking    1.0285    0.97233   0.91959    1.1502
## 
## Concordance= 0.589  (se = 0.006 )
## Likelihood ratio test= 257.18  on 5 df,   p=<2e-16
## Wald test            = 277.44  on 5 df,   p=<2e-16
## Score (logrank) test = 284.19  on 5 df,   p=<2e-16
options(digits = 8)
any.drink.w = coxph(Surv(time2any, anyfx) ~ as.factor(group.d), data = women)
summary(any.drink.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ as.factor(group.d), data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                          coef exp(coef) se(coef)       z  Pr(>|z|)    
## as.factor(group.d)2  0.030146  1.030605 0.126184  0.2389 0.8111804    
## as.factor(group.d)3  0.442366  1.556385 0.071844  6.1573 7.399e-10 ***
## as.factor(group.d)4  0.198615  1.219712 0.082157  2.4175 0.0156269 *  
## as.factor(group.d)5  0.625142  1.868512 0.108849  5.7432 9.290e-09 ***
## as.factor(group.d)6  0.427738  1.533784 0.083725  5.1089 3.241e-07 ***
## as.factor(group.d)7  1.027786  2.794871 0.111065  9.2539 < 2.2e-16 ***
## as.factor(group.d)8  0.627071  1.872119 0.112276  5.5851 2.336e-08 ***
## as.factor(group.d)9  0.538466  1.713377 0.096626  5.5727 2.508e-08 ***
## as.factor(group.d)10 0.760251  2.138813 0.172813  4.3993 1.086e-05 ***
## as.factor(group.d)11 0.905126  2.472244 0.162644  5.5651 2.620e-08 ***
## as.factor(group.d)12 0.642026  1.900327 0.109732  5.8509 4.890e-09 ***
## as.factor(group.d)13 0.753046  2.123459 0.213354  3.5296 0.0004163 ***
## as.factor(group.d)14 0.220594  1.246817 0.096892  2.2767 0.0228037 *  
## as.factor(group.d)15 0.277758  1.320167 0.168389  1.6495 0.0990440 .  
## as.factor(group.d)16 0.047218  1.048351 0.170486  0.2770 0.7818080    
## as.factor(group.d)17 1.435679  4.202495 0.166682  8.6133 < 2.2e-16 ***
## as.factor(group.d)18 1.176461  3.242876 0.097783 12.0314 < 2.2e-16 ***
## as.factor(group.d)19 1.243223  3.466769 0.228375  5.4438 5.216e-08 ***
## as.factor(group.d)20 0.645768  1.907451 0.122848  5.2566 1.467e-07 ***
## as.factor(group.d)21 0.865695  2.376657 0.217975  3.9715 7.141e-05 ***
## as.factor(group.d)22 0.408519  1.504588 0.233914  1.7465 0.0807326 .  
## as.factor(group.d)23 0.363798  1.438783 0.166366  2.1867 0.0287622 *  
## as.factor(group.d)24 0.436450  1.547205 0.449499  0.9710 0.3315631    
## as.factor(group.d)25 0.475007  1.608026 0.292216  1.6255 0.1040485    
## as.factor(group.d)26 0.336344  1.399820 0.194299  1.7311 0.0834401 .  
## as.factor(group.d)27 0.849109  2.337563 0.153064  5.5474 2.899e-08 ***
## as.factor(group.d)28 1.616800  5.036949 0.411163  3.9323 8.415e-05 ***
## as.factor(group.d)29 0.810518  2.249073 0.292377  2.7722 0.0055685 ** 
## as.factor(group.d)30 0.919840  2.508888 0.271201  3.3917 0.0006945 ***
## as.factor(group.d)31 0.414554  1.513696 0.449498  0.9223 0.3563926    
## as.factor(group.d)32 1.362375  3.905456 0.411035  3.3145 0.0009181 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.d)2     1.0306    0.97030   0.80479    1.3198
## as.factor(group.d)3     1.5564    0.64251   1.35196    1.7917
## as.factor(group.d)4     1.2197    0.81987   1.03831    1.4328
## as.factor(group.d)5     1.8685    0.53519   1.50954    2.3129
## as.factor(group.d)6     1.5338    0.65198   1.30166    1.8073
## as.factor(group.d)7     2.7949    0.35780   2.24814    3.4746
## as.factor(group.d)8     1.8721    0.53415   1.50232    2.3329
## as.factor(group.d)9     1.7134    0.58364   1.41777    2.0706
## as.factor(group.d)10    2.1388    0.46755   1.52431    3.0010
## as.factor(group.d)11    2.4722    0.40449   1.79742    3.4004
## as.factor(group.d)12    1.9003    0.52623   1.53258    2.3563
## as.factor(group.d)13    2.1235    0.47093   1.39777    3.2259
## as.factor(group.d)14    1.2468    0.80204   1.03117    1.5076
## as.factor(group.d)15    1.3202    0.75748   0.94907    1.8364
## as.factor(group.d)16    1.0484    0.95388   0.75057    1.4643
## as.factor(group.d)17    4.2025    0.23795   3.03129    5.8262
## as.factor(group.d)18    3.2429    0.30837   2.67730    3.9279
## as.factor(group.d)19    3.4668    0.28845   2.21581    5.4240
## as.factor(group.d)20    1.9075    0.52426   1.49929    2.4267
## as.factor(group.d)21    2.3767    0.42076   1.55034    3.6434
## as.factor(group.d)22    1.5046    0.66463   0.95128    2.3797
## as.factor(group.d)23    1.4388    0.69503   1.03845    1.9935
## as.factor(group.d)24    1.5472    0.64633   0.64111    3.7339
## as.factor(group.d)25    1.6080    0.62188   0.90690    2.8512
## as.factor(group.d)26    1.3998    0.71438   0.95650    2.0486
## as.factor(group.d)27    2.3376    0.42780   1.73171    3.1554
## as.factor(group.d)28    5.0369    0.19853   2.25001   11.2759
## as.factor(group.d)29    2.2491    0.44463   1.26804    3.9891
## as.factor(group.d)30    2.5089    0.39858   1.47447    4.2690
## as.factor(group.d)31    1.5137    0.66063   0.62723    3.6530
## as.factor(group.d)32    3.9055    0.25605   1.74501    8.7407
## 
## Concordance= 0.595  (se = 0.006 )
## Likelihood ratio test= 315.86  on 31 df,   p=<2e-16
## Wald test            = 341.95  on 31 df,   p=<2e-16
## Score (logrank) test = 364.12  on 31 df,   p=<2e-16

2.3.4 Association for hip fracture

m.hip.drink.w = coxph(Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + smoke_bin, data = women)
summary(m.hip.drink.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + smoke_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                  coef  exp(coef)   se(coef)       z Pr(>|z|)
## age_bin2.Age>= 75           0.7003162  2.0143895  0.0765686  9.1463   <2e-16
## bmd_bin2.BMD<= -2.5         0.9585149  2.6078208  0.0782622 12.2475   <2e-16
## fall_bin2.Falls 1+         -0.0058846  0.9941327  0.0806833 -0.0729   0.9419
## fx50_bin2.Fx 1+            -0.0099806  0.9900690  0.0755168 -0.1322   0.8949
## smoke_bin2.Current smoking -0.0595254  0.9422116  0.0764655 -0.7785   0.4363
##                               
## age_bin2.Age>= 75          ***
## bmd_bin2.BMD<= -2.5        ***
## fall_bin2.Falls 1+            
## fx50_bin2.Fx 1+               
## smoke_bin2.Current smoking    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                            exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            2.01439    0.49643   1.73368    2.3406
## bmd_bin2.BMD<= -2.5          2.60782    0.38346   2.23697    3.0401
## fall_bin2.Falls 1+           0.99413    1.00590   0.84872    1.1645
## fx50_bin2.Fx 1+              0.99007    1.01003   0.85386    1.1480
## smoke_bin2.Current smoking   0.94221    1.06133   0.81107    1.0946
## 
## Concordance= 0.66  (se = 0.011 )
## Likelihood ratio test= 259.67  on 5 df,   p=<2e-16
## Wald test            = 288.31  on 5 df,   p=<2e-16
## Score (logrank) test = 314.19  on 5 df,   p=<2e-16
hip.drink.w = coxph(Surv(time2hip, hipfx) ~ as.factor(group.d), data = women)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 23,30 ; coefficient may be infinite.
summary(hip.drink.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ as.factor(group.d), data = women)
## 
##   n= 7959, number of events= 749 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.d)2  -9.4596e-02  9.0974e-01  2.8422e-01 -0.3328 0.7392634    
## as.factor(group.d)3   3.9391e-01  1.4828e+00  1.5244e-01  2.5841 0.0097643 ** 
## as.factor(group.d)4   3.0814e-01  1.3609e+00  1.6797e-01  1.8345 0.0665802 .  
## as.factor(group.d)5   1.2049e+00  3.3364e+00  1.8373e-01  6.5580 5.453e-11 ***
## as.factor(group.d)6   8.4218e-01  2.3214e+00  1.5938e-01  5.2839 1.265e-07 ***
## as.factor(group.d)7   1.9748e+00  7.2052e+00  1.7120e-01 11.5351 < 2.2e-16 ***
## as.factor(group.d)8   9.6054e-01  2.6131e+00  2.1273e-01  4.5152 6.324e-06 ***
## as.factor(group.d)9   8.9966e-01  2.4588e+00  1.8425e-01  4.8829 1.046e-06 ***
## as.factor(group.d)10  7.1579e-01  2.0458e+00  3.6668e-01  1.9520 0.0509323 .  
## as.factor(group.d)11  1.4804e+00  4.3947e+00  2.6114e-01  5.6690 1.436e-08 ***
## as.factor(group.d)12  1.1947e+00  3.3027e+00  1.8536e-01  6.4455 1.152e-10 ***
## as.factor(group.d)13  1.3458e+00  3.8414e+00  3.3070e-01  4.0697 4.708e-05 ***
## as.factor(group.d)14  1.9332e-01  1.2133e+00  2.0937e-01  0.9233 0.3558398    
## as.factor(group.d)15  6.3540e-02  1.0656e+00  3.9015e-01  0.1629 0.8706281    
## as.factor(group.d)16 -1.1070e-01  8.9521e-01  3.9018e-01 -0.2837 0.7766296    
## as.factor(group.d)17  1.7911e+00  5.9958e+00  2.9427e-01  6.0865 1.154e-09 ***
## as.factor(group.d)18  1.9000e+00  6.6857e+00  1.6246e-01 11.6950 < 2.2e-16 ***
## as.factor(group.d)19  1.5328e+00  4.6309e+00  4.1986e-01  3.6507 0.0002616 ***
## as.factor(group.d)20  7.8000e-01  2.1815e+00  2.4946e-01  3.1267 0.0017678 ** 
## as.factor(group.d)21  1.3483e+00  3.8508e+00  3.6660e-01  3.6778 0.0002352 ***
## as.factor(group.d)22  2.9646e-01  1.3451e+00  5.0938e-01  0.5820 0.5605637    
## as.factor(group.d)23  8.5274e-01  2.3461e+00  2.8424e-01  3.0001 0.0026991 ** 
## as.factor(group.d)24 -1.3879e+01  9.3828e-07  1.1500e+03 -0.0121 0.9903704    
## as.factor(group.d)25  9.2769e-01  2.5287e+00  5.0931e-01  1.8215 0.0685366 .  
## as.factor(group.d)26 -4.2621e-01  6.5298e-01  5.8541e-01 -0.7280 0.4665838    
## as.factor(group.d)27  1.2294e+00  3.4191e+00  2.7644e-01  4.4472 8.699e-06 ***
## as.factor(group.d)28  2.2835e+00  9.8109e+00  5.8623e-01  3.8952 9.810e-05 ***
## as.factor(group.d)29  1.0519e+00  2.8630e+00  5.8578e-01  1.7957 0.0725475 .  
## as.factor(group.d)30  1.8220e+00  6.1842e+00  3.9046e-01  4.6663 3.066e-06 ***
## as.factor(group.d)31 -1.3882e+01  9.3584e-07  1.1949e+03 -0.0116 0.9907306    
## as.factor(group.d)32  2.0152e+00  7.5021e+00  7.1446e-01  2.8206 0.0047938 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.d)2  9.0974e-01 1.0992e+00   0.52118    1.5880
## as.factor(group.d)3  1.4828e+00 6.7441e-01   1.09981    1.9991
## as.factor(group.d)4  1.3609e+00 7.3481e-01   0.97915    1.8915
## as.factor(group.d)5  3.3364e+00 2.9972e-01   2.32749    4.7826
## as.factor(group.d)6  2.3214e+00 4.3077e-01   1.69857    3.1726
## as.factor(group.d)7  7.2052e+00 1.3879e-01   5.15136   10.0780
## as.factor(group.d)8  2.6131e+00 3.8268e-01   1.72218    3.9650
## as.factor(group.d)9  2.4588e+00 4.0671e-01   1.71350    3.5282
## as.factor(group.d)10 2.0458e+00 4.8881e-01   0.99710    4.1974
## as.factor(group.d)11 4.3947e+00 2.2755e-01   2.63419    7.3318
## as.factor(group.d)12 3.3027e+00 3.0278e-01   2.29662    4.7494
## as.factor(group.d)13 3.8414e+00 2.6032e-01   2.00907    7.3448
## as.factor(group.d)14 1.2133e+00 8.2422e-01   0.80490    1.8288
## as.factor(group.d)15 1.0656e+00 9.3844e-01   0.49602    2.2892
## as.factor(group.d)16 8.9521e-01 1.1171e+00   0.41668    1.9233
## as.factor(group.d)17 5.9958e+00 1.6678e-01   3.36794   10.6741
## as.factor(group.d)18 6.6857e+00 1.4957e-01   4.86252    9.1925
## as.factor(group.d)19 4.6309e+00 2.1594e-01   2.03368   10.5450
## as.factor(group.d)20 2.1815e+00 4.5841e-01   1.33784    3.5571
## as.factor(group.d)21 3.8508e+00 2.5968e-01   1.87718    7.8996
## as.factor(group.d)22 1.3451e+00 7.4344e-01   0.49564    3.6504
## as.factor(group.d)23 2.3461e+00 4.2625e-01   1.34399    4.0953
## as.factor(group.d)24 9.3828e-07 1.0658e+06   0.00000       Inf
## as.factor(group.d)25 2.5287e+00 3.9546e-01   0.93189    6.8615
## as.factor(group.d)26 6.5298e-01 1.5314e+00   0.20730    2.0569
## as.factor(group.d)27 3.4191e+00 2.9248e-01   1.98888    5.8778
## as.factor(group.d)28 9.8109e+00 1.0193e-01   3.10965   30.9531
## as.factor(group.d)29 2.8630e+00 3.4929e-01   0.90824    9.0248
## as.factor(group.d)30 6.1842e+00 1.6170e-01   2.87692   13.2936
## as.factor(group.d)31 9.3584e-07 1.0686e+06   0.00000       Inf
## as.factor(group.d)32 7.5021e+00 1.3330e-01   1.84941   30.4320
## 
## Concordance= 0.684  (se = 0.01 )
## Likelihood ratio test= 303.45  on 31 df,   p=<2e-16
## Wald test            = 325.27  on 31 df,   p=<2e-16
## Score (logrank) test = 391.77  on 31 df,   p=<2e-16

2.4 Proactive physical activity

2.3.1 Data management

women = women %>% mutate(physical_bin = case_when(physical4 == "Moderate" | physical4 == "High"  | physical4 == "Low" ~ "1.Proactive",
                                                physical4 == "No" ~ "2.Less active"))  
                                                
women = women %>% mutate(group.p = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "1.Proactive" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "1.Proactive" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & physical_bin == "2.Less active" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & physical_bin == "2.Less active" ~ 32))

2.3.2 Prevalences

table1(~ age + age_bin + fnbmd + tscore + bmd_bin + fall_bin + fx50_bin + physical4 + activity_bin + physical_bin + as.factor(group.p), data = women, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0]
age_bin
1.Age< 75 5226 (65.7%)
2.Age>= 75 2733 (34.3%)
fnbmd
Median [Q1, Q3] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.83 [-2.39, -1.22]
bmd_bin
1.BMD> -2.5 6303 (79.2%)
2.BMD<= -2.5 1656 (20.8%)
fall_bin
1.No falls 5590 (70.2%)
2.Falls 1+ 2369 (29.8%)
fx50_bin
1.No fx 4726 (59.4%)
2.Fx 1+ 3233 (40.6%)
physical4
Low 515 (6.5%)
Moderate 39 (0.5%)
No 7405 (93.0%)
activity_bin
1.Proactive 39 (0.5%)
2.Less active 7920 (99.5%)
physical_bin
1.Proactive 554 (7.0%)
2.Less active 7405 (93.0%)
as.factor(group.p)
1 163 (2.0%)
2 1935 (24.3%)
3 80 (1.0%)
4 67 (0.8%)
5 20 (0.3%)
6 39 (0.5%)
7 16 (0.2%)
8 20 (0.3%)
9 23 (0.3%)
10 749 (9.4%)
11 7 (0.1%)
12 21 (0.3%)
13 274 (3.4%)
14 38 (0.5%)
15 713 (9.0%)
16 933 (11.7%)
17 3 (0.0%)
18 20 (0.3%)
19 248 (3.1%)
20 15 (0.2%)
21 304 (3.8%)
22 486 (6.1%)
23 10 (0.1%)
24 90 (1.1%)
25 266 (3.3%)
26 484 (6.1%)
27 12 (0.2%)
28 78 (1.0%)
29 317 (4.0%)
30 254 (3.2%)
31 125 (1.6%)
32 149 (1.9%)

2.3.3 Association for any fracture

library(survival)
m.any.physical.w = coxph(Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + physical_bin, data = women)
summary(m.any.physical.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + physical_bin, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                               coef exp(coef) se(coef)       z  Pr(>|z|)    
## age_bin2.Age>= 75         0.405310  1.499767 0.041767  9.7041 < 2.2e-16 ***
## bmd_bin2.BMD<= -2.5       0.484674  1.623646 0.045721 10.6007 < 2.2e-16 ***
## fall_bin2.Falls 1+        0.071814  1.074456 0.042414  1.6932  0.090421 .  
## fx50_bin2.Fx 1+           0.110611  1.116960 0.040298  2.7448  0.006055 ** 
## physical_bin2.Less active 0.091946  1.096305 0.078975  1.1642  0.244329    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                           exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75            1.4998    0.66677   1.38189    1.6277
## bmd_bin2.BMD<= -2.5          1.6236    0.61590   1.48448    1.7759
## fall_bin2.Falls 1+           1.0745    0.93070   0.98875    1.1676
## fx50_bin2.Fx 1+              1.1170    0.89529   1.03213    1.2088
## physical_bin2.Less active    1.0963    0.91215   0.93909    1.2798
## 
## Concordance= 0.59  (se = 0.006 )
## Likelihood ratio test= 258.33  on 5 df,   p=<2e-16
## Wald test            = 278.54  on 5 df,   p=<2e-16
## Score (logrank) test = 285.29  on 5 df,   p=<2e-16
options(digits = 8)
any.physical.w = coxph(Surv(time2any, anyfx) ~ as.factor(group.p), data = women)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 16 ; coefficient may be infinite.
summary(any.physical.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ as.factor(group.p), data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.p)2   2.1666e-01  1.2419e+00  1.7226e-01  1.2577 0.2084916    
## as.factor(group.p)3   4.0131e-01  1.4938e+00  2.6355e-01  1.5227 0.1278302    
## as.factor(group.p)4   7.7944e-02  1.0811e+00  2.9428e-01  0.2649 0.7911168    
## as.factor(group.p)5   1.0537e+00  2.8683e+00  3.4453e-01  3.0584 0.0022253 ** 
## as.factor(group.p)6   5.9091e-01  1.8056e+00  3.3339e-01  1.7724 0.0763251 .  
## as.factor(group.p)7   9.0174e-01  2.4639e+00  4.4102e-01  2.0447 0.0408877 *  
## as.factor(group.p)8   1.0812e+00  2.9482e+00  3.9100e-01  2.7652 0.0056893 ** 
## as.factor(group.p)9   9.6748e-01  2.6313e+00  3.7282e-01  2.5951 0.0094575 ** 
## as.factor(group.p)10  6.7368e-01  1.9614e+00  1.7957e-01  3.7515 0.0001758 ***
## as.factor(group.p)11 -3.2053e-01  7.2577e-01  1.0138e+00 -0.3162 0.7518793    
## as.factor(group.p)12  2.5431e-01  1.2896e+00  4.7727e-01  0.5328 0.5941438    
## as.factor(group.p)13  8.2728e-01  2.2871e+00  1.9123e-01  4.3262 1.517e-05 ***
## as.factor(group.p)14  6.7235e-01  1.9588e+00  3.1498e-01  2.1345 0.0327989 *  
## as.factor(group.p)15  4.3672e-01  1.5476e+00  1.7909e-01  2.4386 0.0147456 *  
## as.factor(group.p)16  6.0622e-01  1.8335e+00  1.7547e-01  3.4549 0.0005505 ***
## as.factor(group.p)17 -1.1520e+01  9.9307e-06  4.0113e+02 -0.0287 0.9770892    
## as.factor(group.p)18  1.8287e+00  6.2260e+00  3.2386e-01  5.6467 1.636e-08 ***
## as.factor(group.p)19  1.2827e+00  3.6065e+00  1.9190e-01  6.6843 2.320e-11 ***
## as.factor(group.p)20  1.5837e+00  4.8730e+00  3.5757e-01  4.4290 9.466e-06 ***
## as.factor(group.p)21  8.5169e-01  2.3436e+00  1.9236e-01  4.4277 9.526e-06 ***
## as.factor(group.p)22  7.0666e-01  2.0272e+00  1.8601e-01  3.7990 0.0001453 ***
## as.factor(group.p)23 -2.3322e-01  7.9198e-01  7.2649e-01 -0.3210 0.7481904    
## as.factor(group.p)24  1.1067e+00  3.0243e+00  2.2370e-01  4.9471 7.531e-07 ***
## as.factor(group.p)25  8.5673e-01  2.3554e+00  1.9272e-01  4.4455 8.769e-06 ***
## as.factor(group.p)26  4.1771e-01  1.5185e+00  1.8561e-01  2.2505 0.0244199 *  
## as.factor(group.p)27  1.4350e+00  4.1998e+00  5.2727e-01  2.7217 0.0064955 ** 
## as.factor(group.p)28  1.7320e+00  5.6519e+00  2.2395e-01  7.7338 1.044e-14 ***
## as.factor(group.p)29  1.3024e+00  3.6783e+00  1.8807e-01  6.9253 4.351e-12 ***
## as.factor(group.p)30  8.2109e-01  2.2730e+00  2.0052e-01  4.0948 4.226e-05 ***
## as.factor(group.p)31  6.2721e-01  1.8724e+00  2.2715e-01  2.7613 0.0057576 ** 
## as.factor(group.p)32  1.0706e+00  2.9172e+00  2.1982e-01  4.8705 1.113e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.p)2  1.2419e+00 8.0520e-01  0.886061    1.7407
## as.factor(group.p)3  1.4938e+00 6.6944e-01  0.891156    2.5039
## as.factor(group.p)4  1.0811e+00 9.2502e-01  0.607233    1.9246
## as.factor(group.p)5  2.8683e+00 3.4864e-01  1.460013    5.6350
## as.factor(group.p)6  1.8056e+00 5.5382e-01  0.939388    3.4707
## as.factor(group.p)7  2.4639e+00 4.0586e-01  1.038062    5.8481
## as.factor(group.p)8  2.9482e+00 3.3919e-01  1.370037    6.3442
## as.factor(group.p)9  2.6313e+00 3.8004e-01  1.267153    5.4640
## as.factor(group.p)10 1.9614e+00 5.0983e-01  1.379499    2.7889
## as.factor(group.p)11 7.2577e-01 1.3779e+00  0.099506    5.2936
## as.factor(group.p)12 1.2896e+00 7.7545e-01  0.506052    3.2862
## as.factor(group.p)13 2.2871e+00 4.3724e-01  1.572215    3.3270
## as.factor(group.p)14 1.9588e+00 5.1051e-01  1.056527    3.6317
## as.factor(group.p)15 1.5476e+00 6.4615e-01  1.089493    2.1984
## as.factor(group.p)16 1.8335e+00 5.4541e-01  1.299931    2.5861
## as.factor(group.p)17 9.9307e-06 1.0070e+05  0.000000       Inf
## as.factor(group.p)18 6.2260e+00 1.6062e-01  3.300197   11.7459
## as.factor(group.p)19 3.6065e+00 2.7728e-01  2.475921    5.2533
## as.factor(group.p)20 4.8730e+00 2.0521e-01  2.417829    9.8211
## as.factor(group.p)21 2.3436e+00 4.2669e-01  1.607500    3.4168
## as.factor(group.p)22 2.0272e+00 4.9329e-01  1.407873    2.9190
## as.factor(group.p)23 7.9198e-01 1.2627e+00  0.190688    3.2893
## as.factor(group.p)24 3.0243e+00 3.3066e-01  1.950773    4.6885
## as.factor(group.p)25 2.3554e+00 4.2455e-01  1.614469    3.4365
## as.factor(group.p)26 1.5185e+00 6.5855e-01  1.055399    2.1847
## as.factor(group.p)27 4.1998e+00 2.3810e-01  1.494242   11.8044
## as.factor(group.p)28 5.6519e+00 1.7693e-01  3.643907    8.7664
## as.factor(group.p)29 3.6783e+00 2.7187e-01  2.544231    5.3177
## as.factor(group.p)30 2.2730e+00 4.3995e-01  1.534297    3.3673
## as.factor(group.p)31 1.8724e+00 5.3408e-01  1.199633    2.9224
## as.factor(group.p)32 2.9172e+00 3.4279e-01  1.896086    4.4883
## 
## Concordance= 0.595  (se = 0.006 )
## Likelihood ratio test= 328.52  on 31 df,   p=<2e-16
## Wald test            = 355.19  on 31 df,   p=<2e-16
## Score (logrank) test = 382.5  on 31 df,   p=<2e-16

2.3.4 Association for hip fracture

m.hip.physical.w = coxph(Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + physical_bin, data = women)
summary(m.hip.physical.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + physical_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                 coef  exp(coef)   se(coef)       z Pr(>|z|)    
## age_bin2.Age>= 75          0.7028830  2.0195668  0.0764034  9.1996   <2e-16 ***
## bmd_bin2.BMD<= -2.5        0.9569915  2.6038511  0.0782193 12.2347   <2e-16 ***
## fall_bin2.Falls 1+        -0.0047955  0.9952160  0.0806828 -0.0594   0.9526    
## fx50_bin2.Fx 1+           -0.0107125  0.9893447  0.0755018 -0.1419   0.8872    
## physical_bin2.Less active  0.0977472  1.1026840  0.1493287  0.6546   0.5127    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                           exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75           2.01957    0.49516   1.73870    2.3458
## bmd_bin2.BMD<= -2.5         2.60385    0.38405   2.23376    3.0353
## fall_bin2.Falls 1+          0.99522    1.00481   0.84965    1.1657
## fx50_bin2.Fx 1+             0.98934    1.01077   0.85326    1.1471
## physical_bin2.Less active   1.10268    0.90688   0.82289    1.4776
## 
## Concordance= 0.657  (se = 0.011 )
## Likelihood ratio test= 259.5  on 5 df,   p=<2e-16
## Wald test            = 288.04  on 5 df,   p=<2e-16
## Score (logrank) test = 313.93  on 5 df,   p=<2e-16
options(digits = 8)
hip.physical.w = coxph(Surv(time2hip, hipfx) ~ as.factor(group.p), data = women)
## Warning in coxph.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 10,16,26 ; coefficient may be infinite.
summary(hip.physical.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ as.factor(group.p), data = women)
## 
##   n= 7959, number of events= 749 
## 
##                             coef   exp(coef)    se(coef)       z  Pr(>|z|)    
## as.factor(group.p)2  -7.9933e-02  9.2318e-01  3.3019e-01 -0.2421 0.8087194    
## as.factor(group.p)3   3.7055e-01  1.4485e+00  4.9283e-01  0.7519 0.4521200    
## as.factor(group.p)4  -1.3059e-01  8.7757e-01  5.9164e-01 -0.2207 0.8253016    
## as.factor(group.p)5   1.8599e+00  6.4233e+00  4.9285e-01  3.7738 0.0001608 ***
## as.factor(group.p)6   4.7967e-01  1.6155e+00  6.5842e-01  0.7285 0.4662950    
## as.factor(group.p)7   1.1741e+00  3.2352e+00  7.7483e-01  1.5153 0.1296968    
## as.factor(group.p)8   2.1988e-01  1.2459e+00  1.0490e+00  0.2096 0.8339687    
## as.factor(group.p)9   6.9470e-01  2.0031e+00  7.7478e-01  0.8966 0.3699064    
## as.factor(group.p)10  7.7957e-01  2.1805e+00  3.3905e-01  2.2992 0.0214917 *  
## as.factor(group.p)11 -1.2914e+01  2.4635e-06  1.0076e+03 -0.0128 0.9897740    
## as.factor(group.p)12  6.3135e-01  1.8801e+00  7.7461e-01  0.8151 0.4150426    
## as.factor(group.p)13  1.0924e+00  2.9813e+00  3.5040e-01  3.1174 0.0018243 ** 
## as.factor(group.p)14 -1.4523e-01  8.6482e-01  7.7461e-01 -0.1875 0.8512762    
## as.factor(group.p)15  2.4405e-01  1.2764e+00  3.4334e-01  0.7108 0.4772065    
## as.factor(group.p)16  2.6648e-01  1.3054e+00  3.3753e-01  0.7895 0.4298160    
## as.factor(group.p)17 -1.2916e+01  2.4590e-06  1.6941e+03 -0.0076 0.9939169    
## as.factor(group.p)18  1.5310e+00  4.6229e+00  6.5870e-01  2.3243 0.0201081 *  
## as.factor(group.p)19  1.8917e+00  6.6305e+00  3.4439e-01  5.4928 3.956e-08 ***
## as.factor(group.p)20  1.7531e+00  5.7724e+00  5.9174e-01  2.9626 0.0030504 ** 
## as.factor(group.p)21  1.0050e+00  2.7320e+00  3.5888e-01  2.8005 0.0051031 ** 
## as.factor(group.p)22  7.6988e-01  2.1595e+00  3.5146e-01  2.1905 0.0284879 *  
## as.factor(group.p)23  5.0910e-01  1.6638e+00  1.0488e+00  0.4854 0.6273933    
## as.factor(group.p)24  1.3127e+00  3.7163e+00  3.9858e-01  3.2935 0.0009894 ***
## as.factor(group.p)25  1.1344e+00  3.1092e+00  3.5193e-01  3.2232 0.0012676 ** 
## as.factor(group.p)26  6.8649e-02  1.0711e+00  3.6520e-01  0.1880 0.8508940    
## as.factor(group.p)27 -1.2916e+01  2.4593e-06  1.1418e+03 -0.0113 0.9909750    
## as.factor(group.p)28  1.8599e+00  6.4231e+00  4.0373e-01  4.6068 4.088e-06 ***
## as.factor(group.p)29  1.7898e+00  5.9882e+00  3.4224e-01  5.2297 1.698e-07 ***
## as.factor(group.p)30  8.1064e-01  2.2494e+00  3.8184e-01  2.1230 0.0337568 *  
## as.factor(group.p)31  6.8596e-01  1.9857e+00  4.2069e-01  1.6306 0.1029795    
## as.factor(group.p)32  1.2982e+00  3.6628e+00  3.9918e-01  3.2522 0.0011452 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                       exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.p)2  9.2318e-01 1.0832e+00   0.48331    1.7634
## as.factor(group.p)3  1.4485e+00 6.9035e-01   0.55135    3.8056
## as.factor(group.p)4  8.7757e-01 1.1395e+00   0.27522    2.7983
## as.factor(group.p)5  6.4233e+00 1.5568e-01   2.44480   16.8763
## as.factor(group.p)6  1.6155e+00 6.1899e-01   0.44450    5.8717
## as.factor(group.p)7  3.2352e+00 3.0910e-01   0.70855   14.7719
## as.factor(group.p)8  1.2459e+00 8.0262e-01   0.15945    9.7357
## as.factor(group.p)9  2.0031e+00 4.9922e-01   0.43875    9.1453
## as.factor(group.p)10 2.1805e+00 4.5860e-01   1.12191    4.2380
## as.factor(group.p)11 2.4635e-06 4.0593e+05   0.00000       Inf
## as.factor(group.p)12 1.8801e+00 5.3187e-01   0.41195    8.5811
## as.factor(group.p)13 2.9813e+00 3.3542e-01   1.50018    5.9247
## as.factor(group.p)14 8.6482e-01 1.1563e+00   0.18949    3.9471
## as.factor(group.p)15 1.2764e+00 7.8345e-01   0.65124    2.5017
## as.factor(group.p)16 1.3054e+00 7.6607e-01   0.67364    2.5295
## as.factor(group.p)17 2.4590e-06 4.0667e+05   0.00000       Inf
## as.factor(group.p)18 4.6229e+00 2.1631e-01   1.27125   16.8113
## as.factor(group.p)19 6.6305e+00 1.5082e-01   3.37597   13.0225
## as.factor(group.p)20 5.7724e+00 1.7324e-01   1.80996   18.4096
## as.factor(group.p)21 2.7320e+00 3.6603e-01   1.35207    5.5203
## as.factor(group.p)22 2.1595e+00 4.6307e-01   1.08440    4.3005
## as.factor(group.p)23 1.6638e+00 6.0104e-01   0.21298   12.9974
## as.factor(group.p)24 3.7163e+00 2.6908e-01   1.70153    8.1168
## as.factor(group.p)25 3.1092e+00 3.2163e-01   1.55984    6.1974
## as.factor(group.p)26 1.0711e+00 9.3365e-01   0.52355    2.1912
## as.factor(group.p)27 2.4593e-06 4.0661e+05   0.00000       Inf
## as.factor(group.p)28 6.4231e+00 1.5569e-01   2.91134   14.1709
## as.factor(group.p)29 5.9882e+00 1.6700e-01   3.06182   11.7113
## as.factor(group.p)30 2.2494e+00 4.4457e-01   1.06422    4.7543
## as.factor(group.p)31 1.9857e+00 5.0361e-01   0.87060    4.5290
## as.factor(group.p)32 3.6628e+00 2.7302e-01   1.67503    8.0093
## 
## Concordance= 0.679  (se = 0.01 )
## Likelihood ratio test= 293.33  on 31 df,   p=<2e-16
## Wald test            = 319.19  on 31 df,   p=<2e-16
## Score (logrank) test = 380.34  on 31 df,   p=<2e-16

2.5 Calcium intake (Adequate: >= 1000 mg/day)

2.5.1 Data management

women$calcium.d = women$calcium2/7
women = women %>% mutate(calci_bin = case_when(calcium.d >= 1300 ~ "1.Sufficient Calcium",
                                           calcium.d < 1300 ~ "2.Insufficient Calcium"))

women = women %>% mutate(group.c = case_when(age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 1,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 2,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 3,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 4,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 5,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 6,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 7,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 8,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 9,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 10,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 11,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 12,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 13,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 14,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 15,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 16,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "1.Sufficient Calcium" ~ 17,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 18,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 19,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 20,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 21,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 22,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 23,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 24,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 25,
                                       age_bin == "1.Age< 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 26,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "1.Sufficient Calcium" ~ 27,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "1.No fx" & calci_bin == "2.Insufficient Calcium" ~ 28,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "1.No falls" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 29,
                                       age_bin == "2.Age>= 75" & bmd_bin == "1.BMD> -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 30,
                                       age_bin == "1.Age< 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 31,
                                       age_bin == "2.Age>= 75" & bmd_bin == "2.BMD<= -2.5" & fall_bin == "2.Falls 1+" & fx50_bin == "2.Fx 1+" & calci_bin == "2.Insufficient Calcium" ~ 32))

2.5.2 Prevalences

table1(~ age + age_bin + fnbmd + tscore + bmd_bin + fall_bin + fx50_bin + calcium2 + calci_bin + as.factor(group.c), data = women, render.continuous = c(. = "Median [Q1, Q3]"))
Overall
(N=7959)
age
Median [Q1, Q3] 72.0 [69.0, 76.0]
age_bin
1.Age< 75 5226 (65.7%)
2.Age>= 75 2733 (34.3%)
fnbmd
Median [Q1, Q3] 0.639 [0.571, 0.712]
tscore
Median [Q1, Q3] -1.83 [-2.39, -1.22]
bmd_bin
1.BMD> -2.5 6303 (79.2%)
2.BMD<= -2.5 1656 (20.8%)
fall_bin
1.No falls 5590 (70.2%)
2.Falls 1+ 2369 (29.8%)
fx50_bin
1.No fx 4726 (59.4%)
2.Fx 1+ 3233 (40.6%)
calcium2
Median [Q1, Q3] 4390 [2830, 6610]
calci_bin
1.Sufficient Calcium 788 (9.9%)
2.Insufficient Calcium 7171 (90.1%)
as.factor(group.c)
1 201 (2.5%)
2 1897 (23.8%)
3 117 (1.5%)
4 84 (1.1%)
5 29 (0.4%)
6 68 (0.9%)
7 14 (0.2%)
8 24 (0.3%)
9 43 (0.5%)
10 720 (9.0%)
11 7 (0.1%)
12 33 (0.4%)
13 265 (3.3%)
14 72 (0.9%)
15 696 (8.7%)
16 896 (11.3%)
17 5 (0.1%)
18 28 (0.4%)
19 250 (3.1%)
20 27 (0.3%)
21 300 (3.8%)
22 466 (5.9%)
23 18 (0.2%)
24 90 (1.1%)
25 254 (3.2%)
26 450 (5.7%)
27 18 (0.2%)
28 76 (1.0%)
29 309 (3.9%)
30 242 (3.0%)
31 117 (1.5%)
32 143 (1.8%)

2.5.3 Association for any fracture

library(survival)
m.any.calci.w = coxph(Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + calci_bin, data = women)
summary(m.any.calci.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + calci_bin, data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                                     coef exp(coef) se(coef)       z Pr(>|z|)
## age_bin2.Age>= 75               0.405274  1.499713 0.041776  9.7010  < 2e-16
## bmd_bin2.BMD<= -2.5             0.483453  1.621664 0.045722 10.5739  < 2e-16
## fall_bin2.Falls 1+              0.071970  1.074623 0.042415  1.6968  0.08973
## fx50_bin2.Fx 1+                 0.112747  1.119349 0.040321  2.7962  0.00517
## calci_bin2.Insufficient Calcium 0.071280  1.073882 0.067866  1.0503  0.29358
##                                    
## age_bin2.Age>= 75               ***
## bmd_bin2.BMD<= -2.5             ***
## fall_bin2.Falls 1+              .  
## fx50_bin2.Fx 1+                 ** 
## calci_bin2.Insufficient Calcium    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                                 exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                  1.4997    0.66679   1.38181    1.6277
## bmd_bin2.BMD<= -2.5                1.6217    0.61665   1.48266    1.7737
## fall_bin2.Falls 1+                 1.0746    0.93056   0.98890    1.1678
## fx50_bin2.Fx 1+                    1.1193    0.89338   1.03429    1.2114
## calci_bin2.Insufficient Calcium    1.0739    0.93120   0.94013    1.2267
## 
## Concordance= 0.59  (se = 0.006 )
## Likelihood ratio test= 258.06  on 5 df,   p=<2e-16
## Wald test            = 278.32  on 5 df,   p=<2e-16
## Score (logrank) test = 285.07  on 5 df,   p=<2e-16
options(digits = 8)
any.calci.w = coxph(Surv(time2any, anyfx) ~ as.factor(group.c), data = women)
summary(any.calci.w)
## Call:
## coxph(formula = Surv(time2any, anyfx) ~ as.factor(group.c), data = women)
## 
##   n= 7959, number of events= 2629 
## 
##                           coef exp(coef)  se(coef)       z  Pr(>|z|)    
## as.factor(group.c)2   0.087861  1.091837  0.148148  0.5931 0.5531368    
## as.factor(group.c)3   0.193277  1.213219  0.224298  0.8617 0.3888540    
## as.factor(group.c)4  -0.181543  0.833982  0.274879 -0.6604 0.5089672    
## as.factor(group.c)5   0.561247  1.752857  0.346472  1.6199 0.1052559    
## as.factor(group.c)6   0.529016  1.697262  0.275066  1.9232 0.0544511 .  
## as.factor(group.c)7   1.304432  3.685593  0.380887  3.4247 0.0006154 ***
## as.factor(group.c)8   1.325540  3.764216  0.311536  4.2549 2.092e-05 ***
## as.factor(group.c)9   0.430932  1.538690  0.321559  1.3401 0.1802017    
## as.factor(group.c)10  0.549066  1.731635  0.156769  3.5024 0.0004611 ***
## as.factor(group.c)11  1.023001  2.781530  0.519637  1.9687 0.0489894 *  
## as.factor(group.c)12  1.045186  2.843926  0.287280  3.6382 0.0002745 ***
## as.factor(group.c)13  0.739007  2.093856  0.169443  4.3614 1.292e-05 ***
## as.factor(group.c)14  0.499603  1.648066  0.238835  2.0918 0.0364539 *  
## as.factor(group.c)15  0.333588  1.395968  0.155926  2.1394 0.0324034 *  
## as.factor(group.c)16  0.502354  1.652607  0.151966  3.3057 0.0009474 ***
## as.factor(group.c)17  2.032094  7.630049  0.594853  3.4161 0.0006352 ***
## as.factor(group.c)18  1.058937  2.883305  0.346646  3.0548 0.0022520 ** 
## as.factor(group.c)19  1.126387  3.084492  0.170873  6.5920 4.341e-11 ***
## as.factor(group.c)20  1.214720  3.369350  0.333276  3.6448 0.0002676 ***
## as.factor(group.c)21  0.690369  1.994451  0.172213  4.0088 6.103e-05 ***
## as.factor(group.c)22  0.613259  1.846438  0.164181  3.7352 0.0001875 ***
## as.factor(group.c)23  0.124532  1.132619  0.519649  0.2396 0.8106038    
## as.factor(group.c)24  0.908967  2.481757  0.209389  4.3410 1.418e-05 ***
## as.factor(group.c)25  0.651158  1.917760  0.174430  3.7331 0.0001892 ***
## as.factor(group.c)26  0.282870  1.326933  0.165245  1.7118 0.0869295 .  
## as.factor(group.c)27  0.174297  1.190409  0.594600  0.2931 0.7694207    
## as.factor(group.c)28  1.506764  4.512106  0.209598  7.1888 6.534e-13 ***
## as.factor(group.c)29  1.229944  3.421040  0.165583  7.4280 1.103e-13 ***
## as.factor(group.c)30  0.710607  2.035227  0.180474  3.9375 8.235e-05 ***
## as.factor(group.c)31  0.483985  1.622528  0.212144  2.2814 0.0225247 *  
## as.factor(group.c)32  1.048063  2.852122  0.200297  5.2325 1.672e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.c)2    1.09184    0.91589   0.81668    1.4597
## as.factor(group.c)3    1.21322    0.82425   0.78166    1.8830
## as.factor(group.c)4    0.83398    1.19907   0.48661    1.4293
## as.factor(group.c)5    1.75286    0.57050   0.88885    3.4567
## as.factor(group.c)6    1.69726    0.58918   0.98995    2.9100
## as.factor(group.c)7    3.68559    0.27133   1.74701    7.7753
## as.factor(group.c)8    3.76422    0.26566   2.04407    6.9319
## as.factor(group.c)9    1.53869    0.64990   0.81929    2.8898
## as.factor(group.c)10   1.73163    0.57749   1.27354    2.3545
## as.factor(group.c)11   2.78153    0.35951   1.00454    7.7019
## as.factor(group.c)12   2.84393    0.35163   1.61951    4.9940
## as.factor(group.c)13   2.09386    0.47759   1.50216    2.9186
## as.factor(group.c)14   1.64807    0.60677   1.03199    2.6319
## as.factor(group.c)15   1.39597    0.71635   1.02837    1.8950
## as.factor(group.c)16   1.65261    0.60510   1.22692    2.2260
## as.factor(group.c)17   7.63005    0.13106   2.37787   24.4832
## as.factor(group.c)18   2.88330    0.34682   1.46159    5.6880
## as.factor(group.c)19   3.08449    0.32420   2.20666    4.3115
## as.factor(group.c)20   3.36935    0.29679   1.75332    6.4749
## as.factor(group.c)21   1.99445    0.50139   1.42310    2.7952
## as.factor(group.c)22   1.84644    0.54158   1.33839    2.5473
## as.factor(group.c)23   1.13262    0.88291   0.40903    3.1362
## as.factor(group.c)24   2.48176    0.40294   1.64637    3.7410
## as.factor(group.c)25   1.91776    0.52144   1.36245    2.6994
## as.factor(group.c)26   1.32693    0.75362   0.95982    1.8345
## as.factor(group.c)27   1.19041    0.84005   0.37117    3.8179
## as.factor(group.c)28   4.51211    0.22163   2.99205    6.8044
## as.factor(group.c)29   3.42104    0.29231   2.47294    4.7326
## as.factor(group.c)30   2.03523    0.49135   1.42887    2.8989
## as.factor(group.c)31   1.62253    0.61632   1.07057    2.4591
## as.factor(group.c)32   2.85212    0.35062   1.92608    4.2234
## 
## Concordance= 0.595  (se = 0.006 )
## Likelihood ratio test= 321.79  on 31 df,   p=<2e-16
## Wald test            = 347.17  on 31 df,   p=<2e-16
## Score (logrank) test = 370.52  on 31 df,   p=<2e-16

2.5.4 Association for hip fracture

m.hip.calci.w = coxph(Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + fx50_bin + calci_bin, data = women)
summary(m.hip.calci.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ age_bin + bmd_bin + fall_bin + 
##     fx50_bin + calci_bin, data = women)
## 
##   n= 7959, number of events= 749 
## 
##                                       coef  exp(coef)   se(coef)       z
## age_bin2.Age>= 75                0.7095551  2.0330865  0.0765137  9.2736
## bmd_bin2.BMD<= -2.5              0.9593318  2.6099519  0.0782616 12.2580
## fall_bin2.Falls 1+              -0.0066476  0.9933744  0.0806889 -0.0824
## fx50_bin2.Fx 1+                 -0.0134815  0.9866090  0.0755533 -0.1784
## calci_bin2.Insufficient Calcium -0.1416311  0.8679414  0.1213973 -1.1667
##                                 Pr(>|z|)    
## age_bin2.Age>= 75                 <2e-16 ***
## bmd_bin2.BMD<= -2.5               <2e-16 ***
## fall_bin2.Falls 1+                0.9343    
## fx50_bin2.Fx 1+                   0.8584    
## calci_bin2.Insufficient Calcium   0.2433    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                                 exp(coef) exp(-coef) lower .95 upper .95
## age_bin2.Age>= 75                 2.03309    0.49186   1.74996    2.3620
## bmd_bin2.BMD<= -2.5               2.60995    0.38315   2.23880    3.0426
## fall_bin2.Falls 1+                0.99337    1.00667   0.84807    1.1636
## fx50_bin2.Fx 1+                   0.98661    1.01357   0.85081    1.1441
## calci_bin2.Insufficient Calcium   0.86794    1.15215   0.68416    1.1011
## 
## Concordance= 0.654  (se = 0.011 )
## Likelihood ratio test= 260.37  on 5 df,   p=<2e-16
## Wald test            = 288.92  on 5 df,   p=<2e-16
## Score (logrank) test = 314.84  on 5 df,   p=<2e-16
options(digits = 8)
hip.calci.w = coxph(Surv(time2hip, hipfx) ~ as.factor(group.c), data = women)
summary(hip.calci.w)
## Call:
## coxph(formula = Surv(time2hip, hipfx) ~ as.factor(group.c), data = women)
## 
##   n= 7959, number of events= 749 
## 
##                            coef  exp(coef)   se(coef)      z  Pr(>|z|)    
## as.factor(group.c)2   0.2955326  1.3438419  0.3464814 0.8530 0.3936849    
## as.factor(group.c)3   0.0067368  1.0067596  0.5577913 0.0121 0.9903637    
## as.factor(group.c)4   0.2773318  1.3196042  0.5577760 0.4972 0.6190410    
## as.factor(group.c)5   1.1280298  3.0895634  0.6668582 1.6916 0.0907302 .  
## as.factor(group.c)6   1.7171168  5.5684503  0.4718648 3.6390 0.0002737 ***
## as.factor(group.c)7   2.7399502 15.4862139  0.5272781 5.1964 2.032e-07 ***
## as.factor(group.c)8   2.1104509  8.2519612  0.5581873 3.7809 0.0001563 ***
## as.factor(group.c)9   1.1508899  3.1610048  0.6011884 1.9144 0.0555744 .  
## as.factor(group.c)10  1.0464372  2.8474881  0.3569913 2.9313 0.0033758 ** 
## as.factor(group.c)11  1.2285744  3.4163558  1.0541135 1.1655 0.2438147    
## as.factor(group.c)12  2.2347342  9.3439982  0.4715119 4.7395 2.142e-06 ***
## as.factor(group.c)13  1.5429048  4.6781596  0.3632757 4.2472 2.165e-05 ***
## as.factor(group.c)14  0.2872894  1.3328099  0.6009395 0.4781 0.6326024    
## as.factor(group.c)15  0.5879658  1.8003224  0.3595823 1.6351 0.1020207    
## as.factor(group.c)16  0.6781583  1.9702459  0.3530467 1.9209 0.0547475 .  
## as.factor(group.c)17  3.7482730 42.4477113  0.7836678 4.7830 1.727e-06 ***
## as.factor(group.c)18  2.4787725 11.9266153  0.5279229 4.6953 2.662e-06 ***
## as.factor(group.c)19  2.1539533  8.6188640  0.3620917 5.9486 2.704e-09 ***
## as.factor(group.c)20  2.0544289  7.8023803  0.5581560 3.6807 0.0002326 ***
## as.factor(group.c)21  1.2332546  3.4323823  0.3788854 3.2550 0.0011341 ** 
## as.factor(group.c)22  1.1082866  3.0291637  0.3683842 3.0085 0.0026253 ** 
## as.factor(group.c)23  1.3183844  3.7373782  0.7818540 1.6862 0.0917518 .  
## as.factor(group.c)24  1.5992982  4.9495575  0.4167136 3.8379 0.0001241 ***
## as.factor(group.c)25  1.3185113  3.7378526  0.3737701 3.5276 0.0004193 ***
## as.factor(group.c)26  0.4148391  1.5141271  0.3832205 1.0825 0.2790270    
## as.factor(group.c)27  1.0435580  2.8393012  1.0545944 0.9895 0.3224015    
## as.factor(group.c)28  2.0429539  7.7133597  0.4277241 4.7763 1.785e-06 ***
## as.factor(group.c)29  2.0911911  8.0945511  0.3592421 5.8211 5.846e-09 ***
## as.factor(group.c)30  1.1319149  3.1015900  0.3987657 2.8385 0.0045320 ** 
## as.factor(group.c)31  0.9740749  2.6487159  0.4409693 2.2089 0.0271788 *  
## as.factor(group.c)32  1.6250847  5.0788490  0.4171826 3.8954 9.805e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                      exp(coef) exp(-coef) lower .95 upper .95
## as.factor(group.c)2     1.3438   0.744135   0.68143    2.6502
## as.factor(group.c)3     1.0068   0.993286   0.33739    3.0041
## as.factor(group.c)4     1.3196   0.757803   0.44225    3.9375
## as.factor(group.c)5     3.0896   0.323670   0.83612   11.4164
## as.factor(group.c)6     5.5685   0.179583   2.20842   14.0406
## as.factor(group.c)7    15.4862   0.064574   5.50967   43.5276
## as.factor(group.c)8     8.2520   0.121183   2.76330   24.6426
## as.factor(group.c)9     3.1610   0.316355   0.97295   10.2697
## as.factor(group.c)10    2.8475   0.351187   1.41446    5.7324
## as.factor(group.c)11    3.4164   0.292710   0.43281   26.9666
## as.factor(group.c)12    9.3440   0.107021   3.70835   23.5442
## as.factor(group.c)13    4.6782   0.213759   2.29538    9.5345
## as.factor(group.c)14    1.3328   0.750295   0.41044    4.3280
## as.factor(group.c)15    1.8003   0.555456   0.88976    3.6427
## as.factor(group.c)16    1.9702   0.507551   0.98629    3.9358
## as.factor(group.c)17   42.4477   0.023558   9.13682  197.2030
## as.factor(group.c)18   11.9266   0.083846   4.23788   33.5649
## as.factor(group.c)19    8.6189   0.116025   4.23874   17.5252
## as.factor(group.c)20    7.8024   0.128166   2.61291   23.2986
## as.factor(group.c)21    3.4324   0.291343   1.63338    7.2128
## as.factor(group.c)22    3.0292   0.330124   1.47148    6.2358
## as.factor(group.c)23    3.7374   0.267567   0.80733   17.3014
## as.factor(group.c)24    4.9496   0.202038   2.18705   11.2014
## as.factor(group.c)25    3.7379   0.267533   1.79667    7.7764
## as.factor(group.c)26    1.5141   0.660447   0.71444    3.2089
## as.factor(group.c)27    2.8393   0.352199   0.35937   22.4328
## as.factor(group.c)28    7.7134   0.129645   3.33553   17.8370
## as.factor(group.c)29    8.0946   0.123540   4.00318   16.3674
## as.factor(group.c)30    3.1016   0.322415   1.41956    6.7766
## as.factor(group.c)31    2.6487   0.377541   1.11604    6.2862
## as.factor(group.c)32    5.0788   0.196895   2.24212   11.5046
## 
## Concordance= 0.682  (se = 0.01 )
## Likelihood ratio test= 301.51  on 31 df,   p=<2e-16
## Wald test            = 336.51  on 31 df,   p=<2e-16
## Score (logrank) test = 411.97  on 31 df,   p=<2e-16

3. Graph to represent PAR

3.1 Smoking:

Data management:

par = read.csv("C:\\Thach\\Research projects\\PAR for lifestyle factors\\par_smoking.csv")

3.1.1 Current smoking:

3.1.1.1 Any fracture in men
library(ggplot2)
m.anyfx = subset(par, lifestyle == 0 & sex == 0 & fx == 1)
m.anyfx$group.n = -m.anyfx$group 
p0 = ggplot(data = m.anyfx, aes(x = group.n, y = par, fill = group.n)) + geom_bar(stat = "identity", width = 0.9)
p0 + coord_flip() + theme_minimal() + theme(legend.position = "none")
## Warning: Removed 6 rows containing missing values (`position_stack()`).

# scale_fill_manual(values = c("blue", "red"))
# scale: 570 x 600
3.1.1.2 Hip fracture in men
m.hipfx = subset(par, lifestyle == 0 & sex == 0 & fx == 2)
m.hipfx$group.n = -m.hipfx$group 
p0 = ggplot(data = m.hipfx, aes(x = group.n, y = par, fill = group.n)) + geom_bar(stat = "identity", width = 0.9)
p0 + coord_flip() + theme_minimal() + theme(legend.position = "none")
## Warning: Removed 9 rows containing missing values (`position_stack()`).

3.1.2 Current/past smoking:

3.1.2.1 Any fracture in men
library(ggplot2)
m.anyfx = subset(par, lifestyle == 1 & sex == 0 & fx == 1)
m.anyfx$group.n = -m.anyfx$group 
p0 = ggplot(data = m.anyfx, aes(x = group.n, y = par, fill = group.n)) + geom_bar(stat = "identity", width = 0.9)
p0 + coord_flip() + theme_minimal() + theme(legend.position = "none")

# scale_fill_manual(values = c("blue", "red"))
# scale: 570 x 600
3.1.2.2 Hip fracture in men
m.hipfx = subset(par, lifestyle == 1 & sex == 0 & fx == 2)
m.hipfx$group.n = -m.hipfx$group 
p0 = ggplot(data = m.hipfx, aes(x = group.n, y = par, fill = group.n)) + geom_bar(stat = "identity", width = 0.9)
p0 + coord_flip() + theme_minimal() + theme(legend.position = "none")
## Warning: Removed 4 rows containing missing values (`position_stack()`).