getSuff | R Documentation |
A convenience function for transforming a multiply imputed data set into the 'suffStat' required
by pcalg::gaussCItest()
, pcalg::disCItest()
, mixCItest()
, flexCItest()
, gaussMItest()
,
disMItest()
, mixMItest()
and flexMItest()
.
getSuff( X, test = c("gaussCItest", "gaussMItest", "disCItest", "disMItest", "disCItwd", "mixCItest", "mixMItest", "flexMItest", "flexCItest"), adaptDF = NULL, nlev = NULL )
X |
For 'test=xxxCItest': a data.frame or matrix;
for 'test=xxxMItest': an object of class |
test |
one of |
adaptDF |
for discrete variables: logical specifying if the degrees of freedom should be lowered by one for each zero count. The value for the degrees of freedom cannot go below 1. |
nlev |
(Optional) for discrete variables: vector with numbers of levels for each variable in the data. |
An R object that can be used as input to the specified conditional independence test:
# Example 1: continuous variables, no missing values ===================== data(windspeed) dat1 <- as.matrix(windspeed) ## analyse data gaussCItest(1, 2, NULL, suffStat = getSuff(windspeed, test = "gaussCItest")) mixCItest(1, 2, NULL, suffStat = windspeed) ## Example 2: continuous variables, multiple imputation =================== dat2 <- mice::ampute(windspeed)$amp ## delete some observations set.seed(123) ## Impute missing values under normal model imp2 <- mice(dat2, method = "norm", printFlag = FALSE) ## analyse imputed data gaussMItest(1, 2, c(4,5), suffStat = getSuff(imp2, test="gaussMItest")) mixMItest(1, 2, c(4,5), suffStat = getSuff(imp2, test="mixMItest")) mixMItest(1, 2, c(4,5), suffStat = mice::complete(imp2, action="all")) flexMItest(1, 2, c(4,5), suffStat = getSuff(imp2, test="flexMItest")) ## Example 3: discrete variables, multiple imputation ===================== ## simulate factor variables n <- 200 set.seed(789) x <- factor(sample(0:2, n, TRUE)) # factor, 3 levels y <- factor(sample(0:3, n, TRUE)) # factor, 4 levels z <- factor(sample(0:1, n, TRUE)) # factor, 2 levels dat3 <- data.frame(x,y,z) ## delete some observations of z dat3[sample(1:n, 40), 3] <- NA ## impute missing values under saturated model form <- make.formulas.saturated(dat3) imp3 <- mice::mice(dat3, method = "logreg", formulas = form, printFlag = FALSE) ## analyse imputed data disMItest(1, 3, 2, suffStat = getSuff(imp3, test="disMItest")) disMItest(1, 3, 2, suffStat = mice::complete(imp3, action = "all")) mixMItest(1, 3, 2, suffStat = getSuff(imp3, test="mixMItest")) mixMItest(1, 3, 2, suffStat = mice::complete(imp3, action = "all")) flexMItest(1, 3, 2, suffStat = getSuff(imp3, test="flexMItest")) # Example 4: mixed variables, multiple imputation ========================= dat4 <- toenail2[1:400, ] set.seed(123) dat4[sample(400, 20), 2] <- NA dat4[sample(400, 30), 4] <- NA ## impute missing values using random forests imp4 <- mice(dat4, method="rf", m = 3, printFlag = FALSE) mixMItest(2, 3, 5, suffStat = getSuff(imp4, test="mixMItest")) mixMItest(2, 3, 5, suffStat = mice::complete(imp4, action="all")) flexMItest(2, 3, 5, suffStat = getSuff(imp4, test="flexMItest"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.