Skip to content

Instantly share code, notes, and snippets.

@andrigerber
Last active December 3, 2021 16:20
Show Gist options
  • Save andrigerber/1836d12b107130ce28e70a748ecdb3e8 to your computer and use it in GitHub Desktop.
Save andrigerber/1836d12b107130ce28e70a748ecdb3e8 to your computer and use it in GitHub Desktop.
Mastherteshis analysis
### Model selection
Vorlagestudie:
* Variables with P < 0.20 from the univariate analyses were selected as candidates for inclusion in the multivariate model and were
retained in the final model if they were significant at P < 0.10 or if they altered any of the other estimates (i.e., odds ratio) by more than 10%
* Or from my proposal: Thereby, the predictors are selected based on previous research (Field, 2012). From there, a forward modeling strategy will be used to identify variables with a p-value of under 0,25 from the univariable t-test and included in the multivariable model. They will be included in the preliminary main effects model if they achieve the threshold (p < 0,05) in the partial likelihood ratio test of the nested model or if they change any variables coefficient (π›₯𝛽̂ > 20%) substantially (Behnke, 2014 pp. 105-111; Hosmer, 2013, pp. 90-94).
* Workflow: Nur variablen mit p<0.25 inkludieren aus "columne K des unadjusted model/univariate model", anschliessend "(Rao-Scott+F) LRT" durchfΓΌhren und schauen ob p<0.05 oder Variablenkoeffizient sich um: π›₯𝛽̂ > 20%, verΓ€ndert.
* For Man:
```{r}
# man
# variable list of variables with p-value of under 0,25:
# 13: education, language, nationality, ADL, FL, depression, bmi_cut, age_cut, (age), diabetes, osteoarthritis, urinary_incontinence, osteoporosis
# Forward selection strategy: Keep variable if P < 0.05 in the partial likelihood ratio test of the nested model or if they change any variables coefficient π›₯𝛽̂ > 20%
# education model
fit_fs_education_m <- svyglm(I(fall=="fall last 12 months") ~ education,
design = wdat_17_m,
family = quasibinomial(logit))
# education + language model
fit_fs_education_language_m <- svyglm(I(fall=="fall last 12 months") ~ education + language,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_m, fit_fs_education_language_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_m, fit_fs_education_language_m, exp =TRUE)
# jtools::plot_summs(fit_fs_education_m, fit_fs_education_language_m) # graphic
########### exclude due to 1 & 2 ############
# education + nationality model
fit_fs_education_nationality_m <- svyglm(I(fall=="fall last 12 months") ~ education + nationality,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_m, fit_fs_education_nationality_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_m, fit_fs_education_nationality_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_m, fit_fs_education_nationality_m) # graphic
########### include due to 1 not 2 ############
# education + nationality + ADL model
fit_fs_education_nationality_ADL_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_m, fit_fs_education_nationality_ADL_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_m, fit_fs_education_nationality_ADL_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_m, fit_fs_education_nationality_ADL_m) # graphic
########### include due to 1 not 2 ############
# education + nationality + ADL + FL model
fit_fs_education_nationality_ADL_FL_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_m, fit_fs_education_nationality_ADL_FL_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_m, fit_fs_education_nationality_ADL_FL_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_m, fit_fs_education_nationality_ADL_FL_m) # graphic
########### include due to 2 not 1 ############
# education + nationality + ADL + FL + depression model
fit_fs_education_nationality_ADL_FL_depression_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_m, fit_fs_education_nationality_ADL_FL_depression_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_m, fit_fs_education_nationality_ADL_FL_depression_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_m, fit_fs_education_nationality_ADL_FL_depression_m) # graphic
########### include due to 1 & 2 ############
# education + nationality + ADL + FL + depression + bmi_cut model
fit_fs_education_nationality_ADL_FL_depression_bmi_cut_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + bmi_cut,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_bmi_cut_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_bmi_cut_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_bmi_cut_m) # graphic
########### exclude due to 1 & 2 ############
# education + nationality + ADL + FL + depression + age_cut
fit_fs_education_nationality_ADL_FL_depression_age_cut_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + age_cut,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_m) # graphic
########### exclude due to 1 & 2 ############
# We retained age (age_cut) in the model regardless of statistical significance because it was deemed to be an important confounder
# education + nationality + ADL + FL + depression + age_cut + diabetes
fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + age_cut + diabetes,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m) # graphic
########### include due to 1 & 2 ############
# education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis
fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m) # graphic
########### include due to 1 not 2 ############
# education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis + urinary_incontinence
fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis + urinary_incontinence,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m) # graphic
########### include due to 1 & 2 ############
# education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis + urinary_incontinence + osteoporosis
fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_osteoporosis_m <- svyglm(I(fall=="fall last 12 months")~education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis + urinary_incontinence + osteoporosis,
design = wdat_17_m,
family = quasibinomial(logit))
# 1) model comparison and LR-test p < 0.05
anova(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_osteoporosis_m)
# 2) Coefficent comparison π›₯𝛽̂ > 20%
export_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_osteoarthritis_urinary_incontinence_osteoporosis_m, exp = TRUE)
# jtools::plot_summs(fit_fs_education_nationality_ADL_FL_depression_age_cut_m, fit_fs_education_nationality_ADL_FL_depression_age_cut_diabetes_m) # graphic
########### include due to 1 & 2 ############
# final model man:
final_model_m<- svyglm(I(fall=="fall last 12 months") ~ education + nationality + ADL + FL + depression + age_cut + diabetes + osteoarthritis + urinary_incontinence + osteoporosis,
design = wdat_17_m,
family = quasibinomial(logit))
final_model_ma<- jtools::summ(final_model_m,exp = TRUE, vifs = TRUE, confint = TRUE, digits = 6)
final_model_ma
# woman
# variable list of variables with p-value of under 0,25:
# 13: language, smoke, ADL, FL, depression, bmi_cut, age_cut, SHS, diabetes, osteoarthritis, stroke, urinary_incontinence, activity
```
## Results
* flow chart Inclusion exclusion
* 14:
* 14 (a). Give characteristics of study participants (e.g.,
demographic, clinical, social) and information on
exposures and potential confounders.
* Table. Characteristics
* 14 (b). Indicate the number of participants with missing
data for each variable of interest.
* Cross-sectional study: Report numbers of outcome events
or summary measures./ Table. Prevalence of Current Asthma and Diagnosed Hay Fever
by Average Alternaria alternata Antigen Level in the Household
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment