--- title: "Pooling and Selection of Linear Regression Models" author: "Martijn W Heymans" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Pooling and Selection of Linear Regression Models} %\VignetteEngine{knitr::rmarkdown} \usepackage[utf8]{inputenc} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` # Introduction With the `psfmi_lm` function you can pool Linear regression models by using the following pooling methods: RR (Rubin's Rules), D1, D2 and MPR (Median R Rule). You can also use forward or backward selection from the pooled model. This vignette show you examples of how to apply these procedures. # Examples * [Linear Regression] + [Pooling without BS and method D1] + [Pooling with BS and method D1] + [Pooling with BS and method MPR] + [Pooling with BS including interaction terms and method D2] + [Pooling with BS and forcing interaction terms and method D1] + [Pooling with BS including spline coefficient and method D1] ## Pooling without BS and method D1 ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + Function + JobControl + JobDemands + SocialSupport, method="D1") pool_lm$RR_model ``` Back to [Examples] ## Pooling with BS and method D1 Pooling linear regression models over 5 imputed datasets with backward selection using a p-value of 0.05 and as method D1 and forcing the predictor "Smoking" in the models during backward selection. ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + Function + JobControl + JobDemands + SocialSupport, keep.predictors = "Smoking", method="D1", p.crit=0.05, direction="BW") pool_lm$RR_model_final pool_lm$multiparm_final pool_lm$predictors_out ``` Back to [Examples] ## Pooling with BS and method MPR Pooling linear regression models over 5 imputed datasets with backward selection using a p-value of 0.05 and as method D1 and forcing the predictor "Smoking" in the models during backward selection. ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + Function + JobControl + JobDemands + SocialSupport, keep.predictors = "Smoking", method="MPR", p.crit=0.05, direction="BW") pool_lm$RR_model_final pool_lm$multiparm_final pool_lm$predictors_out ``` Back to [Examples] ## Pooling with BS including interaction terms and method D2 Pooling linear regression models over 5 imputed datasets with BS using a p-value of 0.05 and as method D2. Several interaction terms, including a categorical predictor, are part of the selection procedure. ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + Function + JobControl + factor(Carrying) + factor(Satisfaction) + factor(Carrying):Smoking + Gender:Smoking, method="D2", p.crit=0.05, direction="BW") pool_lm$RR_model_final pool_lm$multiparm_final pool_lm$predictors_out ``` Back to [Examples] ## Pooling with BS and forcing interaction terms and method D1 Same as above but now forcing several predictors, including interaction terms, in the model during BS. ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + Function + JobControl + factor(Carrying) + factor(Satisfaction) + factor(Carrying):Smoking + Gender:Smoking, keep.predictors = c("Smoking*Carrying", "JobControl"), method="D1", p.crit=0.05, direction="BW") pool_lm$RR_model_final pool_lm$multiparm_final pool_lm$predictors_out ``` Back to [Examples] ## Pooling with BS including spline coefficient and method D1 Pooling linear regression models over 5 imputed datasets with BS using a p-value of 0.05 and as method D1. A spline predictor and interaction term are part of the selection procedure. ```{r} library(psfmi) pool_lm <- psfmi_lm(data=lbpmilr, nimp=5, impvar="Impnr", formula = Pain ~ Gender + Smoking + JobControl + factor(Carrying) + factor(Satisfaction) + factor(Carrying):Smoking + rcs(Function, 3), method="D1", p.crit=0.05, direction="BW") pool_lm$RR_model_final pool_lm$multiparm_final pool_lm$predictors_out ``` Back to [Examples]