GAD data exploration
GAD7 dichotomous
mh_vax_co_sub_mm$gad_2 <- cut(mh_vax_co_sub_mm$gad_score,
breaks=c(0, 9, 21),
labels=c('None_mild', 'mod_severe'))
Baseline Characteristics by GAD7 score
baseline %>% tbl_summary(by = gad_fct,
label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", anxiety_2 ~ "Anxiety", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", RPL_4 ~ "SVI Quartile", act_tob ~ "Active Tobacco Use"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p()
14415 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
There was an error in 'add_p()/add_difference()' for variable 'race_5', p-value omitted:
Error in stats::fisher.test(structure(c(2L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, : FEXACT error 501.
The hash table key cannot be computed because the largest key
is larger than the largest representable int.
The algorithm cannot proceed.
Reduce the workspace, consider using 'simulate.p.value=TRUE' or another algorithm.
There was an error in 'add_p()/add_difference()' for variable 'mstat_5', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 2L, 3L, 4L, 3L, : FEXACT error 501.
The hash table key cannot be computed because the largest key
is larger than the largest representable int.
The algorithm cannot proceed.
Reduce the workspace, consider using 'simulate.p.value=TRUE' or another algorithm.
| Characteristic |
None, N = 256 |
Mild, N = 270 |
Moderate, N = 288 |
Severe, N = 342 |
p-value |
| Age |
50 (19) |
48 (17) |
43 (17) |
42 (15) |
<0.001 |
| Gender |
|
|
|
|
0.4 |
| Â Â Â Â Male |
94 (37%) |
85 (31%) |
88 (31%) |
115 (34%) |
|
| Â Â Â Â Female |
162 (63%) |
185 (69%) |
200 (69%) |
227 (66%) |
|
| Race |
|
|
|
|
|
| Â Â Â Â White |
223 (87%) |
230 (85%) |
245 (85%) |
293 (86%) |
|
| Â Â Â Â Black |
16 (6.2%) |
24 (8.9%) |
19 (6.6%) |
27 (7.9%) |
|
| Â Â Â Â Other |
6 (2.3%) |
7 (2.6%) |
15 (5.2%) |
12 (3.5%) |
|
| Â Â Â Â Asian |
11 (4.3%) |
8 (3.0%) |
7 (2.4%) |
9 (2.6%) |
|
| Â Â Â Â Native |
0 (0%) |
1 (0.4%) |
2 (0.7%) |
1 (0.3%) |
|
| Ethnicity |
|
|
|
|
0.3 |
| Â Â Â Â NonHispanic |
244 (99%) |
258 (97%) |
277 (99%) |
332 (98%) |
|
| Â Â Â Â UNKNOWN |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â CHOOSE NOT TO DISCLOSE |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â Hispanic |
3 (1.2%) |
7 (2.6%) |
2 (0.7%) |
7 (2.1%) |
|
| Â Â Â Â (Missing) |
9 |
5 |
9 |
3 |
|
| English Speaking |
|
|
|
|
>0.9 |
| Â Â Â Â English |
254 (99%) |
269 (100%) |
286 (99%) |
340 (99%) |
|
| Â Â Â Â Other |
2 (0.8%) |
1 (0.4%) |
2 (0.7%) |
2 (0.6%) |
|
| Any Religious Affiliation |
|
|
|
|
0.5 |
| Â Â Â Â Yes |
150 (60%) |
150 (57%) |
163 (58%) |
180 (54%) |
|
| Â Â Â Â No |
102 (40%) |
113 (43%) |
119 (42%) |
156 (46%) |
|
| Â Â Â Â PATIENT REFUSED |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â UNKNOWN |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â (Missing) |
4 |
7 |
6 |
6 |
|
| Marital Status |
|
|
|
|
|
| Â Â Â Â Married |
125 (49%) |
121 (45%) |
98 (34%) |
97 (28%) |
|
| Â Â Â Â Unknown |
30 (12%) |
45 (17%) |
34 (12%) |
58 (17%) |
|
| Â Â Â Â Unmarried |
85 (33%) |
83 (31%) |
128 (44%) |
148 (43%) |
|
| Â Â Â Â DivorcedSeparated |
11 (4.3%) |
15 (5.6%) |
25 (8.7%) |
33 (9.6%) |
|
| Â Â Â Â Widow |
5 (2.0%) |
6 (2.2%) |
3 (1.0%) |
6 (1.8%) |
|
| Active Tobacco Use |
|
|
|
|
<0.001 |
| Â Â Â Â No |
242 (95%) |
241 (89%) |
252 (88%) |
248 (73%) |
|
| Â Â Â Â Yes |
13 (5.1%) |
29 (11%) |
35 (12%) |
91 (27%) |
|
| Â Â Â Â NOT ASKED |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â (Missing) |
1 |
0 |
1 |
3 |
|
| Depression |
97 (38%) |
161 (60%) |
196 (68%) |
247 (72%) |
<0.001 |
| Anxiety |
113 (44%) |
168 (62%) |
236 (82%) |
284 (83%) |
<0.001 |
| ptsd_2 |
1 (0.4%) |
9 (3.3%) |
24 (8.3%) |
18 (5.3%) |
<0.001 |
| Any Psychiatric Diagnosis |
160 (62%) |
228 (84%) |
265 (92%) |
323 (94%) |
<0.001 |
| gad_score |
2 (1) |
7 (1) |
12 (1) |
18 (2) |
<0.001 |
| gad_2 |
|
|
|
|
<0.001 |
| Â Â Â Â None_mild |
256 (100%) |
270 (100%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â mod_severe |
0 (0%) |
0 (0%) |
288 (100%) |
342 (100%) |
|
| phq_fct |
|
|
|
|
<0.001 |
| Â Â Â Â None |
108 (52%) |
44 (18%) |
20 (7.7%) |
8 (2.5%) |
|
| Â Â Â Â Mild |
61 (29%) |
90 (38%) |
50 (19%) |
24 (7.5%) |
|
| Â Â Â Â Moderate |
24 (12%) |
68 (28%) |
79 (30%) |
63 (20%) |
|
| Â Â Â Â Moderately Severe |
11 (5.3%) |
21 (8.8%) |
77 (30%) |
112 (35%) |
|
| Â Â Â Â Severe |
3 (1.4%) |
16 (6.7%) |
35 (13%) |
111 (35%) |
|
| Â Â Â Â (Missing) |
49 |
31 |
27 |
24 |
|
| Total SVI |
0.28 (0.22) |
0.33 (0.26) |
0.35 (0.25) |
0.34 (0.24) |
0.002 |
| Â Â Â Â (Missing) |
3 |
1 |
2 |
5 |
|
| Soceioeconomic Status |
0.24 (0.22) |
0.31 (0.26) |
0.33 (0.24) |
0.32 (0.24) |
<0.001 |
| Â Â Â Â (Missing) |
5 |
3 |
3 |
10 |
|
| Household Composition |
0.27 (0.22) |
0.31 (0.25) |
0.35 (0.27) |
0.32 (0.27) |
0.018 |
| Â Â Â Â (Missing) |
3 |
1 |
2 |
5 |
|
| Minority Status and Language |
0.56 (0.29) |
0.53 (0.29) |
0.53 (0.30) |
0.56 (0.28) |
0.4 |
| Â Â Â Â (Missing) |
3 |
1 |
2 |
5 |
|
| Housing and Transportation |
0.37 (0.28) |
0.42 (0.29) |
0.42 (0.28) |
0.42 (0.28) |
0.067 |
| Â Â Â Â (Missing) |
3 |
2 |
2 |
5 |
|
| SVI Quartile |
|
|
|
|
0.032 |
| Â Â Â Â First |
139 (55%) |
116 (43%) |
115 (40%) |
140 (42%) |
|
| Â Â Â Â Second |
71 (28%) |
83 (31%) |
99 (35%) |
118 (35%) |
|
| Â Â Â Â Third |
34 (13%) |
47 (17%) |
49 (17%) |
55 (16%) |
|
| Â Â Â Â Fourth |
9 (3.6%) |
23 (8.6%) |
23 (8.0%) |
24 (7.1%) |
|
| Â Â Â Â (Missing) |
3 |
1 |
2 |
5 |
|
Percent anxiety diagnosis by GAD7 score
mh_vax_co_sub_mm %>%
dplyr::select(gad_fct, anxiety_2) -> anx_gad
anx_gad %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
14415 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 256 |
Mild, N = 270 |
Moderate, N = 288 |
Severe, N = 342 |
p-value |
| Anxiety Diagnosis |
113 (44%) |
168 (62%) |
236 (82%) |
284 (83%) |
<0.001 |
Gad7 by race
mh_vax_co_sub_mm %>%
dplyr::select(race_5, gad_fct, anxiety_2) -> gad_race
gad_race %>%
tbl_summary(by = race_5,
label = list(gad_fct ~ "GAD7 Score", anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'gad_fct', p-value omitted:
Error in stats::fisher.test(structure(c(NA, NA, NA, NA, NA, NA, NA, NA, : FEXACT error 501.
The hash table key cannot be computed because the largest key
is larger than the largest representable int.
The algorithm cannot proceed.
Reduce the workspace, consider using 'simulate.p.value=TRUE' or another algorithm.
| Characteristic |
White, N = 13,502 |
Black, N = 987 |
Other, N = 651 |
Asian, N = 375 |
Native, N = 56 |
p-value |
| GAD7 Score |
|
|
|
|
|
|
| Â Â Â Â None |
223 (23%) |
16 (19%) |
6 (15%) |
11 (31%) |
0 (0%) |
|
| Â Â Â Â Mild |
230 (23%) |
24 (28%) |
7 (18%) |
8 (23%) |
1 (25%) |
|
| Â Â Â Â Moderate |
245 (25%) |
19 (22%) |
15 (38%) |
7 (20%) |
2 (50%) |
|
| Â Â Â Â Severe |
293 (30%) |
27 (31%) |
12 (30%) |
9 (26%) |
1 (25%) |
|
| Â Â Â Â (Missing) |
12,511 |
901 |
611 |
340 |
52 |
|
| Anxiety Diagnosis |
2,665 (20%) |
172 (17%) |
111 (17%) |
40 (11%) |
14 (25%) |
<0.001 |
Percent with anxiety diagnosis based on GAD7, stratified by
race
# White
white.anx <- subset(mh_vax_co_sub_mm, race_5=="White", select= c(gad_fct, anxiety_2))
white.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
12511 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 223 |
Mild, N = 230 |
Moderate, N = 245 |
Severe, N = 293 |
p-value |
| Anxiety Diagnosis |
106 (48%) |
151 (66%) |
197 (80%) |
243 (83%) |
<0.001 |
black.anx <- subset(mh_vax_co_sub_mm, race_5=="Black", select= c(gad_fct, anxiety_2))
black.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
901 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 16 |
Mild, N = 24 |
Moderate, N = 19 |
Severe, N = 27 |
p-value |
| Anxiety Diagnosis |
3 (19%) |
12 (50%) |
19 (100%) |
23 (85%) |
<0.001 |
asian.anx <- subset(mh_vax_co_sub_mm, race_5=="Asian", select= c(gad_fct, anxiety_2))
asian.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
340 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 11 |
Mild, N = 8 |
Moderate, N = 7 |
Severe, N = 9 |
p-value |
| Anxiety Diagnosis |
1 (9.1%) |
1 (12%) |
5 (71%) |
6 (67%) |
0.004 |
Percent with anxiety diagnosis based on GAD7, stratified by SVI
Quartile
# First
First.anx <- subset(mh_vax_co_sub_mm, RPL_4=="First", select= c(gad_fct, anxiety_2))
First.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
5392 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 139 |
Mild, N = 116 |
Moderate, N = 115 |
Severe, N = 140 |
p-value |
| Anxiety Diagnosis |
62 (45%) |
81 (70%) |
90 (78%) |
117 (84%) |
<0.001 |
# Second
second.anx <- subset(mh_vax_co_sub_mm, RPL_4=="Second", select= c(gad_fct, anxiety_2))
second.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
4249 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 71 |
Mild, N = 83 |
Moderate, N = 99 |
Severe, N = 118 |
p-value |
| Anxiety Diagnosis |
27 (38%) |
53 (64%) |
88 (89%) |
93 (79%) |
<0.001 |
# Third
third.anx <- subset(mh_vax_co_sub_mm, RPL_4=="Third", select= c(gad_fct, anxiety_2))
third.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
2953 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 34 |
Mild, N = 47 |
Moderate, N = 49 |
Severe, N = 55 |
p-value |
| Anxiety Diagnosis |
21 (62%) |
25 (53%) |
38 (78%) |
49 (89%) |
<0.001 |
# Fourth
fourth.anx <- subset(mh_vax_co_sub_mm, RPL_4=="Fourth", select= c(gad_fct, anxiety_2))
fourth.anx %>%
tbl_summary(by = gad_fct,
label = list(anxiety_2 ~ "Anxiety Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
1544 observations missing `gad_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `gad_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 9 |
Mild, N = 23 |
Moderate, N = 23 |
Severe, N = 24 |
p-value |
| Anxiety Diagnosis |
2 (22%) |
8 (35%) |
19 (83%) |
22 (92%) |
<0.001 |
GAD bivariate analysis
tbl_uv_gad7 <-
tbl_uvregression(
mh_vax_co_sub_mm[c("gad_score", "age_yrs", "gender", "race_5", "ethnic_3", "lang_3", "relig_affil", "mstat_5", "RPL_THEMES", "RPL_THEME1", "RPL_THEME2", "RPL_THEME3", "RPL_THEME4", "act_tob")],
method = lm,
y = gad_score,
label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", act_tob ~ "Active Tobacco Use"))
print(tbl_uv_gad7, method = render)
`...` must be empty.
✖ Problematic argument:
• method = render
| Characteristic |
N |
Beta |
95% CI |
p-value |
| Age |
1,326 |
-0.08 |
-0.10, -0.06 |
<0.001 |
| Gender |
1,326 |
|
|
|
| Â Â Â Â Male |
|
— |
— |
|
| Â Â Â Â Female |
|
1.2 |
0.49, 2.0 |
0.001 |
| Race |
1,326 |
|
|
|
| Â Â Â Â White |
|
— |
— |
|
| Â Â Â Â Black |
|
0.24 |
-1.1, 1.6 |
0.7 |
| Â Â Â Â Other |
|
-0.19 |
-2.1, 1.7 |
0.8 |
| Â Â Â Â Asian |
|
-1.5 |
-3.5, 0.55 |
0.2 |
| Â Â Â Â Native |
|
-0.96 |
-6.3, 4.3 |
0.7 |
| Ethnicity |
1,296 |
|
|
|
| Â Â Â Â NonHispanic |
|
— |
— |
|
| Â Â Â Â Hispanic |
|
-1.3 |
-3.8, 1.2 |
0.3 |
| English Speaking |
1,326 |
|
|
|
| Â Â Â Â English |
|
— |
— |
|
| Â Â Â Â Other |
|
1.9 |
-3.0, 6.8 |
0.4 |
| Any Religious Affiliation |
1,299 |
|
|
|
| Â Â Â Â Yes |
|
— |
— |
|
| Â Â Â Â No |
|
0.69 |
-0.04, 1.4 |
0.064 |
| Marital Status |
1,326 |
|
|
|
| Â Â Â Â Married |
|
— |
— |
|
| Â Â Â Â Unknown |
|
2.0 |
0.89, 3.1 |
<0.001 |
| Â Â Â Â Unmarried |
|
2.5 |
1.8, 3.3 |
<0.001 |
| Â Â Â Â DivorcedSeparated |
|
3.8 |
2.4, 5.3 |
<0.001 |
| Â Â Â Â Widow |
|
0.72 |
-1.9, 3.3 |
0.6 |
| Total SVI |
1,311 |
2.5 |
1.0, 3.9 |
<0.001 |
| Soceioeconomic Status |
1,300 |
3.3 |
1.8, 4.7 |
<0.001 |
| Household Composition |
1,311 |
1.8 |
0.38, 3.2 |
0.013 |
| Minority Status and Language |
1,311 |
0.15 |
-1.1, 1.4 |
0.8 |
| Housing and Transportation |
1,310 |
1.0 |
-0.23, 2.3 |
0.11 |
| Active Tobacco Use |
1,321 |
|
|
|
| Â Â Â Â No |
|
— |
— |
|
| Â Â Â Â Yes |
|
3.7 |
2.7, 4.7 |
<0.001 |
NULL
GAD Multivariable models
GAD + RPL_THEMES
gad1 <- lm(gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_THEMES,
data = mh_vax_co_sub_mm)
summary(gad1)
Call:
lm(formula = gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_THEMES, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-12.643 -5.401 -0.421 4.898 16.189
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.43408 0.82274 12.682 < 2e-16 ***
mstat_5Unknown 1.17863 0.57797 2.039 0.041636 *
mstat_5Unmarried 1.16402 0.46422 2.507 0.012287 *
mstat_5DivorcedSeparated 4.03849 0.74988 5.386 8.64e-08 ***
mstat_5Widow 2.32634 1.35514 1.717 0.086287 .
lang_3Other 2.92267 2.68158 1.090 0.275965
age_yrs -0.07442 0.01208 -6.159 9.85e-10 ***
race_5Black -0.86606 0.71209 -1.216 0.224131
race_5Other 0.31029 1.11518 0.278 0.780872
race_5Asian -1.32379 1.05072 -1.260 0.207949
race_5Native -0.72793 2.64791 -0.275 0.783433
relig_affilNo 0.25606 0.38133 0.671 0.502038
genderFemale 1.28597 0.38349 3.353 0.000822 ***
ethnic_3Hispanic -1.82718 1.35512 -1.348 0.177792
RPL_THEMES 1.37734 0.77764 1.771 0.076779 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.364 on 1239 degrees of freedom
(14317 observations deleted due to missingness)
Multiple R-squared: 0.08462, Adjusted R-squared: 0.07428
F-statistic: 8.181 on 14 and 1239 DF, p-value: < 2.2e-16
broom::glance(gad1)
broom::tidy(gad1)
tbl_regression(gad1, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
1.2 |
0.04, 2.3 |
0.042 |
| Â Â Â Â Unmarried |
1.2 |
0.25, 2.1 |
0.012 |
| Â Â Â Â DivorcedSeparated |
4.0 |
2.6, 5.5 |
<0.001 |
| Â Â Â Â Widow |
2.3 |
-0.33, 5.0 |
0.086 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
2.9 |
-2.3, 8.2 |
0.3 |
| Age |
-0.07 |
-0.10, -0.05 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.87 |
-2.3, 0.53 |
0.2 |
| Â Â Â Â Other |
0.31 |
-1.9, 2.5 |
0.8 |
| Â Â Â Â Asian |
-1.3 |
-3.4, 0.74 |
0.2 |
| Â Â Â Â Native |
-0.73 |
-5.9, 4.5 |
0.8 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.26 |
-0.49, 1.0 |
0.5 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.3 |
0.53, 2.0 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-1.8 |
-4.5, 0.83 |
0.2 |
| Total SVI |
1.4 |
-0.15, 2.9 |
0.077 |
## Model performance
model_performance(gad1)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
-------------------------------------------------------
8217.049 | 8299.195 | 0.085 | 0.074 | 6.326 | 6.364
performance::check_model(gad1, panel = TRUE)

## Margins
cplot(gad1, "RPL_THEMES", what = "prediction", main = "Predicted GAD7 Given SVI")

GAD + All Themes
gad2 <- lm(gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 +
RPL_THEME4,
data = mh_vax_co_sub_mm)
summary(gad2)
Call:
lm(formula = gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 +
RPL_THEME3 + RPL_THEME4, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-12.8995 -5.3670 -0.3562 4.8486 16.1453
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.35355 0.90660 11.420 < 2e-16 ***
mstat_5Unknown 1.08157 0.58294 1.855 0.063783 .
mstat_5Unmarried 1.11700 0.46629 2.395 0.016748 *
mstat_5DivorcedSeparated 3.95798 0.75262 5.259 1.71e-07 ***
mstat_5Widow 2.20476 1.35753 1.624 0.104612
lang_3Other 2.87694 2.68291 1.072 0.283789
age_yrs -0.07304 0.01218 -5.999 2.60e-09 ***
race_5Black -0.88481 0.71699 -1.234 0.217412
race_5Other 0.39751 1.11616 0.356 0.721796
race_5Asian -1.18046 1.07010 -1.103 0.270185
race_5Native -0.59596 2.65727 -0.224 0.822580
relig_affilNo 0.24074 0.38394 0.627 0.530762
genderFemale 1.30129 0.38578 3.373 0.000766 ***
ethnic_3Hispanic -1.84544 1.35714 -1.360 0.174144
RPL_THEME1 1.93869 1.03646 1.870 0.061655 .
RPL_THEME2 0.28442 0.87940 0.323 0.746426
RPL_THEME3 -0.05825 0.67516 -0.086 0.931259
RPL_THEME4 -0.38301 0.75179 -0.509 0.610516
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.361 on 1224 degrees of freedom
(14329 observations deleted due to missingness)
Multiple R-squared: 0.08638, Adjusted R-squared: 0.0737
F-statistic: 6.808 on 17 and 1224 DF, p-value: 7.007e-16
broom::glance(gad2)
broom::tidy(gad2)
tbl_regression(gad2, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
1.1 |
-0.06, 2.2 |
0.064 |
| Â Â Â Â Unmarried |
1.1 |
0.20, 2.0 |
0.017 |
| Â Â Â Â DivorcedSeparated |
4.0 |
2.5, 5.4 |
<0.001 |
| Â Â Â Â Widow |
2.2 |
-0.46, 4.9 |
0.10 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
2.9 |
-2.4, 8.1 |
0.3 |
| Age |
-0.07 |
-0.10, -0.05 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.88 |
-2.3, 0.52 |
0.2 |
| Â Â Â Â Other |
0.40 |
-1.8, 2.6 |
0.7 |
| Â Â Â Â Asian |
-1.2 |
-3.3, 0.92 |
0.3 |
| Â Â Â Â Native |
-0.60 |
-5.8, 4.6 |
0.8 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.24 |
-0.51, 0.99 |
0.5 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.3 |
0.54, 2.1 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-1.8 |
-4.5, 0.82 |
0.2 |
| Soceioeconomic Status |
1.9 |
-0.09, 4.0 |
0.062 |
| Household Composition |
0.28 |
-1.4, 2.0 |
0.7 |
| Minority Status and Language |
-0.06 |
-1.4, 1.3 |
>0.9 |
| Housing and Transportation |
-0.38 |
-1.9, 1.1 |
0.6 |
## Model performance
model_performance(gad2)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
-------------------------------------------------------
8140.326 | 8237.691 | 0.086 | 0.074 | 6.315 | 6.361
performance::check_model(gad2, panel = TRUE)

## Margins
cplot(gad2, "RPL_THEME1", what = "prediction", main = "Predicted GAD7 Given THEME1")

cplot(gad2, "RPL_THEME2", what = "prediction", main = "Predicted GAD7 Given THEME2")

cplot(gad2, "RPL_THEME3", what = "prediction", main = "Predicted GAD7 Given THEME3")

cplot(gad2, "RPL_THEME4", what = "prediction", main = "Predicted GAD7 Given THEME4")

GAD7 by SVI Quartile
gad3 <- lm(gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_4,
data = mh_vax_co_sub_mm)
summary(gad3)
Call:
lm(formula = gad_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_4, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-12.8125 -5.3914 -0.4082 4.8865 17.0775
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.48752 0.81305 12.899 < 2e-16 ***
mstat_5Unknown 1.20583 0.57855 2.084 0.037343 *
mstat_5Unmarried 1.21350 0.46229 2.625 0.008772 **
mstat_5DivorcedSeparated 4.00318 0.74993 5.338 1.12e-07 ***
mstat_5Widow 2.29659 1.35354 1.697 0.090000 .
lang_3Other 2.91446 2.68198 1.087 0.277388
age_yrs -0.07483 0.01208 -6.196 7.85e-10 ***
race_5Black -0.57632 0.71133 -0.810 0.417977
race_5Other 0.28849 1.11422 0.259 0.795742
race_5Asian -1.34840 1.05001 -1.284 0.199320
race_5Native -1.09918 2.65302 -0.414 0.678715
relig_affilNo 0.30741 0.38124 0.806 0.420201
genderFemale 1.28494 0.38316 3.354 0.000822 ***
ethnic_3Hispanic -1.84638 1.35637 -1.361 0.173678
RPL_4Second 0.92308 0.42090 2.193 0.028484 *
RPL_4Third -0.16925 0.53745 -0.315 0.752883
RPL_4Fourth 1.32837 0.76580 1.735 0.083058 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.356 on 1237 degrees of freedom
(14317 observations deleted due to missingness)
Multiple R-squared: 0.08832, Adjusted R-squared: 0.07653
F-statistic: 7.49 on 16 and 1237 DF, p-value: < 2.2e-16
broom::glance(gad3)
broom::tidy(gad3)
tbl_regression(gad3, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_4 ~ "SVI Quartile", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
1.2 |
0.07, 2.3 |
0.037 |
| Â Â Â Â Unmarried |
1.2 |
0.31, 2.1 |
0.009 |
| Â Â Â Â DivorcedSeparated |
4.0 |
2.5, 5.5 |
<0.001 |
| Â Â Â Â Widow |
2.3 |
-0.36, 5.0 |
0.090 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
2.9 |
-2.3, 8.2 |
0.3 |
| Age |
-0.07 |
-0.10, -0.05 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.58 |
-2.0, 0.82 |
0.4 |
| Â Â Â Â Other |
0.29 |
-1.9, 2.5 |
0.8 |
| Â Â Â Â Asian |
-1.3 |
-3.4, 0.71 |
0.2 |
| Â Â Â Â Native |
-1.1 |
-6.3, 4.1 |
0.7 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.31 |
-0.44, 1.1 |
0.4 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.3 |
0.53, 2.0 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-1.8 |
-4.5, 0.81 |
0.2 |
| SVI Quartile |
|
|
|
| Â Â Â Â First |
— |
— |
|
| Â Â Â Â Second |
0.92 |
0.10, 1.7 |
0.028 |
| Â Â Â Â Third |
-0.17 |
-1.2, 0.89 |
0.8 |
| Â Â Â Â Fourth |
1.3 |
-0.17, 2.8 |
0.083 |
## Model performance
model_performance(gad3)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
-------------------------------------------------------
8215.975 | 8308.388 | 0.088 | 0.077 | 6.313 | 6.356
performance::check_model(gad3, panel = TRUE)

## Margins
cplot(gad3, "RPL_4", what = "prediction", main = "Predicted GAD7 Given SVI Quartile")

Anxiety model including gad
gad4 <- glm(anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + gad_score + RPL_THEMES,
family = "binomial",
data = mh_vax_co_sub_mm)
summary(gad4)
Call:
glm(formula = anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + gad_score + RPL_THEMES,
family = "binomial", data = mh_vax_co_sub_mm)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.5144 -0.9171 0.4860 0.8266 2.1438
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.439972 0.313089 -1.405 0.159943
mstat_5Unknown -0.176554 0.210421 -0.839 0.401441
mstat_5Unmarried 0.066967 0.170822 0.392 0.695037
mstat_5DivorcedSeparated 0.411338 0.301518 1.364 0.172498
mstat_5Widow -0.062526 0.488567 -0.128 0.898166
lang_3Other -0.339495 0.965871 -0.351 0.725220
age_yrs -0.009383 0.004405 -2.130 0.033165 *
race_5Black -0.418127 0.261339 -1.600 0.109611
race_5Other 0.619118 0.448672 1.380 0.167620
race_5Asian -1.532449 0.410458 -3.734 0.000189 ***
race_5Native 1.771725 1.258916 1.407 0.159326
relig_affilNo -0.136040 0.141475 -0.962 0.336260
genderFemale 0.381743 0.141470 2.698 0.006967 **
ethnic_3Hispanic -0.974035 0.507322 -1.920 0.054864 .
gad_score 0.161382 0.011898 13.564 < 2e-16 ***
RPL_THEMES -0.123549 0.290671 -0.425 0.670802
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1652.7 on 1253 degrees of freedom
Residual deviance: 1339.8 on 1238 degrees of freedom
(14317 observations deleted due to missingness)
AIC: 1371.8
Number of Fisher Scoring iterations: 4
broom::glance(gad4)
broom::tidy(gad4, exponentiate = TRUE)
model_performance(gad4)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
1371.823 | 1453.969 | 0.235 | 0.421 | 1.040 | 0.534 | -Inf | 8.126e-04 | 0.643
tbl_regression(gad4, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status", gad_score ~ "GAD7 Score"), exponentiate = TRUE)
| Characteristic |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
0.84 |
0.55, 1.27 |
0.4 |
| Â Â Â Â Unmarried |
1.07 |
0.76, 1.49 |
0.7 |
| Â Â Â Â DivorcedSeparated |
1.51 |
0.85, 2.77 |
0.2 |
| Â Â Â Â Widow |
0.94 |
0.36, 2.49 |
0.9 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
0.71 |
0.10, 4.93 |
0.7 |
| Age |
0.99 |
0.98, 1.00 |
0.033 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
0.66 |
0.39, 1.10 |
0.11 |
| Â Â Â Â Other |
1.86 |
0.79, 4.64 |
0.2 |
| Â Â Â Â Asian |
0.22 |
0.09, 0.47 |
<0.001 |
| Â Â Â Â Native |
5.88 |
0.67, 137 |
0.2 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.87 |
0.66, 1.15 |
0.3 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.46 |
1.11, 1.93 |
0.007 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
0.38 |
0.14, 1.00 |
0.055 |
| GAD7 Score |
1.18 |
1.15, 1.20 |
<0.001 |
| Total SVI |
0.88 |
0.50, 1.56 |
0.7 |
## Performance
model_performance(gad4)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
1371.823 | 1453.969 | 0.235 | 0.421 | 1.040 | 0.534 | -Inf | 8.126e-04 | 0.643
performance::check_model(gad4, panel = TRUE)

## Margins
cplot(gad4, "gad_score", what = "prediction", main = "Percent Likelihood of Anxiety Given Gad")

GAD7 logistic (non-mild, mod-severe)
gad5 <- glm(gad_2 ~age_yrs + gender + race_5 + ethnic_3 + lang_3 + mstat_5 + relig_affil + RPL_THEMES,
family = "binomial",
data = mh_vax_co_sub_mm)
summary(gad5)
broom::glance(gad5)
broom::tidy(gad5, exponentiate = TRUE)
model_performance(gad5)
tbl_regression(gad5, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "Preferred Language", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
## Performance
model_performance(gad5)
performance::check_model(gad5, panel = TRUE)
PHQ9 Data Exploration
PHQ9 dichotomous
mh_vax_co_sub_mm$phq_2 <- cut(mh_vax_co_sub_mm$phq_score,
breaks=c(0, 9, 27),
labels=c('None_mild', 'mod_severe'))
Baseline Characteristics by PHQ9 score
baseline %>% tbl_summary(by = phq_fct,
label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", anxiety_2 ~ "Anxiety", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", RPL_4 ~ "SVI Quartile", act_tob ~ "Active Tobacco Use"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p()
13568 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
There was an error in 'add_p()/add_difference()' for variable 'race_5', p-value omitted:
Error in stats::fisher.test(structure(c(2L, 1L, 3L, 1L, 1L, 1L, 3L, 1L, : FEXACT error 501.
The hash table key cannot be computed because the largest key
is larger than the largest representable int.
The algorithm cannot proceed.
Reduce the workspace, consider using 'simulate.p.value=TRUE' or another algorithm.
There was an error in 'add_p()/add_difference()' for variable 'act_tob', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, : FEXACT error 7(location). LDSTP=18300 is too small for this problem,
(pastp=280.516, ipn_0:=ipoin[itp=436]=4486, stp[ipn_0]=253.981).
Increase workspace or consider using 'simulate.p.value=TRUE'
| Characteristic |
None, N = 670 |
Mild, N = 494 |
Moderate, N = 359 |
Moderately Severe, N = 273 |
Severe, N = 207 |
p-value |
| Age |
56 (22) |
55 (22) |
50 (21) |
48 (18) |
46 (18) |
<0.001 |
| Gender |
|
|
|
|
|
0.011 |
| Â Â Â Â Male |
283 (42%) |
187 (38%) |
123 (34%) |
92 (34%) |
65 (31%) |
|
| Â Â Â Â Female |
387 (58%) |
307 (62%) |
236 (66%) |
181 (66%) |
142 (69%) |
|
| Race |
|
|
|
|
|
|
| Â Â Â Â White |
570 (85%) |
414 (84%) |
307 (86%) |
238 (87%) |
173 (84%) |
|
| Â Â Â Â Black |
38 (5.7%) |
38 (7.7%) |
31 (8.6%) |
18 (6.6%) |
15 (7.2%) |
|
| Â Â Â Â Other |
29 (4.3%) |
19 (3.8%) |
10 (2.8%) |
8 (2.9%) |
11 (5.3%) |
|
| Â Â Â Â Asian |
31 (4.6%) |
18 (3.6%) |
10 (2.8%) |
8 (2.9%) |
6 (2.9%) |
|
| Â Â Â Â Native |
2 (0.3%) |
5 (1.0%) |
1 (0.3%) |
1 (0.4%) |
2 (1.0%) |
|
| Ethnicity |
|
|
|
|
|
0.5 |
| Â Â Â Â NonHispanic |
633 (98%) |
474 (99%) |
346 (98%) |
265 (99%) |
195 (97%) |
|
| Â Â Â Â UNKNOWN |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â CHOOSE NOT TO DISCLOSE |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â Hispanic |
15 (2.3%) |
7 (1.5%) |
7 (2.0%) |
4 (1.5%) |
7 (3.5%) |
|
| Â Â Â Â (Missing) |
22 |
13 |
6 |
4 |
5 |
|
| English Speaking |
|
|
|
|
|
0.6 |
| Â Â Â Â English |
660 (99%) |
490 (99%) |
355 (99%) |
272 (100%) |
204 (99%) |
|
| Â Â Â Â Other |
10 (1.5%) |
4 (0.8%) |
4 (1.1%) |
1 (0.4%) |
3 (1.4%) |
|
| Any Religious Affiliation |
|
|
|
|
|
0.4 |
| Â Â Â Â Yes |
409 (62%) |
292 (60%) |
202 (58%) |
152 (57%) |
116 (57%) |
|
| Â Â Â Â No |
248 (38%) |
194 (40%) |
149 (42%) |
116 (43%) |
89 (43%) |
|
| Â Â Â Â PATIENT REFUSED |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â UNKNOWN |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â (Missing) |
13 |
8 |
8 |
5 |
2 |
|
| Marital Status |
|
|
|
|
|
<0.001 |
| Â Â Â Â Married |
334 (50%) |
201 (41%) |
128 (36%) |
87 (32%) |
60 (29%) |
|
| Â Â Â Â Unknown |
105 (16%) |
70 (14%) |
54 (15%) |
48 (18%) |
30 (14%) |
|
| Â Â Â Â Unmarried |
184 (27%) |
173 (35%) |
144 (40%) |
102 (37%) |
86 (42%) |
|
| Â Â Â Â DivorcedSeparated |
19 (2.8%) |
29 (5.9%) |
16 (4.5%) |
29 (11%) |
22 (11%) |
|
| Â Â Â Â Widow |
28 (4.2%) |
21 (4.3%) |
17 (4.7%) |
7 (2.6%) |
9 (4.3%) |
|
| Active Tobacco Use |
|
|
|
|
|
|
| Â Â Â Â No |
623 (93%) |
448 (91%) |
307 (86%) |
203 (75%) |
162 (79%) |
|
| Â Â Â Â Yes |
45 (6.7%) |
46 (9.3%) |
51 (14%) |
68 (25%) |
44 (21%) |
|
| Â Â Â Â NOT ASKED |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
0 (0%) |
|
| Â Â Â Â (Missing) |
2 |
0 |
1 |
2 |
1 |
|
| Depression |
141 (21%) |
221 (45%) |
236 (66%) |
213 (78%) |
187 (90%) |
<0.001 |
| Anxiety |
187 (28%) |
232 (47%) |
207 (58%) |
200 (73%) |
165 (80%) |
<0.001 |
| ptsd_2 |
6 (0.9%) |
12 (2.4%) |
10 (2.8%) |
22 (8.1%) |
16 (7.7%) |
<0.001 |
| Any Psychiatric Diagnosis |
268 (40%) |
336 (68%) |
298 (83%) |
254 (93%) |
201 (97%) |
<0.001 |
| gad_score |
4 (4) |
7 (5) |
11 (5) |
14 (5) |
16 (5) |
<0.001 |
| Â Â Â Â (Missing) |
427 |
242 |
122 |
51 |
42 |
|
| gad_2 |
|
|
|
|
|
<0.001 |
| Â Â Â Â None_mild |
152 (84%) |
151 (67%) |
92 (39%) |
32 (14%) |
19 (12%) |
|
| Â Â Â Â mod_severe |
28 (16%) |
74 (33%) |
142 (61%) |
189 (86%) |
146 (88%) |
|
| Â Â Â Â (Missing) |
490 |
269 |
125 |
52 |
42 |
|
| gad_fct |
|
|
|
|
|
<0.001 |
| Â Â Â Â None |
108 (60%) |
61 (27%) |
24 (10%) |
11 (5.0%) |
3 (1.8%) |
|
| Â Â Â Â Mild |
44 (24%) |
90 (40%) |
68 (29%) |
21 (9.5%) |
16 (9.7%) |
|
| Â Â Â Â Moderate |
20 (11%) |
50 (22%) |
79 (34%) |
77 (35%) |
35 (21%) |
|
| Â Â Â Â Severe |
8 (4.4%) |
24 (11%) |
63 (27%) |
112 (51%) |
111 (67%) |
|
| Â Â Â Â (Missing) |
490 |
269 |
125 |
52 |
42 |
|
| Total SVI |
0.29 (0.23) |
0.32 (0.25) |
0.35 (0.24) |
0.33 (0.24) |
0.42 (0.26) |
<0.001 |
| Â Â Â Â (Missing) |
16 |
5 |
2 |
5 |
1 |
|
| Soceioeconomic Status |
0.25 (0.22) |
0.29 (0.25) |
0.33 (0.25) |
0.31 (0.24) |
0.38 (0.26) |
<0.001 |
| Â Â Â Â (Missing) |
23 |
9 |
6 |
5 |
2 |
|
| Household Composition |
0.29 (0.23) |
0.30 (0.25) |
0.33 (0.25) |
0.32 (0.26) |
0.41 (0.30) |
<0.001 |
| Â Â Â Â (Missing) |
16 |
5 |
2 |
5 |
1 |
|
| Minority Status and Language |
0.54 (0.30) |
0.54 (0.30) |
0.53 (0.29) |
0.56 (0.28) |
0.56 (0.29) |
0.5 |
| Â Â Â Â (Missing) |
16 |
5 |
2 |
5 |
1 |
|
| Housing and Transportation |
0.38 (0.29) |
0.40 (0.29) |
0.42 (0.28) |
0.39 (0.27) |
0.49 (0.27) |
<0.001 |
| Â Â Â Â (Missing) |
20 |
5 |
2 |
5 |
1 |
|
| SVI Quartile |
|
|
|
|
|
<0.001 |
| Â Â Â Â First |
339 (52%) |
234 (48%) |
146 (41%) |
112 (42%) |
66 (32%) |
|
| Â Â Â Â Second |
185 (28%) |
140 (29%) |
120 (34%) |
96 (36%) |
72 (35%) |
|
| Â Â Â Â Third |
105 (16%) |
82 (17%) |
65 (18%) |
42 (16%) |
42 (20%) |
|
| Â Â Â Â Fourth |
25 (3.8%) |
33 (6.7%) |
26 (7.3%) |
18 (6.7%) |
26 (13%) |
|
| Â Â Â Â (Missing) |
16 |
5 |
2 |
5 |
1 |
|
Percent depression diagnosis by phq9 score
mh_vax_co_sub_mm %>%
dplyr::select(phq_fct, depression_2) -> dep_gad
dep_gad %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
13568 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 670 |
Mild, N = 494 |
Moderate, N = 359 |
Moderately Severe, N = 273 |
Severe, N = 207 |
p-value |
| Depression Diagnosis |
141 (21%) |
221 (45%) |
236 (66%) |
213 (78%) |
187 (90%) |
<0.001 |
PHQ9 and depression diagnosis by race
mh_vax_co_sub_mm %>%
dplyr::select(race_5, phq_fct, depression_2) -> phq_race
phq_race %>%
tbl_summary(by = race_5,
label = list(phq_fct ~ "PHQ Score Score", depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'phq_fct', p-value omitted:
Error in stats::fisher.test(structure(c(NA, NA, NA, NA, NA, NA, NA, NA, : FEXACT error 5.
The hash table key cannot be computed because the largest key
is larger than the largest representable int.
The algorithm cannot proceed.
Reduce the workspace, consider using 'simulate.p.value=TRUE' or another algorithm.
| Characteristic |
White, N = 13,502 |
Black, N = 987 |
Other, N = 651 |
Asian, N = 375 |
Native, N = 56 |
p-value |
| PHQ Score Score |
|
|
|
|
|
|
| Â Â Â Â None |
570 (33%) |
38 (27%) |
29 (38%) |
31 (42%) |
2 (18%) |
|
| Â Â Â Â Mild |
414 (24%) |
38 (27%) |
19 (25%) |
18 (25%) |
5 (45%) |
|
| Â Â Â Â Moderate |
307 (18%) |
31 (22%) |
10 (13%) |
10 (14%) |
1 (9.1%) |
|
| Â Â Â Â Moderately Severe |
238 (14%) |
18 (13%) |
8 (10%) |
8 (11%) |
1 (9.1%) |
|
| Â Â Â Â Severe |
173 (10%) |
15 (11%) |
11 (14%) |
6 (8.2%) |
2 (18%) |
|
| Â Â Â Â (Missing) |
11,800 |
847 |
574 |
302 |
45 |
|
| Depression Diagnosis |
2,463 (18%) |
184 (19%) |
93 (14%) |
36 (9.6%) |
13 (23%) |
<0.001 |
Percent with depression diagnosis based on PHQ9, stratified by
race
# White
white.dep <- subset(mh_vax_co_sub_mm, race_5=="White", select= c(phq_fct, depression_2))
white.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
11800 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 570 |
Mild, N = 414 |
Moderate, N = 307 |
Moderately Severe, N = 238 |
Severe, N = 173 |
p-value |
| Depression Diagnosis |
126 (22%) |
198 (48%) |
205 (67%) |
188 (79%) |
158 (91%) |
<0.001 |
# Black
black.dep <- subset(mh_vax_co_sub_mm, race_5=="Black", select= c(phq_fct, depression_2))
black.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
847 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 38 |
Mild, N = 38 |
Moderate, N = 31 |
Moderately Severe, N = 18 |
Severe, N = 15 |
p-value |
| Depression Diagnosis |
6 (16%) |
15 (39%) |
19 (61%) |
16 (89%) |
13 (87%) |
<0.001 |
# Asian
asian.dep <- subset(mh_vax_co_sub_mm, race_5=="Asian", select= c(phq_fct, depression_2))
asian.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
302 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 31 |
Mild, N = 18 |
Moderate, N = 10 |
Moderately Severe, N = 8 |
Severe, N = 6 |
p-value |
| Depression Diagnosis |
1 (3.2%) |
4 (22%) |
6 (60%) |
2 (25%) |
4 (67%) |
<0.001 |
factor(mh_vax_co_sub_mm$RPL_4)
[1] Second Second Second Third Third First Second First Third Fourth Third Third First
[14] Second First Third Second Fourth Second First Second First Second Second Fourth Third
[27] Second First Third Fourth Second First First First First Second Third First Third
[40] Second Second Fourth Second Second Third Second Third Fourth Third Second Third Second
[53] Second Second <NA> Third Third First Second Second Second Second Fourth Second First
[66] Third First Fourth Second Third Second Third First <NA> Third Third Fourth Second
[79] First Second First First First Second Third First First First First Second Third
[92] Third <NA> First First Fourth First First First First First First First Second
[105] Second Second Second Second Third Second Second Second First Third Third First First
[118] Second Third Second Second Third Second First Fourth First Third <NA> First Second
[131] First First Third Third Fourth First First Fourth First Second Second Fourth Fourth
[144] First Second Third First Second <NA> First Third Second First Third First <NA>
[157] Third First First First Second First Third First Second First First Third Third
[170] <NA> Second First Fourth First Third Second Fourth Third First Third Third Second
[183] <NA> Third Second Third Fourth Third <NA> Third Second First Third Second Second
[196] Third Second Fourth First First Third Second Second Second First Third Third First
[209] Fourth First First Third First First Second First Third Third Fourth First First
[222] Second Second Fourth First Fourth Third Second First Third Third First Third First
[235] First Second <NA> First First Second Third First First First First Third First
[248] First Second Second First Third Third Second Third Second First Second Second First
[261] First Third Second First Fourth Second Fourth First Fourth First First Second First
[274] First First <NA> Second Second First First Second <NA> First First Second Second
[287] First Fourth <NA> Second First First Second Second Fourth Third Third First Second
[300] Fourth Fourth Fourth Second Third Second First First Second Third First Third Second
[313] Third Second Third Third First Second Second Second Second Second First Third First
[326] First Second First First Second First Third Third First First First Second Fourth
[339] Second First Fourth Third Third Second Fourth First Second Second First Third First
[352] Fourth Third First <NA> Second Second Third First Second Second Third First First
[365] Third Second First Fourth First Second Second Second Fourth First First Fourth First
[378] Fourth Second Fourth Second First Third Third Third Third Second First <NA> Second
[391] First Third First Second Fourth Second Third First Third Third <NA> First First
[404] First Fourth Third Second First First Third First Second <NA> First Third Second
[417] Third Second <NA> Fourth Fourth Fourth Fourth Second First First Third First First
[430] Second First Fourth Second Third First Second Third Second Third Third Third First
[443] Third First Fourth Fourth Second Fourth Second First Second First Third Fourth First
[456] Third Fourth Fourth First Third Second Third First Third Third Third Third Second
[469] Second Fourth Fourth First <NA> First Fourth First Third First Second Fourth Third
[482] First First First Second First Second Fourth First Second First Second First Third
[495] First First Fourth Second Fourth Second First First Fourth Second First Second Third
[508] Fourth Fourth First Second Third Fourth <NA> Second First First First First Second
[521] Second Second Second Third First Fourth First Third Second Third Third First Second
[534] Second First Third Second Fourth Third Second First First First Second First First
[547] First First First Second First First First First Second Second First First Second
[560] Third Fourth First Second Second Second First Second Second Second Fourth Fourth First
[573] First <NA> First Second First First First Third Second Fourth First First First
[586] Second Fourth First Fourth Second Second Second Fourth Fourth First Second First First
[599] First Third First Third Second Third First First Third First First First Fourth
[612] Second First Fourth Fourth Fourth Fourth Fourth Fourth Fourth Second Second First Second
[625] Third First First First First First First Fourth Second Second Third <NA> Fourth
[638] Fourth Fourth Fourth Fourth Fourth Fourth Second Third Third First Second First Third
[651] First First Fourth Second First First Fourth First First First Fourth Fourth First
[664] Second Second First Third Third Second First First First First Fourth First First
[677] First Third Second Third Second First Fourth Second First Third Second First Third
[690] Third First Third Third Second Second Second Second Third Second First First <NA>
[703] Second Second First Fourth Third First Third First Second Fourth Second First Second
[716] First Third Second Fourth First First Fourth Second First Second First First Third
[729] Third First Second First Second First Third First Fourth Second First Fourth Second
[742] First Third Third Second Second Second Second First First First Second Third Fourth
[755] First Second Third First First Fourth First Third First Second First First <NA>
[768] Second Third Second Second First Fourth First Second First First Third First Second
[781] Third Third Third First Second First Second Third First Third Second Second Fourth
[794] Third First First Second First Third First Third Second First Third Second First
[807] Second First Third First First First First First Second First First Third Third
[820] Second Third Third Second Second First Fourth First First First Second First <NA>
[833] Third First Second Second First Second Second Third Third Second Second Second Second
[846] Third First Second Second First Second Third Fourth First First Third First First
[859] Third Second First First Third Fourth Second First Second Second First First Second
[872] Third Fourth First Second First First Fourth First Fourth Fourth Third First First
[885] Fourth First First Third Second First Third Fourth First Third Third Second First
[898] First First <NA> Third First Third First Third First Second Third Fourth Second
[911] Second Third Second Third First Third Second Second First Second Fourth <NA> Fourth
[924] Fourth Second Second First Second Second Fourth First First Second Third First Second
[937] First First First First First First Third Second Second Third Third Third Third
[950] First First Fourth First First Third Third First Third Second Third Fourth Third
[963] First Third Fourth Fourth First Fourth First Third First Third Third First Fourth
[976] Second First First Third Second Second First Third Second Third Second Fourth Second
[989] Third Third Second Third Fourth First Fourth First First Second First Third
[ reached getOption("max.print") -- omitted 14571 entries ]
Levels: First Second Third Fourth
Percent with depression diagnosis based on PHQ9, stratified by SVI
Quartile
# First
First.dep <- subset(mh_vax_co_sub_mm, RPL_4=="First", select= c(phq_fct, depression_2))
First.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
5005 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 339 |
Mild, N = 234 |
Moderate, N = 146 |
Moderately Severe, N = 112 |
Severe, N = 66 |
p-value |
| Depression Diagnosis |
70 (21%) |
92 (39%) |
91 (62%) |
89 (79%) |
58 (88%) |
<0.001 |
# Second
second.dep <- subset(mh_vax_co_sub_mm, RPL_4=="Second", select= c(phq_fct, depression_2))
second.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
4007 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 185 |
Mild, N = 140 |
Moderate, N = 120 |
Moderately Severe, N = 96 |
Severe, N = 72 |
p-value |
| Depression Diagnosis |
42 (23%) |
70 (50%) |
84 (70%) |
76 (79%) |
66 (92%) |
<0.001 |
# Third
third.dep <- subset(mh_vax_co_sub_mm, RPL_4=="Third", select= c(phq_fct, depression_2))
third.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
2802 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 105 |
Mild, N = 82 |
Moderate, N = 65 |
Moderately Severe, N = 42 |
Severe, N = 42 |
p-value |
| Depression Diagnosis |
23 (22%) |
39 (48%) |
44 (68%) |
29 (69%) |
39 (93%) |
<0.001 |
# Fourth
fourth.dep <- subset(mh_vax_co_sub_mm, RPL_4=="Fourth", select= c(phq_fct, depression_2))
fourth.dep %>%
tbl_summary(by = phq_fct,
label = list(depression_2 ~ "Depression Diagnosis"),
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing_text = "(Missing)") %>% add_p
1495 observations missing `phq_fct` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `phq_fct` column before passing to `tbl_summary()`.
| Characteristic |
None, N = 25 |
Mild, N = 33 |
Moderate, N = 26 |
Moderately Severe, N = 18 |
Severe, N = 26 |
p-value |
| Depression Diagnosis |
3 (12%) |
17 (52%) |
17 (65%) |
16 (89%) |
24 (92%) |
<0.001 |
PHQ9 bivariate analysis
tbl_uv_phq9 <-
tbl_uvregression(
mh_vax_co_sub_mm[c("phq_score", "age_yrs", "gender", "race_5", "ethnic_3", "lang_3", "relig_affil", "mstat_5", "RPL_THEMES", "RPL_THEME1", "RPL_THEME2", "RPL_THEME3", "RPL_THEME4", "act_tob")],
method = lm,
y = phq_score,
label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", act_tob ~ "Active Tobacco Use"))
print(tbl_uv_phq9, method = render)
`...` must be empty.
✖ Problematic argument:
• method = render
| Characteristic |
N |
Beta |
95% CI |
p-value |
| Age |
2,340 |
-0.05 |
-0.06, -0.04 |
<0.001 |
| Gender |
2,340 |
|
|
|
| Â Â Â Â Male |
|
— |
— |
|
| Â Â Â Â Female |
|
1.8 |
1.2, 2.4 |
<0.001 |
| Race |
2,340 |
|
|
|
| Â Â Â Â White |
|
— |
— |
|
| Â Â Â Â Black |
|
1.2 |
0.00, 2.3 |
0.049 |
| Â Â Â Â Other |
|
0.19 |
-1.3, 1.7 |
0.8 |
| Â Â Â Â Asian |
|
-1.7 |
-3.2, -0.23 |
0.023 |
| Â Â Â Â Native |
|
1.6 |
-2.4, 5.7 |
0.4 |
| Ethnicity |
2,283 |
|
|
|
| Â Â Â Â NonHispanic |
|
— |
— |
|
| Â Â Â Â Hispanic |
|
-0.07 |
-2.1, 1.9 |
>0.9 |
| English Speaking |
2,340 |
|
|
|
| Â Â Â Â English |
|
— |
— |
|
| Â Â Â Â Other |
|
-0.77 |
-3.6, 2.0 |
0.6 |
| Any Religious Affiliation |
2,286 |
|
|
|
| Â Â Â Â Yes |
|
— |
— |
|
| Â Â Â Â No |
|
0.48 |
-0.11, 1.1 |
0.11 |
| Marital Status |
2,340 |
|
|
|
| Â Â Â Â Married |
|
— |
— |
|
| Â Â Â Â Unknown |
|
1.4 |
0.52, 2.2 |
0.001 |
| Â Â Â Â Unmarried |
|
2.5 |
1.8, 3.1 |
<0.001 |
| Â Â Â Â DivorcedSeparated |
|
5.1 |
3.8, 6.4 |
<0.001 |
| Â Â Â Â Widow |
|
1.5 |
0.06, 3.0 |
0.041 |
| Total SVI |
2,298 |
5.1 |
3.9, 6.3 |
<0.001 |
| Soceioeconomic Status |
2,278 |
5.3 |
4.1, 6.5 |
<0.001 |
| Household Composition |
2,298 |
3.5 |
2.3, 4.6 |
<0.001 |
| Minority Status and Language |
2,298 |
0.90 |
-0.10, 1.9 |
0.077 |
| Housing and Transportation |
2,293 |
2.6 |
1.6, 3.6 |
<0.001 |
| Active Tobacco Use |
2,333 |
|
|
|
| Â Â Â Â No |
|
— |
— |
|
| Â Â Â Â Yes |
|
4.3 |
3.4, 5.2 |
<0.001 |
NULL
PHQ9 Multivariable models
PHQ9 + RPL_THEMES
phq1 <- lm(phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_THEMES,
data = mh_vax_co_sub_mm)
summary(phq1)
Call:
lm(formula = phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_THEMES, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-13.163 -5.228 -1.716 4.547 20.668
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.346296 0.653750 11.237 < 2e-16 ***
mstat_5Unknown 0.729094 0.451408 1.615 0.10642
mstat_5Unmarried 1.081466 0.387857 2.788 0.00534 **
mstat_5DivorcedSeparated 4.461473 0.666677 6.692 2.79e-11 ***
mstat_5Widow 1.701267 0.765843 2.221 0.02642 *
lang_3Other 0.184141 1.495478 0.123 0.90201
age_yrs -0.044568 0.008403 -5.304 1.25e-07 ***
race_5Black -0.755796 0.609172 -1.241 0.21485
race_5Other -0.168926 0.880318 -0.192 0.84784
race_5Asian -1.866076 0.787756 -2.369 0.01793 *
race_5Native 0.982270 1.995110 0.492 0.62253
relig_affilNo 0.302583 0.309042 0.979 0.32764
genderFemale 1.543198 0.299749 5.148 2.86e-07 ***
ethnic_3Hispanic -0.169237 1.074401 -0.158 0.87485
RPL_THEMES 4.217378 0.632962 6.663 3.39e-11 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.767 on 2174 degrees of freedom
(13382 observations deleted due to missingness)
Multiple R-squared: 0.08711, Adjusted R-squared: 0.08123
F-statistic: 14.82 on 14 and 2174 DF, p-value: < 2.2e-16
broom::glance(phq1)
broom::tidy(phq1)
tbl_regression(phq1, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
0.73 |
-0.16, 1.6 |
0.11 |
| Â Â Â Â Unmarried |
1.1 |
0.32, 1.8 |
0.005 |
| Â Â Â Â DivorcedSeparated |
4.5 |
3.2, 5.8 |
<0.001 |
| Â Â Â Â Widow |
1.7 |
0.20, 3.2 |
0.026 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
0.18 |
-2.7, 3.1 |
>0.9 |
| Age |
-0.04 |
-0.06, -0.03 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.76 |
-2.0, 0.44 |
0.2 |
| Â Â Â Â Other |
-0.17 |
-1.9, 1.6 |
0.8 |
| Â Â Â Â Asian |
-1.9 |
-3.4, -0.32 |
0.018 |
| Â Â Â Â Native |
0.98 |
-2.9, 4.9 |
0.6 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.30 |
-0.30, 0.91 |
0.3 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.5 |
0.96, 2.1 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-0.17 |
-2.3, 1.9 |
0.9 |
| Total SVI |
4.2 |
3.0, 5.5 |
<0.001 |
## Model performance
model_performance(phq1)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
---------------------------------------------------------
14600.180 | 14691.239 | 0.087 | 0.081 | 6.744 | 6.767
performance::check_model(phq1, panel = TRUE)

## Margins
cplot(phq1, "RPL_THEMES", what = "prediction", main = "Predicted PHQ9 Given SVI")

PHQ + All themes
phq2 <- lm(phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 +
RPL_THEME4,
data = mh_vax_co_sub_mm)
summary(phq2)
Call:
lm(formula = phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 +
RPL_THEME3 + RPL_THEME4, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-13.158 -5.214 -1.693 4.570 20.442
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.95264 0.72137 9.638 < 2e-16 ***
mstat_5Unknown 0.67366 0.45482 1.481 0.13872
mstat_5Unmarried 1.08987 0.39090 2.788 0.00535 **
mstat_5DivorcedSeparated 4.48719 0.67153 6.682 2.99e-11 ***
mstat_5Widow 1.61148 0.76760 2.099 0.03590 *
lang_3Other 0.17111 1.53329 0.112 0.91115
age_yrs -0.04322 0.00847 -5.103 3.63e-07 ***
race_5Black -0.83281 0.61564 -1.353 0.17627
race_5Other -0.01742 0.88498 -0.020 0.98430
race_5Asian -1.67504 0.80658 -2.077 0.03795 *
race_5Native 0.89377 2.00000 0.447 0.65500
relig_affilNo 0.33111 0.31214 1.061 0.28892
genderFemale 1.52787 0.30192 5.060 4.54e-07 ***
ethnic_3Hispanic -0.11019 1.07664 -0.102 0.91850
RPL_THEME1 3.40973 0.84813 4.020 6.01e-05 ***
RPL_THEME2 1.39362 0.71640 1.945 0.05187 .
RPL_THEME3 0.40477 0.54076 0.749 0.45422
RPL_THEME4 0.13711 0.60698 0.226 0.82131
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.774 on 2146 degrees of freedom
(13407 observations deleted due to missingness)
Multiple R-squared: 0.08861, Adjusted R-squared: 0.08139
F-statistic: 12.27 on 17 and 2146 DF, p-value: < 2.2e-16
broom::glance(phq2)
broom::tidy(phq2)
tbl_regression(phq2, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
0.67 |
-0.22, 1.6 |
0.14 |
| Â Â Â Â Unmarried |
1.1 |
0.32, 1.9 |
0.005 |
| Â Â Â Â DivorcedSeparated |
4.5 |
3.2, 5.8 |
<0.001 |
| Â Â Â Â Widow |
1.6 |
0.11, 3.1 |
0.036 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
0.17 |
-2.8, 3.2 |
>0.9 |
| Age |
-0.04 |
-0.06, -0.03 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.83 |
-2.0, 0.37 |
0.2 |
| Â Â Â Â Other |
-0.02 |
-1.8, 1.7 |
>0.9 |
| Â Â Â Â Asian |
-1.7 |
-3.3, -0.09 |
0.038 |
| Â Â Â Â Native |
0.89 |
-3.0, 4.8 |
0.7 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.33 |
-0.28, 0.94 |
0.3 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.5 |
0.94, 2.1 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-0.11 |
-2.2, 2.0 |
>0.9 |
| Soceioeconomic Status |
3.4 |
1.7, 5.1 |
<0.001 |
| Household Composition |
1.4 |
-0.01, 2.8 |
0.052 |
| Minority Status and Language |
0.40 |
-0.66, 1.5 |
0.5 |
| Housing and Transportation |
0.14 |
-1.1, 1.3 |
0.8 |
## Model performance
model_performance(phq2)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
---------------------------------------------------------
14441.005 | 14548.919 | 0.089 | 0.081 | 6.746 | 6.774
performance::check_model(phq2, panel = TRUE)

## Margins
cplot(phq2, "RPL_THEME1", what = "prediction", main = "Predicted PHQ9 Given THEME1")

cplot(phq2, "RPL_THEME2", what = "prediction", main = "Predicted PHQ9 Given THEME2")

cplot(phq2, "RPL_THEME3", what = "prediction", main = "Predicted PHQ9 Given THEME3")

cplot(phq2, "RPL_THEME4", what = "prediction", main = "Predicted PHQ9 Given THEME4")

PHQ9 by SVI Quartile
phq3 <- lm(phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + RPL_4,
data = mh_vax_co_sub_mm)
summary(phq3)
Call:
lm(formula = phq_score ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + RPL_4, data = mh_vax_co_sub_mm)
Residuals:
Min 1Q Median 3Q Max
-12.339 -5.258 -1.702 4.495 21.083
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.766282 0.644306 12.054 < 2e-16 ***
mstat_5Unknown 0.810313 0.453053 1.789 0.07382 .
mstat_5Unmarried 1.160919 0.388606 2.987 0.00285 **
mstat_5DivorcedSeparated 4.585023 0.669272 6.851 9.53e-12 ***
mstat_5Widow 1.754147 0.767431 2.286 0.02237 *
lang_3Other 0.247023 1.500234 0.165 0.86923
age_yrs -0.044317 0.008419 -5.264 1.55e-07 ***
race_5Black -0.570699 0.610981 -0.934 0.35037
race_5Other -0.118773 0.881508 -0.135 0.89283
race_5Asian -1.884071 0.790407 -2.384 0.01723 *
race_5Native 1.084526 1.999640 0.542 0.58763
relig_affilNo 0.331700 0.309731 1.071 0.28432
genderFemale 1.540919 0.300247 5.132 3.12e-07 ***
ethnic_3Hispanic -0.173384 1.075912 -0.161 0.87199
RPL_4Second 1.307218 0.339261 3.853 0.00012 ***
RPL_4Third 1.221747 0.428423 2.852 0.00439 **
RPL_4Fourth 3.756220 0.657335 5.714 1.25e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.776 on 2172 degrees of freedom
(13382 observations deleted due to missingness)
Multiple R-squared: 0.08563, Adjusted R-squared: 0.07889
F-statistic: 12.71 on 16 and 2172 DF, p-value: < 2.2e-16
broom::glance(phq3)
broom::tidy(phq3)
tbl_regression(phq3, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_4 ~ "SVI Quartile", mstat_5 ~ "Marital Status"))
| Characteristic |
Beta |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
0.81 |
-0.08, 1.7 |
0.074 |
| Â Â Â Â Unmarried |
1.2 |
0.40, 1.9 |
0.003 |
| Â Â Â Â DivorcedSeparated |
4.6 |
3.3, 5.9 |
<0.001 |
| Â Â Â Â Widow |
1.8 |
0.25, 3.3 |
0.022 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
0.25 |
-2.7, 3.2 |
0.9 |
| Age |
-0.04 |
-0.06, -0.03 |
<0.001 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
-0.57 |
-1.8, 0.63 |
0.4 |
| Â Â Â Â Other |
-0.12 |
-1.8, 1.6 |
0.9 |
| Â Â Â Â Asian |
-1.9 |
-3.4, -0.33 |
0.017 |
| Â Â Â Â Native |
1.1 |
-2.8, 5.0 |
0.6 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.33 |
-0.28, 0.94 |
0.3 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.5 |
0.95, 2.1 |
<0.001 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
-0.17 |
-2.3, 1.9 |
0.9 |
| SVI Quartile |
|
|
|
| Â Â Â Â First |
— |
— |
|
| Â Â Â Â Second |
1.3 |
0.64, 2.0 |
<0.001 |
| Â Â Â Â Third |
1.2 |
0.38, 2.1 |
0.004 |
| Â Â Â Â Fourth |
3.8 |
2.5, 5.0 |
<0.001 |
## Model performance
model_performance(phq3)
# Indices of model performance
AIC | BIC | R2 | R2 (adj.) | RMSE | Sigma
---------------------------------------------------------
14607.730 | 14710.171 | 0.086 | 0.079 | 6.749 | 6.776
performance::check_model(phq3, panel = TRUE)

## Margins
cplot(phq3, "RPL_4", what = "prediction", main = "Predicted PHQ9 Given SVI Quartile")

Depression model including PHQ
phq4 <- glm(depression_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
+ gender + ethnic_3 + phq_score + RPL_THEMES,
family = "binomial",
data = mh_vax_co_sub_mm)
summary(phq4)
Call:
glm(formula = depression_2 ~ mstat_5 + lang_3 + age_yrs + race_5 +
relig_affil + gender + ethnic_3 + phq_score + RPL_THEMES,
family = "binomial", data = mh_vax_co_sub_mm)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.6204 -0.7580 -0.5150 0.8024 2.6245
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.043277 0.243010 -8.408 < 2e-16 ***
mstat_5Unknown -0.091251 0.163241 -0.559 0.57616
mstat_5Unmarried 0.064883 0.138343 0.469 0.63907
mstat_5DivorcedSeparated 0.222710 0.247903 0.898 0.36899
mstat_5Widow -0.326932 0.272607 -1.199 0.23042
lang_3Other 0.605330 0.568774 1.064 0.28721
age_yrs 0.001931 0.002996 0.645 0.51921
race_5Black -0.364582 0.215549 -1.691 0.09076 .
race_5Other -0.438687 0.335453 -1.308 0.19096
race_5Asian -1.449504 0.348870 -4.155 3.25e-05 ***
race_5Native 0.193995 0.717037 0.271 0.78674
relig_affilNo -0.102208 0.111344 -0.918 0.35865
genderFemale 0.284843 0.108454 2.626 0.00863 **
ethnic_3Hispanic -0.641765 0.422532 -1.519 0.12880
phq_score 0.200864 0.009491 21.164 < 2e-16 ***
RPL_THEMES 0.359290 0.230273 1.560 0.11869
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3013.8 on 2188 degrees of freedom
Residual deviance: 2242.6 on 2173 degrees of freedom
(13382 observations deleted due to missingness)
AIC: 2274.6
Number of Fisher Scoring iterations: 4
broom::glance(phq4)
broom::tidy(phq4, exponentiate = TRUE)
model_performance(phq4)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
2274.575 | 2365.634 | 0.318 | 0.411 | 1.016 | 0.512 | -Inf | 6.657e-04 | 0.662
tbl_regression(phq4, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status", phq_score ~ "PHQ9 Score"), exponentiate = TRUE)
| Characteristic |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
0.91 |
0.66, 1.26 |
0.6 |
| Â Â Â Â Unmarried |
1.07 |
0.81, 1.40 |
0.6 |
| Â Â Â Â DivorcedSeparated |
1.25 |
0.77, 2.04 |
0.4 |
| Â Â Â Â Widow |
0.72 |
0.42, 1.22 |
0.2 |
| English Speaking |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
1.83 |
0.58, 5.46 |
0.3 |
| Age |
1.00 |
1.00, 1.01 |
0.5 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
0.69 |
0.45, 1.06 |
0.091 |
| Â Â Â Â Other |
0.64 |
0.33, 1.23 |
0.2 |
| Â Â Â Â Asian |
0.23 |
0.12, 0.45 |
<0.001 |
| Â Â Â Â Native |
1.21 |
0.28, 4.90 |
0.8 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
0.90 |
0.73, 1.12 |
0.4 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.33 |
1.08, 1.65 |
0.009 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
0.53 |
0.22, 1.18 |
0.13 |
| PHQ9 Score |
1.22 |
1.20, 1.25 |
<0.001 |
| Total SVI |
1.43 |
0.91, 2.25 |
0.12 |
## Performance
model_performance(phq4)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
2274.575 | 2365.634 | 0.318 | 0.411 | 1.016 | 0.512 | -Inf | 6.657e-04 | 0.662
performance::check_model(phq4, panel = TRUE)

## Margins
cplot(phq4, "phq_score", what = "prediction", main = "Percent Likelihood of Depression Given PHQ9")

PHQ9 logistic regression (none-mild, moderate-severe)
phq5 <- glm(phq_2 ~age_yrs + gender + race_5 + ethnic_3 + lang_3 + mstat_5 + relig_affil + RPL_THEMES,
family = "binomial",
data = mh_vax_co_sub_mm)
summary(phq5)
Call:
glm(formula = phq_2 ~ age_yrs + gender + race_5 + ethnic_3 +
lang_3 + mstat_5 + relig_affil + RPL_THEMES, family = "binomial",
data = mh_vax_co_sub_mm)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6882 -1.0252 -0.7853 1.1814 1.8728
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.094071 0.216594 -0.434 0.66405
age_yrs -0.016547 0.002811 -5.887 3.92e-09 ***
genderFemale 0.305373 0.101716 3.002 0.00268 **
race_5Black -0.328907 0.195855 -1.679 0.09309 .
race_5Other -0.422853 0.295996 -1.429 0.15313
race_5Asian -0.442551 0.275703 -1.605 0.10846
race_5Native -0.522829 0.656620 -0.796 0.42589
ethnic_3Hispanic 0.229178 0.356853 0.642 0.52073
lang_3Other 0.152941 0.512041 0.299 0.76518
mstat_5Unknown 0.208070 0.150212 1.385 0.16600
mstat_5Unmarried 0.215968 0.126776 1.704 0.08847 .
mstat_5DivorcedSeparated 0.905666 0.211025 4.292 1.77e-05 ***
mstat_5Widow 0.476371 0.250399 1.902 0.05711 .
relig_affilNo 0.055918 0.102965 0.543 0.58707
RPL_THEMES 0.917973 0.206723 4.441 8.97e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2574.9 on 1888 degrees of freedom
Residual deviance: 2455.7 on 1874 degrees of freedom
(13682 observations deleted due to missingness)
AIC: 2485.7
Number of Fisher Scoring iterations: 4
broom::glance(phq5)
broom::tidy(phq5, exponentiate = TRUE)
model_performance(phq5)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
2485.742 | 2568.899 | 0.062 | 0.479 | 1.145 | 0.650 | -Inf | 5.326e-04 | 0.542
tbl_regression(phq5, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "Preferred Language", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
| Characteristic |
OR |
95% CI |
p-value |
| Age |
0.98 |
0.98, 0.99 |
<0.001 |
| Gender |
|
|
|
| Â Â Â Â Male |
— |
— |
|
| Â Â Â Â Female |
1.36 |
1.11, 1.66 |
0.003 |
| Race |
|
|
|
| Â Â Â Â White |
— |
— |
|
| Â Â Â Â Black |
0.72 |
0.49, 1.05 |
0.093 |
| Â Â Â Â Other |
0.66 |
0.36, 1.16 |
0.2 |
| Â Â Â Â Asian |
0.64 |
0.37, 1.09 |
0.11 |
| Â Â Â Â Native |
0.59 |
0.15, 2.07 |
0.4 |
| Ethnicity |
|
|
|
| Â Â Â Â NonHispanic |
— |
— |
|
| Â Â Â Â Hispanic |
1.26 |
0.62, 2.54 |
0.5 |
| Preferred Language |
|
|
|
| Â Â Â Â English |
— |
— |
|
| Â Â Â Â Other |
1.17 |
0.41, 3.12 |
0.8 |
| Marital Status |
|
|
|
| Â Â Â Â Married |
— |
— |
|
| Â Â Â Â Unknown |
1.23 |
0.92, 1.65 |
0.2 |
| Â Â Â Â Unmarried |
1.24 |
0.97, 1.59 |
0.088 |
| Â Â Â Â DivorcedSeparated |
2.47 |
1.64, 3.76 |
<0.001 |
| Â Â Â Â Widow |
1.61 |
0.98, 2.62 |
0.057 |
| Any Religious Affiliation |
|
|
|
| Â Â Â Â Yes |
— |
— |
|
| Â Â Â Â No |
1.06 |
0.86, 1.29 |
0.6 |
| Total SVI |
2.50 |
1.67, 3.76 |
<0.001 |
## Performance
model_performance(phq5)
# Indices of model performance
AIC | BIC | Tjur's R2 | RMSE | Sigma | Log_loss | Score_log | Score_spherical | PCP
------------------------------------------------------------------------------------------------
2485.742 | 2568.899 | 0.062 | 0.479 | 1.145 | 0.650 | -Inf | 5.326e-04 | 0.542
performance::check_model(phq5, panel = TRUE)

LS0tCnRpdGxlOiAiR0FEIGFuZCBQSFE5IgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgIHRoZW1lczogcGFwZXIKICAgdG9jOiB5ZXMKICAgdG9jX2Zsb2F0OiB5ZXMKZWRpdG9yX29wdGlvbnM6IAogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUKLS0tCgoKIyBMb2FkIFBhY2thZ2VzCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoY29kZWJvb2tyKQpsaWJyYXJ5KHN1bW1hcnl0b29scykKbGlicmFyeShicm9vbSkKbGlicmFyeShwZXJmb3JtYW5jZSkKbGlicmFyeShndCkKbGlicmFyeShndHN1bW1hcnkpCmxpYnJhcnkoamFuaXRvcikKbGlicmFyeShmb3JjYXRzKQpsaWJyYXJ5KGhlcmUpCmxpYnJhcnkobWFyZ2lucykKYGBgCgojIEltcG9ydCBEYXRhCmBgYHtyfQpsb2FkKGZpbGUgPSAifi9EZXNrdG9wL1ItQ29kZS9TRE9IX0FMTC9taF92YXhfY29fc3ViX21tLnJkYSIpClZpZXcobWhfdmF4X2NvX3N1Yl9tbSkKYGBgCgojIEdBRCBkYXRhIGV4cGxvcmF0aW9uIHsudGFic2V0fQoKIyMgR0FENyBkaWNob3RvbW91cyAKYGBge3J9Cm1oX3ZheF9jb19zdWJfbW0kZ2FkXzIgPC0gY3V0KG1oX3ZheF9jb19zdWJfbW0kZ2FkX3Njb3JlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha3M9YygwLCA5LCAyMSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVscz1jKCdOb25lX21pbGQnLCAnbW9kX3NldmVyZScpKQpgYGAKCiMjIEJhc2VsaW5lIENoYXJhY3RlcmlzdGljcyBieSBHQUQ3IHNjb3JlCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBnYWRfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiIsIGFueGlldHlfMiB+ICJBbnhpZXR5IiwgYW55X3BzeWNoX2R4XzIgfiAiQW55IFBzeWNoaWF0cmljIERpYWdub3NpcyIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCBSUExfNCB+ICJTVkkgUXVhcnRpbGUiLCBhY3RfdG9iIH4gIkFjdGl2ZSBUb2JhY2NvIFVzZSIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpICU+JSBhZGRfcCgpCgpgYGAKCgojIyBQZXJjZW50IGFueGlldHkgZGlhZ25vc2lzIGJ5IEdBRDcgc2NvcmUKYGBge3J9Cm1oX3ZheF9jb19zdWJfbW0gJT4lIAogIGRwbHlyOjpzZWxlY3QoZ2FkX2ZjdCwgYW54aWV0eV8yKSAtPiBhbnhfZ2FkCmFueF9nYWQgJT4lIAogIHRibF9zdW1tYXJ5KGJ5ID0gZ2FkX2ZjdCwKICAgICAgICAgbGFiZWwgPSBsaXN0KGFueGlldHlfMiB+ICJBbnhpZXR5IERpYWdub3NpcyIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpICU+JSBhZGRfcApgYGAKCgoKIyMgR2FkNyBieSByYWNlIApgYGB7cn0KbWhfdmF4X2NvX3N1Yl9tbSAlPiUgCiAgZHBseXI6OnNlbGVjdChyYWNlXzUsIGdhZF9mY3QsIGFueGlldHlfMikgLT4gZ2FkX3JhY2UKZ2FkX3JhY2UgJT4lIAogIHRibF9zdW1tYXJ5KGJ5ID0gcmFjZV81LAogICAgICAgICBsYWJlbCA9IGxpc3QoZ2FkX2ZjdCB+ICJHQUQ3IFNjb3JlIiwgYW54aWV0eV8yIH4gIkFueGlldHkgRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wKCkKYGBgCgoKIyMgUGVyY2VudCB3aXRoIGFueGlldHkgZGlhZ25vc2lzIGJhc2VkIG9uIEdBRDcsIHN0cmF0aWZpZWQgYnkgcmFjZSAKYGBge3J9CgojIFdoaXRlIAp3aGl0ZS5hbnggPC0gc3Vic2V0KG1oX3ZheF9jb19zdWJfbW0sIHJhY2VfNT09IldoaXRlIiwgc2VsZWN0PSBjKGdhZF9mY3QsIGFueGlldHlfMikpCiAgd2hpdGUuYW54ICU+JSAKICAgIHRibF9zdW1tYXJ5KGJ5ID0gZ2FkX2ZjdCwKICAgICAgICAgbGFiZWwgPSBsaXN0KGFueGlldHlfMiB+ICJBbnhpZXR5IERpYWdub3NpcyIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpICU+JSBhZGRfcAogIAojIEJMYWNrICAKYmxhY2suYW54IDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCByYWNlXzU9PSJCbGFjayIsIHNlbGVjdD0gYyhnYWRfZmN0LCBhbnhpZXR5XzIpKQogIGJsYWNrLmFueCAlPiUgCiAgICB0Ymxfc3VtbWFyeShieSA9IGdhZF9mY3QsCiAgICAgICAgIGxhYmVsID0gbGlzdChhbnhpZXR5XzIgfiAiQW54aWV0eSBEaWFnbm9zaXMiKSwKICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiKSAlPiUgYWRkX3AKCiMgQXNpYW4KYXNpYW4uYW54IDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCByYWNlXzU9PSJBc2lhbiIsIHNlbGVjdD0gYyhnYWRfZmN0LCBhbnhpZXR5XzIpKQogIGFzaWFuLmFueCAlPiUgCiAgICB0Ymxfc3VtbWFyeShieSA9IGdhZF9mY3QsCiAgICAgICAgIGxhYmVsID0gbGlzdChhbnhpZXR5XzIgfiAiQW54aWV0eSBEaWFnbm9zaXMiKSwKICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiKSAlPiUgYWRkX3AKYGBgCiMjIFBlcmNlbnQgd2l0aCBhbnhpZXR5IGRpYWdub3NpcyBiYXNlZCBvbiBHQUQ3LCBzdHJhdGlmaWVkIGJ5IFNWSSBRdWFydGlsZSAKYGBge3J9CiMgRmlyc3QKRmlyc3QuYW54IDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IkZpcnN0Iiwgc2VsZWN0PSBjKGdhZF9mY3QsIGFueGlldHlfMikpCiAgRmlyc3QuYW54ICU+JSAKICAgIHRibF9zdW1tYXJ5KGJ5ID0gZ2FkX2ZjdCwKICAgICAgICAgbGFiZWwgPSBsaXN0KGFueGlldHlfMiB+ICJBbnhpZXR5IERpYWdub3NpcyIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpICU+JSBhZGRfcAoKIyBTZWNvbmQgIApzZWNvbmQuYW54IDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IlNlY29uZCIsIHNlbGVjdD0gYyhnYWRfZmN0LCBhbnhpZXR5XzIpKQogIHNlY29uZC5hbnggJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBnYWRfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoYW54aWV0eV8yIH4gIkFueGlldHkgRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCgojIFRoaXJkIAp0aGlyZC5hbnggPC0gc3Vic2V0KG1oX3ZheF9jb19zdWJfbW0sIFJQTF80PT0iVGhpcmQiLCBzZWxlY3Q9IGMoZ2FkX2ZjdCwgYW54aWV0eV8yKSkKICB0aGlyZC5hbnggJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBnYWRfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoYW54aWV0eV8yIH4gIkFueGlldHkgRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCiAgCiMgRm91cnRoIApmb3VydGguYW54IDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IkZvdXJ0aCIsIHNlbGVjdD0gYyhnYWRfZmN0LCBhbnhpZXR5XzIpKQogIGZvdXJ0aC5hbnggJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBnYWRfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoYW54aWV0eV8yIH4gIkFueGlldHkgRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCmBgYAoKCiMjIEdBRCBiaXZhcmlhdGUgYW5hbHlzaXMgCmBgYHtyfQp0YmxfdXZfZ2FkNyA8LQogIHRibF91dnJlZ3Jlc3Npb24oCiAgICBtaF92YXhfY29fc3ViX21tW2MoImdhZF9zY29yZSIsICJhZ2VfeXJzIiwgImdlbmRlciIsICJyYWNlXzUiLCAiZXRobmljXzMiLCAibGFuZ18zIiwgInJlbGlnX2FmZmlsIiwgIm1zdGF0XzUiLCAiUlBMX1RIRU1FUyIsICAiUlBMX1RIRU1FMSIsICJSUExfVEhFTUUyIiwgICJSUExfVEhFTUUzIiwgIlJQTF9USEVNRTQiLCAiYWN0X3RvYiIpXSwKICAgIG1ldGhvZCA9IGxtLAogICAgeSA9IGdhZF9zY29yZSwKICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCBhY3RfdG9iIH4gIkFjdGl2ZSBUb2JhY2NvIFVzZSIpKQogICAgCnByaW50KHRibF91dl9nYWQ3LCBtZXRob2QgPSByZW5kZXIpCmBgYAoKIyBHQUQgTXVsdGl2YXJpYWJsZSBtb2RlbHMgey50YWJzZXR9CgojIyBHQUQgKyBSUExfVEhFTUVTCmBgYHtyfQpnYWQxIDwtIGxtKGdhZF9zY29yZSB+IG1zdGF0XzUgKyBsYW5nXzMgKyBhZ2VfeXJzICsgcmFjZV81ICsgcmVsaWdfYWZmaWwKICAgICAgICAgICAgICAgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX3ZheF9jb19zdWJfbW0pCnN1bW1hcnkoZ2FkMSkKYnJvb206OmdsYW5jZShnYWQxKQpicm9vbTo6dGlkeShnYWQxKQp0YmxfcmVncmVzc2lvbihnYWQxLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpKQoKIyMgTW9kZWwgcGVyZm9ybWFuY2UKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkMSkKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKGdhZDEsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMKY3Bsb3QoZ2FkMSwgIlJQTF9USEVNRVMiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlByZWRpY3RlZCBHQUQ3IEdpdmVuIFNWSSIpCmBgYAoKIyMgR0FEICsgQWxsIFRoZW1lcyAKYGBge3J9CmdhZDIgPC0gbG0oZ2FkX3Njb3JlIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FMSArIFJQTF9USEVNRTIgKyBSUExfVEhFTUUzICsKICAgICAgICAgICAgICBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGRhdGEgPSBtaF92YXhfY29fc3ViX21tKQpzdW1tYXJ5KGdhZDIpCmJyb29tOjpnbGFuY2UoZ2FkMikKYnJvb206OnRpZHkoZ2FkMikKdGJsX3JlZ3Jlc3Npb24oZ2FkMiwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSkKCiMjIE1vZGVsIHBlcmZvcm1hbmNlCm1vZGVsX3BlcmZvcm1hbmNlKGdhZDIpCnBlcmZvcm1hbmNlOjpjaGVja19tb2RlbChnYWQyLCBwYW5lbCA9IFRSVUUpCgojIyBNYXJnaW5zCmNwbG90KGdhZDIsICJSUExfVEhFTUUxIiwgd2hhdCA9ICJwcmVkaWN0aW9uIiwgbWFpbiA9ICJQcmVkaWN0ZWQgR0FENyBHaXZlbiBUSEVNRTEiKQpjcGxvdChnYWQyLCAiUlBMX1RIRU1FMiIsIHdoYXQgPSAicHJlZGljdGlvbiIsIG1haW4gPSAiUHJlZGljdGVkIEdBRDcgR2l2ZW4gVEhFTUUyIikKY3Bsb3QoZ2FkMiwgIlJQTF9USEVNRTMiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlByZWRpY3RlZCBHQUQ3IEdpdmVuIFRIRU1FMyIpCmNwbG90KGdhZDIsICJSUExfVEhFTUU0Iiwgd2hhdCA9ICJwcmVkaWN0aW9uIiwgbWFpbiA9ICJQcmVkaWN0ZWQgR0FENyBHaXZlbiBUSEVNRTQiKQpgYGAKCiMjIEdBRDcgYnkgU1ZJIFF1YXJ0aWxlIApgYGB7cn0KZ2FkMyA8LSBsbShnYWRfc2NvcmUgfiBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsCiAgICAgICAgICAgICAgICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfNCwKICAgICAgICAgICAgICBkYXRhID0gbWhfdmF4X2NvX3N1Yl9tbSkKc3VtbWFyeShnYWQzKQpicm9vbTo6Z2xhbmNlKGdhZDMpCmJyb29tOjp0aWR5KGdhZDMpCnRibF9yZWdyZXNzaW9uKGdhZDMsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMXzQgfiAiU1ZJIFF1YXJ0aWxlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpKQoKIyMgTW9kZWwgcGVyZm9ybWFuY2UKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkMykKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKGdhZDMsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMKY3Bsb3QoZ2FkMywgIlJQTF80Iiwgd2hhdCA9ICJwcmVkaWN0aW9uIiwgbWFpbiA9ICJQcmVkaWN0ZWQgR0FENyBHaXZlbiBTVkkgUXVhcnRpbGUiKQpgYGAKCiMjIEFueGlldHkgbW9kZWwgaW5jbHVkaW5nIGdhZApgYGB7cn0KZ2FkNCA8LSBnbG0oYW54aWV0eV8yIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgZ2FkX3Njb3JlICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF92YXhfY29fc3ViX21tKQpzdW1tYXJ5KGdhZDQpCmJyb29tOjpnbGFuY2UoZ2FkNCkKYnJvb206OnRpZHkoZ2FkNCwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkNCkKdGJsX3JlZ3Jlc3Npb24oZ2FkNCwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBnYWRfc2NvcmUgfiAiR0FENyBTY29yZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKSAgCgojIyBQZXJmb3JtYW5jZSAKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkNCkKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKGdhZDQsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMgCmNwbG90KGdhZDQsICJnYWRfc2NvcmUiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlBlcmNlbnQgTGlrZWxpaG9vZCBvZiBBbnhpZXR5IEdpdmVuIEdhZCIpCmBgYAoKIyMgR0FENyBsb2dpc3RpYyAobm9uLW1pbGQsIG1vZC1zZXZlcmUpCmBgYHtyfQpnYWQ1IDwtIGdsbShnYWRfMiB+YWdlX3lycyArIGdlbmRlciArIHJhY2VfNSArIGV0aG5pY18zICsgbGFuZ18zICsgbXN0YXRfNSArIHJlbGlnX2FmZmlsICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF92YXhfY29fc3ViX21tKQpzdW1tYXJ5KGdhZDUpCmJyb29tOjpnbGFuY2UoZ2FkNSkKYnJvb206OnRpZHkoZ2FkNSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkNSkKdGJsX3JlZ3Jlc3Npb24oZ2FkNSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiUHJlZmVycmVkIExhbmd1YWdlIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKSAgCgojIyBQZXJmb3JtYW5jZSAKbW9kZWxfcGVyZm9ybWFuY2UoZ2FkNSkKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKGdhZDUsIHBhbmVsID0gVFJVRSkKCmBgYAoKIyBQSFE5IERhdGEgRXhwbG9yYXRpb24gey50YWJzZXR9CgojIyBQSFE5IGRpY2hvdG9tb3VzIApgYGB7cn0KbWhfdmF4X2NvX3N1Yl9tbSRwaHFfMiA8LSBjdXQobWhfdmF4X2NvX3N1Yl9tbSRwaHFfc2NvcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrcz1jKDAsIDksIDI3KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzPWMoJ05vbmVfbWlsZCcsICdtb2Rfc2V2ZXJlJykpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IFBIUTkgc2NvcmUKYGBge3J9CmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShieSA9IHBocV9mY3QsCiAgICAgICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgYW54aWV0eV8yIH4gIkFueGlldHkiLCBhbnlfcHN5Y2hfZHhfMiB+ICJBbnkgUHN5Y2hpYXRyaWMgRGlhZ25vc2lzIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIsIFJQTF80IH4gIlNWSSBRdWFydGlsZSIsIGFjdF90b2IgfiAiQWN0aXZlIFRvYmFjY28gVXNlIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wKCkKCmBgYAoKCiMjIFBlcmNlbnQgZGVwcmVzc2lvbiBkaWFnbm9zaXMgYnkgcGhxOSBzY29yZQpgYGB7cn0KbWhfdmF4X2NvX3N1Yl9tbSAlPiUgCiAgZHBseXI6OnNlbGVjdChwaHFfZmN0LCBkZXByZXNzaW9uXzIpIC0+IGRlcF9nYWQKZGVwX2dhZCAlPiUgCiAgdGJsX3N1bW1hcnkoYnkgPSBwaHFfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24gRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCmBgYAoKCgojIyBQSFE5IGFuZCBkZXByZXNzaW9uIGRpYWdub3NpcyBieSByYWNlIApgYGB7cn0KbWhfdmF4X2NvX3N1Yl9tbSAlPiUgCiAgZHBseXI6OnNlbGVjdChyYWNlXzUsIHBocV9mY3QsIGRlcHJlc3Npb25fMikgLT4gcGhxX3JhY2UKcGhxX3JhY2UgJT4lIAogIHRibF9zdW1tYXJ5KGJ5ID0gcmFjZV81LAogICAgICAgICBsYWJlbCA9IGxpc3QocGhxX2ZjdCB+ICJQSFEgU2NvcmUgU2NvcmUiLCBkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiBEaWFnbm9zaXMiKSwKICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiKSAlPiUgYWRkX3AoKQpgYGAKCgoKIyMgUGVyY2VudCB3aXRoIGRlcHJlc3Npb24gZGlhZ25vc2lzIGJhc2VkIG9uIFBIUTksIHN0cmF0aWZpZWQgYnkgcmFjZSAKYGBge3J9CiMgV2hpdGUgCndoaXRlLmRlcCA8LSBzdWJzZXQobWhfdmF4X2NvX3N1Yl9tbSwgcmFjZV81PT0iV2hpdGUiLCBzZWxlY3Q9IGMocGhxX2ZjdCwgZGVwcmVzc2lvbl8yKSkKICB3aGl0ZS5kZXAgJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBwaHFfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24gRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCiAgCiMgQmxhY2sKYmxhY2suZGVwIDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCByYWNlXzU9PSJCbGFjayIsIHNlbGVjdD0gYyhwaHFfZmN0LCBkZXByZXNzaW9uXzIpKQogIGJsYWNrLmRlcCAlPiUgCiAgICB0Ymxfc3VtbWFyeShieSA9IHBocV9mY3QsCiAgICAgICAgIGxhYmVsID0gbGlzdChkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiBEaWFnbm9zaXMiKSwKICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiKSAlPiUgYWRkX3AKCiMgQXNpYW4KYXNpYW4uZGVwIDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCByYWNlXzU9PSJBc2lhbiIsIHNlbGVjdD0gYyhwaHFfZmN0LCBkZXByZXNzaW9uXzIpKQogIGFzaWFuLmRlcCAlPiUgCiAgICB0Ymxfc3VtbWFyeShieSA9IHBocV9mY3QsCiAgICAgICAgIGxhYmVsID0gbGlzdChkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiBEaWFnbm9zaXMiKSwKICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiKSAlPiUgYWRkX3AKCmBgYApgYGB7cn0KZmFjdG9yKG1oX3ZheF9jb19zdWJfbW0kUlBMXzQpCmBgYAoKCiMjIFBlcmNlbnQgd2l0aCBkZXByZXNzaW9uIGRpYWdub3NpcyBiYXNlZCBvbiBQSFE5LCBzdHJhdGlmaWVkIGJ5IFNWSSBRdWFydGlsZSAKYGBge3J9CiMgRmlyc3QKRmlyc3QuZGVwIDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IkZpcnN0Iiwgc2VsZWN0PSBjKHBocV9mY3QsIGRlcHJlc3Npb25fMikpCiAgRmlyc3QuZGVwICU+JSAKICAgIHRibF9zdW1tYXJ5KGJ5ID0gcGhxX2ZjdCwKICAgICAgICAgbGFiZWwgPSBsaXN0KGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIERpYWdub3NpcyIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpICU+JSBhZGRfcAoKIyBTZWNvbmQgIApzZWNvbmQuZGVwIDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IlNlY29uZCIsIHNlbGVjdD0gYyhwaHFfZmN0LCBkZXByZXNzaW9uXzIpKQogIHNlY29uZC5kZXAgJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBwaHFfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24gRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCgojIFRoaXJkIAp0aGlyZC5kZXAgPC0gc3Vic2V0KG1oX3ZheF9jb19zdWJfbW0sIFJQTF80PT0iVGhpcmQiLCBzZWxlY3Q9IGMocGhxX2ZjdCwgZGVwcmVzc2lvbl8yKSkKICB0aGlyZC5kZXAgJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBwaHFfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24gRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCiAgCiMgRm91cnRoIApmb3VydGguZGVwIDwtIHN1YnNldChtaF92YXhfY29fc3ViX21tLCBSUExfND09IkZvdXJ0aCIsIHNlbGVjdD0gYyhwaHFfZmN0LCBkZXByZXNzaW9uXzIpKQogIGZvdXJ0aC5kZXAgJT4lIAogICAgdGJsX3N1bW1hcnkoYnkgPSBwaHFfZmN0LAogICAgICAgICBsYWJlbCA9IGxpc3QoZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24gRGlhZ25vc2lzIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikgJT4lIGFkZF9wCmBgYAoKIyMgUEhROSBiaXZhcmlhdGUgYW5hbHlzaXMgCmBgYHtyfQp0YmxfdXZfcGhxOSA8LQogIHRibF91dnJlZ3Jlc3Npb24oCiAgICBtaF92YXhfY29fc3ViX21tW2MoInBocV9zY29yZSIsICJhZ2VfeXJzIiwgImdlbmRlciIsICJyYWNlXzUiLCAiZXRobmljXzMiLCAibGFuZ18zIiwgInJlbGlnX2FmZmlsIiwgIm1zdGF0XzUiLCAiUlBMX1RIRU1FUyIsICAiUlBMX1RIRU1FMSIsICJSUExfVEhFTUUyIiwgICJSUExfVEhFTUUzIiwgIlJQTF9USEVNRTQiLCAiYWN0X3RvYiIpXSwKICAgIG1ldGhvZCA9IGxtLAogICAgeSA9IHBocV9zY29yZSwKICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCBhY3RfdG9iIH4gIkFjdGl2ZSBUb2JhY2NvIFVzZSIpKQogICAgCnByaW50KHRibF91dl9waHE5LCBtZXRob2QgPSByZW5kZXIpCmBgYAoKIyBQSFE5IE11bHRpdmFyaWFibGUgbW9kZWxzIHsudGFic2V0fQoKIyMgUEhROSArIFJQTF9USEVNRVMKYGBge3J9CnBocTEgPC0gbG0ocGhxX3Njb3JlIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBkYXRhID0gbWhfdmF4X2NvX3N1Yl9tbSkKc3VtbWFyeShwaHExKQpicm9vbTo6Z2xhbmNlKHBocTEpCmJyb29tOjp0aWR5KHBocTEpCnRibF9yZWdyZXNzaW9uKHBocTEsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIikpCgojIyBNb2RlbCBwZXJmb3JtYW5jZQptb2RlbF9wZXJmb3JtYW5jZShwaHExKQpwZXJmb3JtYW5jZTo6Y2hlY2tfbW9kZWwocGhxMSwgcGFuZWwgPSBUUlVFKQoKIyMgTWFyZ2lucwpjcGxvdChwaHExLCAiUlBMX1RIRU1FUyIsIHdoYXQgPSAicHJlZGljdGlvbiIsIG1haW4gPSAiUHJlZGljdGVkIFBIUTkgR2l2ZW4gU1ZJIikKYGBgCgojIyBQSFEgKyBBbGwgdGhlbWVzIApgYGB7cn0KcGhxMiA8LSBsbShwaHFfc2NvcmUgfiBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsCiAgICAgICAgICAgICAgICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKwogICAgICAgICAgICAgIFJQTF9USEVNRTQsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX3ZheF9jb19zdWJfbW0pCnN1bW1hcnkocGhxMikKYnJvb206OmdsYW5jZShwaHEyKQpicm9vbTo6dGlkeShwaHEyKQp0YmxfcmVncmVzc2lvbihwaHEyLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpKQoKIyMgTW9kZWwgcGVyZm9ybWFuY2UKbW9kZWxfcGVyZm9ybWFuY2UocGhxMikKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKHBocTIsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMKY3Bsb3QocGhxMiwgIlJQTF9USEVNRTEiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlByZWRpY3RlZCBQSFE5IEdpdmVuIFRIRU1FMSIpCmNwbG90KHBocTIsICJSUExfVEhFTUUyIiwgd2hhdCA9ICJwcmVkaWN0aW9uIiwgbWFpbiA9ICJQcmVkaWN0ZWQgUEhROSBHaXZlbiBUSEVNRTIiKQpjcGxvdChwaHEyLCAiUlBMX1RIRU1FMyIsIHdoYXQgPSAicHJlZGljdGlvbiIsIG1haW4gPSAiUHJlZGljdGVkIFBIUTkgR2l2ZW4gVEhFTUUzIikKY3Bsb3QocGhxMiwgIlJQTF9USEVNRTQiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlByZWRpY3RlZCBQSFE5IEdpdmVuIFRIRU1FNCIpCmBgYAoKCiMjIFBIUTkgYnkgU1ZJIFF1YXJ0aWxlIApgYGB7cn0KcGhxMyA8LSBsbShwaHFfc2NvcmUgfiBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsCiAgICAgICAgICAgICAgICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfNCwKICAgICAgICAgICAgICBkYXRhID0gbWhfdmF4X2NvX3N1Yl9tbSkKc3VtbWFyeShwaHEzKQpicm9vbTo6Z2xhbmNlKHBocTMpCmJyb29tOjp0aWR5KHBocTMpCnRibF9yZWdyZXNzaW9uKHBocTMsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMXzQgfiAiU1ZJIFF1YXJ0aWxlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpKQoKIyMgTW9kZWwgcGVyZm9ybWFuY2UKbW9kZWxfcGVyZm9ybWFuY2UocGhxMykKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKHBocTMsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMKY3Bsb3QocGhxMywgIlJQTF80Iiwgd2hhdCA9ICJwcmVkaWN0aW9uIiwgbWFpbiA9ICJQcmVkaWN0ZWQgUEhROSBHaXZlbiBTVkkgUXVhcnRpbGUiKQpgYGAKCiMjIERlcHJlc3Npb24gbW9kZWwgaW5jbHVkaW5nIFBIUQpgYGB7cn0KcGhxNCA8LSBnbG0oZGVwcmVzc2lvbl8yIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgcGhxX3Njb3JlICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF92YXhfY29fc3ViX21tKQpzdW1tYXJ5KHBocTQpCmJyb29tOjpnbGFuY2UocGhxNCkKYnJvb206OnRpZHkocGhxNCwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UocGhxNCkKdGJsX3JlZ3Jlc3Npb24ocGhxNCwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBwaHFfc2NvcmUgfiAiUEhROSBTY29yZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKSAgCgojIyBQZXJmb3JtYW5jZSAKbW9kZWxfcGVyZm9ybWFuY2UocGhxNCkKcGVyZm9ybWFuY2U6OmNoZWNrX21vZGVsKHBocTQsIHBhbmVsID0gVFJVRSkKCiMjIE1hcmdpbnMgCmNwbG90KHBocTQsICJwaHFfc2NvcmUiLCB3aGF0ID0gInByZWRpY3Rpb24iLCBtYWluID0gIlBlcmNlbnQgTGlrZWxpaG9vZCBvZiBEZXByZXNzaW9uIEdpdmVuIFBIUTkiKQpgYGAKCgojIyBQSFE5IGxvZ2lzdGljIHJlZ3Jlc3Npb24gKG5vbmUtbWlsZCwgbW9kZXJhdGUtc2V2ZXJlKQpgYGB7cn0KcGhxNSA8LSBnbG0ocGhxXzIgfmFnZV95cnMgKyBnZW5kZXIgKyByYWNlXzUgKyBldGhuaWNfMyArIGxhbmdfMyArIG1zdGF0XzUgKyByZWxpZ19hZmZpbCArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfdmF4X2NvX3N1Yl9tbSkKc3VtbWFyeShwaHE1KQpicm9vbTo6Z2xhbmNlKHBocTUpCmJyb29tOjp0aWR5KHBocTUsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKHBocTUpCnRibF9yZWdyZXNzaW9uKHBocTUsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIlByZWZlcnJlZCBMYW5ndWFnZSIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSwgZXhwb25lbnRpYXRlID0gVFJVRSkgIAoKIyMgUGVyZm9ybWFuY2UgCm1vZGVsX3BlcmZvcm1hbmNlKHBocTUpCnBlcmZvcm1hbmNlOjpjaGVja19tb2RlbChwaHE1LCBwYW5lbCA9IFRSVUUpCgpgYGAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK