# Test for MMI using the second-order Rao-Scott adjustment
test.mmi.rs2 <- MI.test(data = farmer1, I = 1, J = 5, type = "rs2")
test.mmi.rs2
# Test for MMI using all three approaches
# A small B is used for demonstration purposes; normally, a larger B should be used
## Not run:
# test.mmi.all <- MI.test(data = farmer1, I = 1, J = 5, type = "all", B = 99,
# plot.hist = TRUE)
# test.mmi.all## End(Not run)
# Use MI.test() with summary data
# Convert raw data file to summary file for this example
farmer1.irdframe <- item.response.table(data = farmer1, I = 1, J = 5, create.dataframe =
TRUE)
# Test for MMI using the Bonferroni adjustment
test.mmi.bon <- MI.test(data = farmer1.irdframe, I = 1, J = 5, type = "bon",
summary.data = TRUE)
test.mmi.bon
# Test for SPMI using the second-order Rao-Scott adjustment
test.spmi.rs2 <- MI.test(data = farmer2, I = 3, J = 4, type = "rs2")
test.spmi.rs2
# Test for MMI using the marginal logit model approach
## Not run:
# library(geepack)
# n<-nrow(farmer1)
# farmer1.id<-cbind(case=1:n, farmer1)
# # Reshape raw data into long format as required by geeglm() function
# # Assumes 3:ncol(farmer1.id) corresponds to MRCV items
# farmer1.gee<-reshape(data = farmer1.id,
# varying = names(farmer1.id)[3:ncol(farmer1.id)],
# v.names = "response", timevar = "item", idvar = "case",
# direction = "long")
# row.names(farmer1.gee)<-NULL
# farmer1.gee[,2:3]<-lapply(farmer1.gee[,2:3], factor)
# # Data frame must be ordered by case
# farmer1.gee<-farmer1.gee[order(farmer1.gee$case),]
# head(farmer1.gee)
# tail(farmer1.gee)
# mod.fit.H0<-geeglm(formula = response ~ item, family = binomial(link = logit),
# data = farmer1.gee, na.action = na.omit, id = case,
# corstr = "unstructured")
# mod.fit.HA<-geeglm(formula = response ~ Ed*item, family = binomial(link = logit),
# data = farmer1.gee, na.action = na.omit, id = case,
# corstr = "unstructured")
# # Compute Wald test
# anova(mod.fit.HA, mod.fit.H0)## End(Not run)
Run the code above in your browser using DataLab