This runs t-test (based on lm(), therefore assuming equal variances) on multiple imputations, with the ability to take into account survey weights.

t_test_mi(mi_list, dv, groups, weights = NULL)

Arguments

mi_list

A list of dataframes, each consisting of a multiply imputed dataset

dv

The dependent variable for the t.test (must be in mi_list)

groups

The grouping variable (must have only two values, be in mi_list)

weights

The variable containing survey weights, must be in mi_list

Value

A one-row tibble containing the result of the t-test

Examples

#Create list with imputed data
library(mice)
library(dplyr)
imp <- mice(nhanes2)
#> 
#>  iter imp variable
#>   1   1  bmi  hyp  chl
#>   1   2  bmi  hyp  chl
#>   1   3  bmi  hyp  chl
#>   1   4  bmi  hyp  chl
#>   1   5  bmi  hyp  chl
#>   2   1  bmi  hyp  chl
#>   2   2  bmi  hyp  chl
#>   2   3  bmi  hyp  chl
#>   2   4  bmi  hyp  chl
#>   2   5  bmi  hyp  chl
#>   3   1  bmi  hyp  chl
#>   3   2  bmi  hyp  chl
#>   3   3  bmi  hyp  chl
#>   3   4  bmi  hyp  chl
#>   3   5  bmi  hyp  chl
#>   4   1  bmi  hyp  chl
#>   4   2  bmi  hyp  chl
#>   4   3  bmi  hyp  chl
#>   4   4  bmi  hyp  chl
#>   4   5  bmi  hyp  chl
#>   5   1  bmi  hyp  chl
#>   5   2  bmi  hyp  chl
#>   5   3  bmi  hyp  chl
#>   5   4  bmi  hyp  chl
#>   5   5  bmi  hyp  chl
imp_list <- complete(imp, action="long") %>%
   dplyr::group_split(.imp)

t_test_mi(imp_list, bmi, hyp)
#> # A tibble: 1 × 7
#>   x     y     mean_diff t_value    df p_value group_var
#>   <chr> <chr>     <dbl>   <dbl> <dbl>   <dbl> <chr>    
#> 1 no    yes      -0.248  -0.107  11.2   0.917 hyp