flexMItest | R Documentation |
A plug-in conditional independence test for pcalg::skeleton
, pcalg::pc
or
pcalg::fci
when multiply imputed data sets are available. flexMItest
detects whether
variables are continuous, discrete or mixed, and automatically switches between gaussMItest
(continuous only),
link{disMItest}
(discrete only) and mixMItest
(mixed).
flexMItest(x, y, S = NULL, suffStat)
x, y, S |
(integer) position of variable X, Y and set of variables S, respectively, in the dataset. It is tested whether X and Y are conditionally independent given the subset S of the remaining variables. |
suffStat |
a list generated using |
suffStat
needs to be a list with four elements named datlist
, corlist
,
conpos
and dispos
. datlist
is the list of imputed datasets. corlist
is a list with M+1 elements, where M is the number of imputed datasets. For i=1,...,M, the
the i-th element of corlist
is the correlation matrix of the continuous variables in the i-th imputed dataset;
the (M+1)-the element is the number of rows in each imputed dataset.
conpos
is a vector containing the integer positions of the continuous variables in the original dataset.
dispos
is a vector containing the integer positions of the discrete variables in the original dataset.
A p-value.
gaussMItest
, disMItest
and mixMItest
## load data (numeric and factor variables) library(ranger) dat <- toenail2[1:400, ] ## delete some observations set.seed(123) dat[sample(400, 20), 2] <- NA dat[sample(400, 30), 4] <- NA ## impute missing values using random forests imp <- mice::mice(dat, method = "rf", m = 3, printFlag = FALSE) ## obtain correct input 'suffStat' for 'flexMItest' suff <- getSuff(imp, test="flexMItest") ## analyse data # continuous variables only flexMItest(4,5,NULL, suffStat = suff) implist <- complete(imp, action="all") gaussSuff <- c(lapply(implist, function(i){cor(i[ ,c(4,5)])}), n = 400) gaussMItest(1,2,NULL, suffStat = gaussSuff) flexCItwd(4, 5, NULL, dat) # discrete variables only flexMItest(2,3,NULL, suffStat = suff) disMItest(2,3,NULL, suffStat = complete(imp, action="all")) flexCItwd(2,3,NULL, dat) # mixed variables flexMItest(2,3,4, suffStat = suff) mixMItest(2,3,4, suffStat = complete(imp, action="all")) flexCItwd(2,3,4, dat)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.