Inference for Correlations and Covariances for Multiply Imputed Datasets
Statistical inference for correlations and covariances for multiply imputed datasets
micombine.cor(mi.res, variables=NULL, conf.level=0.95, method="pearson", nested=FALSE, partial=NULL ) micombine.cov(mi.res, variables=NULL, conf.level=0.95, nested=FALSE )
mi.res |
Object of class |
variables |
Indices of variables for selection |
conf.level |
Confidence level |
method |
Method for calculating correlations. Must be one
of |
nested |
Logical indicating whether the input dataset stems from a nested multiple imputation. |
partial |
Formula object for computing partial correlations. The
terms which should be residualized are written in the formula
object |
A data frame containing the coefficients (r
, cov
) and its
corresponding standard error (rse
, cov_se
),
fraction of missing information
(fmi
) and a t value (t
).
The corresponding coefficients can also be obtained as matrices
by requesting attr(result,"r_matrix")
.
See stats::cor.test
for testing
correlation coefficients.
## Not run: ############################################################################# # EXAMPLE 1: nhanes data | combination of correlation coefficients ############################################################################# library(mice) data(nhanes, package="mice") set.seed(9090) # nhanes data in one chain imp.mi <- miceadds::mice.1chain( nhanes, burnin=5, iter=20, Nimp=4, method=rep("norm", 4) ) # correlation coefficients of variables 4, 2 and 3 (indexed in nhanes data) res <- miceadds::micombine.cor(mi.res=imp.mi, variables=c(4,2,3) ) ## variable1 variable2 r rse fisher_r fisher_rse fmi t p ## 1 chl bmi 0.2458 0.2236 0.2510 0.2540 0.3246 0.9879 0.3232 ## 2 chl hyp 0.2286 0.2152 0.2327 0.2413 0.2377 0.9643 0.3349 ## 3 bmi hyp -0.0084 0.2198 -0.0084 0.2351 0.1904 -0.0358 0.9714 ## lower95 upper95 ## 1 -0.2421 0.6345 ## 2 -0.2358 0.6080 ## 3 -0.4376 0.4239 # extract matrix with correlations and its standard errors attr(res, "r_matrix") attr(res, "rse_matrix") # inference for covariance res2 <- miceadds::micombine.cov(mi.res=imp.mi, variables=c(4,2,3) ) # inference can also be conducted for non-imputed data res3 <- miceadds::micombine.cov(mi.res=nhanes, variables=c(4,2,3) ) # partial correlation residualizing bmi and chl res4 <- miceadds::micombine.cor(mi.res=imp.mi, variables=c("age","hyp" ), partial=~bmi+chl ) res4 # alternatively, 'partial' can also be defined as c('age','hyp') ############################################################################# # EXAMPLE 2: nhanes data | comparing different correlation coefficients ############################################################################# library(psych) library(mitools) # imputing data imp1 <- mice::mice( nhanes, method=rep("norm", 4 ) ) summary(imp1) #*** Pearson correlation res1 <- miceadds::micombine.cor(mi.res=imp1, variables=c(4,2) ) #*** Spearman rank correlation res2 <- miceadds::micombine.cor(mi.res=imp1, variables=c(4,2), method="spearman") #*** Kendalls tau # test of computation of tau for first imputed dataset dat1 <- mice::complete(imp1, action=1) tau1 <- psych::corr.test(x=dat1[,c(4,2)], method="kendall") tau1$r[1,2] # estimate tau1$se # standard error # results of Kendalls tau for all imputed datasets res3 <- with( data=imp1, expr=psych::corr.test( x=cbind( chl, bmi ), method="kendall") ) # extract estimates betas <- lapply( res3$analyses, FUN=function(ll){ ll$r[1,2] } ) # extract variances vars <- lapply( res3$analyses, FUN=function(ll){ (ll$se[1,2])^2 } ) # Rubin inference tau_comb <- mitools::MIcombine( results=betas, variances=vars ) summary(tau_comb) ############################################################################# # EXAMPLE 3: Inference for correlations for nested multiply imputed datasets ############################################################################# library(BIFIEsurvey) data(data.timss4, package="BIFIEsurvey" ) datlist <- data.timss4 # object of class nested.datlist datlist <- miceadds::nested.datlist_create(datlist) # inference for correlations res2 <- miceadds::micombine.cor(mi.res=datlist, variables=c("lang", "migrant", "ASMMAT")) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.