library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(knitr)
library(ggplot2)
library(stringdist)
##
## Attaching package: 'stringdist'
## The following object is masked from 'package:tidyr':
##
## extract
library(readxl)
library(readr)
merged1924 <- read.csv("~/Desktop/Congress Paper/merged1924.csv")
# let the first model have DV as the rally done in 2019 and IV as the MoU in 2014
merged1924$modionce2019 <- ifelse(!is.na(merged1924$modiforwho), 1, 0)
merged1924$rahulonce2019 <- ifelse(!is.na(merged1924$rahulforwho), 1, 0)
merged1924$bjp2014close <- ifelse(merged1924$BJPMoU2014 >= -5 & merged1924$BJPMoU2014 <= 5, 1, 0)
merged1924$inc2014close <- ifelse(merged1924$INCMoU2014 >= -5 & merged1924$INCMoU2014 <= 5, 1, 0)
merged1924$bjp2019close <- ifelse(merged1924$BJPMoU2019 >= -5 & merged1924$BJPMoU2019 <= 5, 1, 0)
merged1924$inc2019close <- ifelse(merged1924$INCMoU2019 >= -5 & merged1924$INCMoU2019 <= 5, 1, 0)
model1rahul <- glm(rahulonce2019 ~ INCMoU2014 + I(INCMoU2014^2) + Constituency_Type.y, data = merged1924)
summary(model1rahul)
##
## Call:
## glm(formula = rahulonce2019 ~ INCMoU2014 + I(INCMoU2014^2) +
## Constituency_Type.y, data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.570e-01 2.847e-02 9.028 <2e-16 ***
## INCMoU2014 3.694e-03 1.881e-03 1.964 0.0501 .
## I(INCMoU2014^2) -3.274e-06 4.244e-05 -0.077 0.9385
## Constituency_Type.ySC 9.178e-02 4.569e-02 2.009 0.0451 *
## Constituency_Type.yST -7.639e-02 5.988e-02 -1.276 0.2026
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1438208)
##
## Null deviance: 77.842 on 525 degrees of freedom
## Residual deviance: 74.931 on 521 degrees of freedom
## (17 observations deleted due to missingness)
## AIC: 479.69
##
## Number of Fisher Scoring iterations: 2
model1modi <- glm(modionce2019 ~ BJPMoU2014 + I(BJPMoU2014^2) + Constituency_Type.y, data = merged1924)
summary(model1modi)
##
## Call:
## glm(formula = modionce2019 ~ BJPMoU2014 + I(BJPMoU2014^2) + Constituency_Type.y,
## data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.901e-01 2.834e-02 10.235 <2e-16 ***
## BJPMoU2014 4.549e-04 8.777e-04 0.518 0.6045
## I(BJPMoU2014^2) -6.873e-05 3.373e-05 -2.038 0.0421 *
## Constituency_Type.ySC -3.028e-02 5.254e-02 -0.576 0.5646
## Constituency_Type.yST 2.573e-02 6.838e-02 0.376 0.7069
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.188389)
##
## Null deviance: 99.371 on 525 degrees of freedom
## Residual deviance: 98.151 on 521 degrees of freedom
## (17 observations deleted due to missingness)
## AIC: 621.68
##
## Number of Fisher Scoring iterations: 2
# Model 2 for 2019 rallies but this time have the close contest as binary
model2rahul <- glm(rahulonce2019 ~ inc2014close, data = merged1924)
model2modi <- glm(modionce2019 ~ bjp2014close, data = merged1924)
summary(model2rahul)
##
## Call:
## glm(formula = rahulonce2019 ~ inc2014close, data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.16776 0.01790 9.37 <2e-16 ***
## inc2014close 0.09311 0.04953 1.88 0.0606 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1471238)
##
## Null deviance: 77.907 on 527 degrees of freedom
## Residual deviance: 77.387 on 526 degrees of freedom
## (15 observations deleted due to missingness)
## AIC: 490.49
##
## Number of Fisher Scoring iterations: 2
summary(model2modi)
##
## Call:
## glm(formula = modionce2019 ~ bjp2014close, data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.23529 0.02020 11.647 <2e-16 ***
## bjp2014close 0.12702 0.05588 2.273 0.0234 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1873199)
##
## Null deviance: 99.498 on 527 degrees of freedom
## Residual deviance: 98.530 on 526 degrees of freedom
## (15 observations deleted due to missingness)
## AIC: 618.03
##
## Number of Fisher Scoring iterations: 2
# Model 3 for 2024 rallies with the quadratic term
model3rahul <- glm(Rahulonce24 ~ INCMoU2019 + I(INCMoU2019^2) + Constituency_Type.y, data = merged1924)
model3modi <- glm(modionce24 ~ BJPMoU2019 + I(BJPMoU2019^2) + Constituency_Type.y, data = merged1924)
summary(model3rahul)
##
## Call:
## glm(formula = Rahulonce24 ~ INCMoU2019 + I(INCMoU2019^2) + Constituency_Type.y,
## data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.631e-01 2.500e-02 6.524 1.69e-10 ***
## INCMoU2019 -9.795e-05 1.014e-03 -0.097 0.923
## I(INCMoU2019^2) -3.185e-05 2.517e-05 -1.266 0.206
## Constituency_Type.ySC -1.630e-02 4.222e-02 -0.386 0.700
## Constituency_Type.yST 5.081e-02 5.483e-02 0.927 0.354
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1170788)
##
## Null deviance: 58.789 on 501 degrees of freedom
## Residual deviance: 58.188 on 497 degrees of freedom
## (41 observations deleted due to missingness)
## AIC: 354.85
##
## Number of Fisher Scoring iterations: 2
summary(model3modi)
##
## Call:
## glm(formula = modionce24 ~ BJPMoU2019 + I(BJPMoU2019^2) + Constituency_Type.y,
## data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.374e-01 2.293e-02 5.993 3.86e-09 ***
## BJPMoU2019 4.305e-04 6.234e-04 0.690 0.490
## I(BJPMoU2019^2) -1.942e-05 2.116e-05 -0.918 0.359
## Constituency_Type.ySC 4.952e-03 4.160e-02 0.119 0.905
## Constituency_Type.yST 6.091e-02 5.300e-02 1.149 0.251
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1165599)
##
## Null deviance: 60.613 on 521 degrees of freedom
## Residual deviance: 60.261 on 517 degrees of freedom
## (21 observations deleted due to missingness)
## AIC: 366.39
##
## Number of Fisher Scoring iterations: 2
# Model 2 for 2024 rallies but this time have the close contest as binary
model4rahul <- glm(Rahulonce24 ~ inc2019close, data = merged1924)
model4modi <- glm(modionce24 ~ bjp2019close, data = merged1924)
summary(model4rahul)
##
## Call:
## glm(formula = Rahulonce24 ~ inc2019close, data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.13319 0.01599 8.328 7.9e-16 ***
## inc2019close 0.01899 0.05294 0.359 0.72
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.117152)
##
## Null deviance: 58.825 on 503 degrees of freedom
## Residual deviance: 58.810 on 502 degrees of freedom
## (39 observations deleted due to missingness)
## AIC: 353.57
##
## Number of Fisher Scoring iterations: 2
summary(model4modi)
##
## Call:
## glm(formula = modionce24 ~ bjp2019close, data = merged1924)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.132743 0.016032 8.280 1.04e-15 ***
## bjp2019close 0.006146 0.043251 0.142 0.887
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.1161811)
##
## Null deviance: 60.649 on 523 degrees of freedom
## Residual deviance: 60.647 on 522 degrees of freedom
## (19 observations deleted due to missingness)
## AIC: 363.08
##
## Number of Fisher Scoring iterations: 2