Nothing
## ----data1, eval=FALSE--------------------------------------------------------
# library(matchMulti)
#
# data(catholic_schools)
#
# catholic_schools$sectorf <- factor(catholic_schools$sector,
# label=c("Public", "Catholic"))
#
# #Number of Treated Schools
# length(table(catholic_schools$school[
# catholic_schools$sector==1]))
#
# #Number of Controls Schools
# length(table(catholic_schools$school[
# catholic_schools$sector==0]))
#
## ----plot, eval=FALSE---------------------------------------------------------
# # Create Discrete Measures from Continuous Covariates
# library(ggplot2)
#
# # A Boxplot for the size of the school
# ggplot(catholic_schools, aes(x=sectorf, y=size,
# fill=sectorf)) +
# geom_boxplot() + guides(fill="none") +
# xlab("") + ylab("School Enrollment")
## ----plot2, eval=FALSE--------------------------------------------------------
# ggplot(catholic_schools, aes(x=sectorf, y=female_mean,
# fill=sectorf)) +
# geom_boxplot() + guides(fill="none") +
# xlab("") + ylab("Percentage of Female Students")
## ----trim, eval=FALSE---------------------------------------------------------
# library(dplyr)
# summary(catholic_schools$female_mean)
# summary(catholic_schools$female_mean[
# catholic_schools$sector==1])
# summary(catholic_schools$female_mean[
# catholic_schools$sector==0])
# catholic_schools <- catholic_schools %>%
# filter(female_mean>.30, female_mean<.75)
# summary(catholic_schools$female_mean)
## ----bal, eval=FALSE----------------------------------------------------------
# student.cov <- c('minority','female','ses')
# school.cov <- c('minority_mean', 'female_mean', 'size',
# 'acad', 'discrm', 'ses_mean')
# all.cov <- c('minority','female','ses','minority_mean',
# 'female_mean', 'size', 'acad',
# 'discrm', 'ses_mean')
#
# #look at balance on students before matching
# balanceTable(catholic_schools[c(all.cov,'sector')],
# treatment = 'sector')
## ----no_stu, eval=FALSE-------------------------------------------------------
# match.simple <- matchMulti(catholic_schools,
# treatment = 'sector',
# school.id = 'school',
# match.students = FALSE,
# student.vars = student.cov,
# verbose=TRUE)
#
# # Check Balance
# bal.tab <- balanceMulti(match.simple,
# student.cov = student.cov,
# school.cov = school.cov)
#
# out <- cbind(bal.tab$schools[,3], bal.tab$schools[,6])
# colnames(out) <- c("S.Diff Before", "S.Diff After")
# round(out, 3)
## ----no_stu2, eval=FALSE------------------------------------------------------
# match.out <- matchMulti(catholic_schools,
# treatment = 'sector',
# school.id = 'school',
# match.students = TRUE,
# student.vars = student.cov)
# # Check Balance
# bal.tab.stu <- balanceMulti(match.out,
# student.cov = student.cov,
# school.cov = school.cov)
## ----cut, eval=FALSE----------------------------------------------------------
# # Create Discrete Measures from Continuous Covariates
# catholic_schools$acad_cut <- cut(catholic_schools$acad, 6)
# catholic_schools$size_cut <- cut(catholic_schools$size, 6)
# catholic_schools$discrm_cut <- cut(catholic_schools$discrm, 6)
# catholic_schools$ses_cut <- cut(catholic_schools$ses_mean, 6)
## ----fine.bal, eval=FALSE-----------------------------------------------------
# # Match with Fine Balance
# match.fb <- matchMulti(catholic_schools,
# treatment = 'sector',
# school.id = 'school',
# match.students = TRUE,
# verbose=TRUE,
# student.vars = student.cov,
# school.fb = list(c('size_cut',
# 'acad_cut',
# 'discrm_cut',
# 'ses_cut')))
# # Balance Check
# bal.tab.fb <- balanceMulti(match.fb,
# student.cov = student.cov,
# school.cov)
## ----match.fb2, eval=FALSE----------------------------------------------------
# match.fb2 <- rematchSchools(match.fb,
# catholic_schools,
# school.fb = list(c('acad_cut',
# 'discrm_cut'),
# c('size_cut',
# 'acad_cut',
# 'discrm_cut',
# 'ses_cut')))
#
#
# bal.tab3 <- balanceMulti(match.fb2,
# student.cov = student.cov,
# school.cov)
## ----opt_subset, eval=FALSE---------------------------------------------------
# # Trim Schools
# # How many treated schools are left after
# # dropping single-gender schools?
# length(table(catholic_schools$school[
# catholic_schools$sector==1]))
#
# match.fb4 <- rematchSchools(match.fb,
# catholic_schools,
# school.fb = list(c('acad_cut',
# 'discrm_cut'),
# c('size_cut',
# 'acad_cut',
# 'discrm_cut',
# 'ses_cut')),
# keep.target = 10,
# tol = 0.1)
#
# bal.tab4 <- balanceMulti(match.fb4,
# student.cov = student.cov,
# school.cov = c(school.cov))
#
## ----hlm, eval=FALSE----------------------------------------------------------
# #Use an HLM for Outcome Analysis
# match.data <- as.data.frame(match.fb4$matched)
# head(match.data)
# library(nlme)
# out <- lme(mathach ~ sector, random = ~ 1 |
# pair.id/school, data=match.data)
# summary(out)
#
## ----randinf, eval=FALSE------------------------------------------------------
# output.fb <- matchMultioutcome(match.fb4, out.name = "mathach",
# schl_id_name = "school",
# treat.name = "sector")
## ----sens1, eval=FALSE--------------------------------------------------------
# #Compare to Less Balanced Match
# matchMultisens(match.fb4, out.name = "mathach",
# schl_id_name = "school",
# treat.name = "sector")
## ----sens2, eval=FALSE--------------------------------------------------------
# matchMultisens(match.fb, out.name = "mathach",
# schl_id_name = "school",
# treat.name = "sector")
#
## ----sens3, eval=FALSE--------------------------------------------------------
# matchMultisens(match.fb, out.name = "mathach",
# schl_id_name = "school",
# treat.name = "sector", Gamma=2.17)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.