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