########################################################### # This file replicates Table 7 in Hong and Park (2015) # If you use these data, please cite this paper. # # Authors: Ji Yeon Hong and Sunkyoung Park # Last updated: 6/9/2014 # Software: R 3.0.2 ########################################################### # use "BJPS_Hong_Park_fraud_dataset.dta" library(foreign) library(Matching) fraud.data <- read.dta('BJPS_Hong_Park_fraud_dataset.dta') attach(fraud.data) ########################################################### ## Model 1 ## ########################################################### ## Calculate a propensity score glmapp_dum <- glm(app_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, family=binomial) rrapp_dum <- Match(Y = fraud, Tr=app_dum, X=glmapp_dum$fitted) m7 = Match(Y = fraud, Tr = app_dum, X = glmapp_dum$fitted) ## Matching MatchBalance(app_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, match.out =rrapp_dum, nboots = 1000) ## Genetic Matching X7 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) BalanceMatrix7 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) genapp_dum <- GenMatch(Tr = app_dum, X = X7, BalanceMatrix = BalanceMatrix7, pop.size = 1000, ties=FALSE) mgenapp_dum <- Match(Y = fraud, Tr = app_dum, X = X7, Weight.matrix = genapp_dum) summary(mgenapp_dum) ########################################################### ## Model 2 ## ########################################################### ## Calculate a propensity score glmbeg_dum <- glm(beg_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, family=binomial) rrbeg_dum <- Match(Y = fraud, Tr=beg_dum, X=glmbeg_dum$fitted) m8 = Match(Y = fraud, Tr = beg_dum, X = glmbeg_dum$fitted) ## Matching MatchBalance(beg_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, match.out =rrbeg_dum, nboots = 1000) ## Genetic Matching X8 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) BalanceMatrix8 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) genbeg_dum <- GenMatch(Tr = beg_dum, X = X8, BalanceMatrix = BalanceMatrix8, pop.size = 1000, ties=FALSE) mgenbeg_dum <- Match(Y = fraud, Tr = beg_dum, X = X8, Weight.matrix = genbeg_dum) summary(mgenbeg_dum) ########################################################### ## Model 3 ## ########################################################### ## Calculate a propensity score glmcom_dum <- glm(com_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, family=binomial) rrcom_dum <- Match(Y = fraud, Tr=com_dum, X=glmcom_dum$fitted) m9 = Match(Y = fraud, Tr = com_dum, X = glmcom_dum$fitted) ## Matching MatchBalance(com_dum ~ eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988, match.out =rrcom_dum, nboots = 1000) ## Genetic Matching X9 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) BalanceMatrix9 <- cbind(eligible + rural + urban+ turnout + gn + y1973 + y1978 + y1981 + y1985 + y1988) gencom_dum <- GenMatch(Tr = com_dum, X = X9, BalanceMatrix = BalanceMatrix9, pop.size = 1000, ties=FALSE) mgencom_dum <- Match(Y = fraud, Tr = com_dum, X = X9, Weight.matrix = gencom_dum) summary(mgencom_dum)