aI need to calculate a very simple regression model outcome ~ predictor, where outcome is continuous and predictor is binary. To treat missings, I have to use FIML (full information maximum likelihood) and also I need bootstrapping. So at first, lavaan seemed to be a good choice:
model <- sem('outcome ~ predictor', data = data, missing = "FIML", se="BOOTSTRAP", bootstrap = 2000, fixed.x = F)
summary(model)
Unfortunately, I need BCa for calculating confidence intervals but lavaan hasn't built this in. As a not very savvy R user, I didn't manage to use boot package to bring BCa to a lavaan model. Is there a better/easier solution than lavaan to get FIML and BCa bootstrapping? If not, I would be happy if someone knows how it can be done with lavaan.
Here's some sample data and the lavaan model without BCa:
library(MASS)
library(lavaan)
# Generate some correlated data
mean <- c(0, 0)
std_dev <- c(1, 1)
correlation <- 0.15
cov_matrix <- matrix(c(std_dev[1]^2, std_dev[1]*std_dev[2]*correlation, std_dev[1]*std_dev[2]*correlation, std_dev[2]^2), nrow = 2)
set.seed(12345)
data <- mvrnorm(n = 100, mu = mean, Sigma = cov_matrix)
data <- as.data.frame(data)
names(data) <- c("outcome", "predictor")
# Convert predictor to binary variable
predictor_median <- median(data$predictor, na.rm = TRUE)
data$predictor <- ifelse(data$predictor < predictor_median, 0, 1)
# Sprinkle in some missings
missing_percentage <- 0.09
num_missing <- round(nrow(data) * missing_percentage)
set.seed(123) # For reproducibility
missing_indices_outcome <- sample(1:nrow(data), num_missing)
missing_indices_predictor <- sample(1:nrow(data), num_missing)
data$outcome[missing_indices_outcome] <- NA
data$predictor[missing_indices_predictor] <- NA
summary(data)
# Regression model
model <- sem('outcome ~ predictor', data = data, missing = "FIML", se="BOOTSTRAP", bootstrap = 2000, fixed.x = F)
summary(model)