rm(list=ls())
library(stargazer)
library(data.table)
library(ggplot2)
library(lfe)

1 Reading data

sfha <- fread("sfha_sample.csv")

2 Descriptive Stats Non-SFHA

t <- sfha[year==2016, c("policies_fraction","policies_fraction_pop","climatechangereal","worriedaboutclimatechange","climatechangeimpactpersonal","hr_cost","median_hh_income","house_price","total_population","no_of_homes","median_house_age","median_age","white_frac","college_frac","owner_frac","contentscovered","maxdeductible5000","disaster_1")]
stargazer(t, type = "text", summary.stat = c("mean", "sd","p25","median","p75","n"),notes = "",digits = 4)
## 
## ===================================================================================================
## Statistic                       Mean       St. Dev.     Pctl(25)      Median      Pctl(75)     N   
## ---------------------------------------------------------------------------------------------------
## policies_fraction              0.0969       0.1500       0.0174       0.0350       0.0999    18,642
## policies_fraction_pop          0.0525       0.1751       0.0076       0.0155       0.0447    18,642
## climatechangereal              0.6936       0.0598       0.6485       0.6968       0.7363    18,642
## worriedaboutclimatechange      0.5691       0.0686       0.5176       0.5617       0.6212    18,642
## climatechangeimpactpersonal    0.3922       0.0529       0.3497       0.3817       0.4270    18,642
## hr_cost                       867.3781     592.3778     384.3348     885.6000    1,240.0000  18,642
## median_hh_income            69,870.0600  29,901.2100    50,091.5      63,064      82,430.5   18,642
## house_price                 243,952.9000 343,146.2000 116,342.9000 164,115.1000 256,340.6000 15,007
## total_population             4,767.8330   2,386.1510    3,208.2       4,442        5,919     18,642
## no_of_homes                  2,118.1280    983.2881     1,479.2       1,985       2,584.8    18,642
## median_house_age              48.4091      119.1528        30           40           51      18,642
## median_age                    40.9458       8.0128      35.5000      40.7000      45.4000    18,642
## white_frac                     0.7814       0.2215       0.6994       0.8611       0.9424    18,642
## college_frac                   0.2032       0.0547       0.1676       0.2045       0.2393    18,642
## owner_frac                     0.6660       0.1924       0.5515       0.7080       0.8135    18,642
## contentscovered                0.3811       0.2352       0.1860       0.3445       0.5551    18,642
## maxdeductible5000              0.3370       0.2037       0.1749       0.3077       0.4737    18,642
## disaster_1                     0.1582       0.3649         0            0            0       18,642
## ---------------------------------------------------------------------------------------------------
## 

3 OLS: SFHA

regs <- list()

regs[[1]] <- felm(log(1+contentscovered*100)~
                    worriedaboutclimatechange+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[2]] <- felm(log(1+contentscovered*100)~
                    climatechangereal+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[3]] <- felm(log(1+contentscovered*100)~
                    climatechangeimpactpersonal+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 


regs[[4]] <- felm(log(1+maxdeductible5000*100)~
                    worriedaboutclimatechange+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[5]] <- felm(log(1+maxdeductible5000*100)~
                    climatechangereal+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[6]] <- felm(log(1+maxdeductible5000*100)~
                    climatechangeimpactpersonal+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 




stargazer(regs,type="text",no.space = T,align = T,
          omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", 
          dep.var.labels.include = F,
          add.lines = list(c("Tract", rep("Y",6)),c("State*Year", rep("Y",6))))
## 
## =======================================================================================
##                                (1)       (2)       (3)       (4)       (5)       (6)   
## ---------------------------------------------------------------------------------------
## worriedaboutclimatechange   0.335***                      -0.375***                    
##                              (0.092)                       (0.109)                     
## climatechangereal                     0.644***                      -1.007***          
##                                        (0.095)                       (0.117)           
## climatechangeimpactpersonal                      0.229*                        -0.242  
##                                                  (0.138)                       (0.169) 
## log(median_hh_income)        -0.019    -0.019    -0.019    0.032**   0.032**   0.032** 
##                              (0.014)   (0.014)   (0.014)   (0.016)   (0.016)   (0.016) 
## log(median_age)              -0.019    -0.018    -0.020     0.043     0.042     0.044  
##                              (0.032)   (0.032)   (0.032)   (0.039)   (0.039)   (0.039) 
## log(white_frac)              -0.0001    0.001    -0.001     0.028     0.026     0.029  
##                              (0.017)   (0.017)   (0.017)   (0.021)   (0.021)   (0.021) 
## log(college_frac)            -0.001    0.0001    -0.002     0.015     0.012     0.016  
##                              (0.013)   (0.013)   (0.013)   (0.016)   (0.016)   (0.016) 
## log(total_population)        -0.053*   -0.053*   -0.053*   -0.017    -0.017    -0.017  
##                              (0.030)   (0.030)   (0.030)   (0.038)   (0.038)   (0.038) 
## log(no_of_homes)             0.101**   0.103**   0.103**    0.008     0.005     0.006  
##                              (0.044)   (0.044)   (0.044)   (0.054)   (0.054)   (0.054) 
## log(owner_frac)               0.005     0.006     0.004    -0.024    -0.025    -0.023  
##                              (0.025)   (0.025)   (0.025)   (0.026)   (0.026)   (0.026) 
## log(hr_cost)                -0.140*** -0.139*** -0.140*** 0.078***  0.076***  0.078*** 
##                              (0.011)   (0.011)   (0.011)   (0.015)   (0.015)   (0.015) 
## log(median_house_age)        -0.004    -0.004    -0.004    0.009**   0.010**   0.009** 
##                              (0.004)   (0.004)   (0.004)   (0.005)   (0.005)   (0.005) 
## log(house_price)            -0.084*** -0.085*** -0.084*** 0.169***  0.172***  0.169*** 
##                              (0.016)   (0.016)   (0.016)   (0.022)   (0.022)   (0.022) 
## disaster_1                   0.005*    0.005*    0.005**  -0.009*** -0.009*** -0.010***
##                              (0.003)   (0.003)   (0.003)   (0.003)   (0.003)   (0.003) 
## log(flood_connectedness)    0.019***  0.019***  0.019***   -0.007*  -0.008**   -0.007* 
##                              (0.004)   (0.004)   (0.004)   (0.004)   (0.004)   (0.004) 
## Tract                           Y         Y         Y         Y         Y         Y    
## State*Year                      Y         Y         Y         Y         Y         Y    
## N                            107,139   107,139   107,139   107,139   107,139   107,139 
## Adjusted R2                   0.880     0.880     0.880     0.854     0.854     0.854  
## =======================================================================================

4 OLS: SFHA Disaster interaction

regs <- list()

regs[[1]] <- felm(log(1+contentscovered*100)~
                    worriedaboutclimatechange*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[2]] <- felm(log(1+contentscovered*100)~
                    climatechangereal*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[3]] <- felm(log(1+contentscovered*100)~
                    climatechangeimpactpersonal*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 


regs[[4]] <- felm(log(1+maxdeductible5000*100)~
                    worriedaboutclimatechange*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[5]] <- felm(log(1+maxdeductible5000*100)~
                    climatechangereal*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[6]] <- felm(log(1+maxdeductible5000*100)~
                    climatechangeimpactpersonal*disaster_1+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 




stargazer(regs,type="text",no.space = T,align = T,
          omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", 
          dep.var.labels.include = F,
          add.lines = list(c("Tract", rep("Y",6)),c("State*Year", rep("Y",6))))
## 
## =================================================================================================
##                                           (1)       (2)       (3)       (4)       (5)      (6)   
## -------------------------------------------------------------------------------------------------
## worriedaboutclimatechange              0.335***                      -0.381***                   
##                                         (0.092)                       (0.109)                    
## climatechangereal                                0.639***                      -1.008***         
##                                                   (0.095)                       (0.116)          
## climatechangeimpactpersonal                                  0.224                        -0.245 
##                                                             (0.138)                      (0.168) 
## disaster_1                               0.004    -0.017    -0.006    -0.030    -0.013    -0.016 
##                                         (0.021)   (0.027)   (0.018)   (0.023)   (0.030)  (0.021) 
## log(median_hh_income)                   -0.019    -0.019    -0.019    0.032**   0.032**  0.032** 
##                                         (0.014)   (0.014)   (0.014)   (0.016)   (0.016)  (0.016) 
## log(median_age)                         -0.019    -0.018    -0.020     0.043     0.042    0.044  
##                                         (0.032)   (0.032)   (0.032)   (0.039)   (0.039)  (0.039) 
## log(white_frac)                         -0.0001    0.001    -0.001     0.028     0.026    0.029  
##                                         (0.017)   (0.017)   (0.017)   (0.021)   (0.021)  (0.021) 
## log(college_frac)                       -0.001    0.0002    -0.002     0.015     0.012    0.016  
##                                         (0.013)   (0.013)   (0.013)   (0.016)   (0.016)  (0.016) 
## log(total_population)                   -0.053*   -0.053*   -0.053*   -0.017    -0.017    -0.017 
##                                         (0.030)   (0.030)   (0.030)   (0.038)   (0.038)  (0.038) 
## log(no_of_homes)                        0.101**   0.103**   0.103**    0.008     0.005    0.006  
##                                         (0.044)   (0.044)   (0.044)   (0.054)   (0.054)  (0.054) 
## log(owner_frac)                          0.005     0.006     0.004    -0.024    -0.025    -0.023 
##                                         (0.025)   (0.025)   (0.025)   (0.026)   (0.026)  (0.026) 
## log(hr_cost)                           -0.140*** -0.139*** -0.140*** 0.078***  0.076***  0.078***
##                                         (0.011)   (0.011)   (0.011)   (0.015)   (0.015)  (0.015) 
## log(median_house_age)                   -0.004    -0.004    -0.004    0.009**   0.010**  0.009** 
##                                         (0.004)   (0.004)   (0.004)   (0.005)   (0.005)  (0.005) 
## log(house_price)                       -0.084*** -0.085*** -0.084*** 0.169***  0.172***  0.169***
##                                         (0.016)   (0.016)   (0.016)   (0.022)   (0.022)  (0.022) 
## log(flood_connectedness)               0.019***  0.019***  0.019***   -0.007*  -0.008**  -0.007* 
##                                         (0.004)   (0.004)   (0.004)   (0.004)   (0.004)  (0.004) 
## worriedaboutclimatechange:disaster_1     0.002                         0.036                     
##                                         (0.037)                       (0.040)                    
## climatechangereal:disaster_1                       0.032                         0.006           
##                                                   (0.040)                       (0.045)          
## climatechangeimpactpersonal:disaster_1                       0.030                        0.017  
##                                                             (0.047)                      (0.054) 
## Tract                                      Y         Y         Y         Y         Y        Y    
## State*Year                                 Y         Y         Y         Y         Y        Y    
## N                                       107,139   107,139   107,139   107,139   107,139  107,139 
## Adjusted R2                              0.880     0.880     0.880     0.854     0.854    0.854  
## =================================================================================================

5 First Stage: SFHA

regs <- list()

regs[[1]] <- felm(worriedaboutclimatechange~
                    rep_gain*post+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[2]] <- felm(climatechangereal~
                    rep_gain*post+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

regs[[3]] <- felm(climatechangeimpactpersonal~
                    rep_gain*post+log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+disaster_1+log(flood_connectedness)
                  |censustract+state_yr|0|censustract,
                  data=sfha) 

stargazer(regs,type="text",no.space = T,align = T,
          omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", 
          dep.var.labels.include = F,
          add.lines = list(c("Tract", rep("Y",6)),c("State*Year", rep("Y",6))))
## 
## ======================================================
##                             (1)       (2)       (3)   
## ------------------------------------------------------
## rep_gain                                              
##                           (0.000)   (0.000)   (0.000) 
## post                                                  
##                           (0.000)   (0.000)   (0.000) 
## log(median_hh_income)     -0.001*   -0.001   -0.002***
##                           (0.001)   (0.001)   (0.001) 
## log(median_age)           -0.002    -0.003*    0.001  
##                           (0.002)   (0.002)   (0.001) 
## log(white_frac)          -0.004*** -0.004*** -0.002** 
##                           (0.001)   (0.001)   (0.001) 
## log(college_frac)        -0.003*** -0.003***  -0.001* 
##                           (0.001)   (0.001)   (0.001) 
## log(total_population)    -0.004**   -0.004*   -0.002  
##                           (0.002)   (0.002)   (0.001) 
## log(no_of_homes)           0.001    -0.003   -0.007***
##                           (0.003)   (0.003)   (0.002) 
## log(owner_frac)          -0.005*** -0.003*** -0.004***
##                           (0.001)   (0.001)   (0.001) 
## log(hr_cost)              -0.0004  -0.002*** -0.001***
##                          (0.0004)  (0.0004)  (0.0003) 
## log(median_house_age)     0.0002    0.0002    0.0002* 
##                          (0.0001)  (0.0002)  (0.0001) 
## log(house_price)           0.001    0.0004   0.005*** 
##                           (0.001)   (0.001)   (0.001) 
## disaster_1               0.001***  0.001***  0.001*** 
##                          (0.0001)  (0.0001)  (0.0001) 
## log(flood_connectedness) -0.001*** -0.001*** 0.0003** 
##                          (0.0002)  (0.0002)  (0.0001) 
## rep_gain:post            -0.075*** -0.069*** -0.055***
##                           (0.002)   (0.001)   (0.001) 
## Tract                        Y         Y         Y    
## State*Year                   Y         Y         Y    
## N                         106,925   106,925   106,925 
## Adjusted R2                0.957     0.956     0.972  
## ======================================================

6 Second Stage: SFHA

regs <- list()

regs[[1]] <- felm(log(1+contentscovered*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+state_yr|(worriedaboutclimatechange~rep_gain*post)|censustract,
                  data=sfha) 

regs[[2]] <- felm(log(1+contentscovered*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+state_yr|(climatechangereal~rep_gain*post)|censustract,
                  data=sfha) 

regs[[3]] <- felm(log(1+contentscovered*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+state_yr|(climatechangeimpactpersonal~rep_gain*post)|censustract,
                  data=sfha) 


regs[[4]] <- felm(log(1+maxdeductible5000*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+state_yr|(worriedaboutclimatechange~rep_gain*post)|censustract,
                  data=sfha) 

regs[[5]] <- felm(log(1+maxdeductible5000*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+state_yr|(climatechangereal~rep_gain*post)|censustract,
                  data=sfha) 

regs[[6]] <- felm(log(1+maxdeductible5000*100)~
                    log(median_hh_income)+log(median_age)+log(white_frac)+log(college_frac)+log(total_population)+log(no_of_homes)+log(owner_frac)+log(hr_cost)+log(median_house_age)+log(house_price)+prev_disaster+log(flood_connectedness)
                  |censustract+year|(climatechangeimpactpersonal~rep_gain*post)|censustract,
                  data=sfha) 




stargazer(regs,type="text",no.space = T,align = T,
          omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", 
          dep.var.labels.include = F,
          add.lines = list(c("Tract", rep("Y",6)),c("State*Year", rep("Y",6))))
## 
## ==============================================================================================
##                                       (1)       (2)       (3)       (4)       (5)       (6)   
## ----------------------------------------------------------------------------------------------
## log(median_hh_income)               -0.019    -0.020    -0.018    0.033**   0.033**    0.018  
##                                     (0.014)   (0.014)   (0.014)   (0.016)   (0.016)   (0.017) 
## log(median_age)                     -0.019    -0.016    -0.027     0.044     0.041    0.090** 
##                                     (0.032)   (0.032)   (0.032)   (0.039)   (0.039)   (0.040) 
## log(white_frac)                      0.006     0.006     0.004     0.023     0.024    0.039*  
##                                     (0.017)   (0.017)   (0.017)   (0.021)   (0.021)   (0.022) 
## log(college_frac)                    0.007     0.006     0.003     0.008     0.008     0.024  
##                                     (0.014)   (0.014)   (0.014)   (0.016)   (0.016)   (0.016) 
## log(total_population)               -0.054*   -0.055*   -0.057*   -0.017    -0.016    0.088** 
##                                     (0.030)   (0.030)   (0.030)   (0.038)   (0.038)   (0.038) 
## log(no_of_homes)                    0.094**   0.103**  0.115***    0.015     0.006    -0.030  
##                                     (0.044)   (0.044)   (0.045)   (0.054)   (0.054)   (0.055) 
## log(owner_frac)                      0.013     0.011     0.014    -0.031    -0.029   -0.064** 
##                                     (0.025)   (0.025)   (0.025)   (0.026)   (0.026)   (0.027) 
## log(hr_cost)                       -0.139*** -0.136*** -0.137*** 0.077***  0.075***  0.075*** 
##                                     (0.011)   (0.011)   (0.011)   (0.015)   (0.015)   (0.016) 
## log(median_house_age)               -0.005    -0.005    -0.005    0.010**   0.010**    0.006  
##                                     (0.004)   (0.004)   (0.004)   (0.005)   (0.005)   (0.005) 
## log(house_price)                   -0.100*** -0.099*** -0.112*** 0.177***  0.176***  0.197*** 
##                                     (0.016)   (0.016)   (0.017)   (0.022)   (0.022)   (0.023) 
## prev_disaster                      0.008***   0.007**  0.011***   -0.005    -0.004    0.009** 
##                                     (0.003)   (0.003)   (0.003)   (0.004)   (0.004)   (0.004) 
## log(flood_connectedness)           0.020***  0.020***  0.018***  -0.008**  -0.008**    0.002  
##                                     (0.004)   (0.004)   (0.004)   (0.004)   (0.004)   (0.003) 
## `worriedaboutclimatechange(fit)`   1.867***                      -1.732***                    
##                                     (0.435)                       (0.396)                     
## `climatechangereal(fit)`                     2.017***                      -1.870***          
##                                               (0.469)                       (0.427)           
## `climatechangeimpactpersonal(fit)`                     2.530***                      -2.347***
##                                                         (0.590)                       (0.536) 
## Tract                                  Y         Y         Y         Y         Y         Y    
## State*Year                             Y         Y         Y         Y         Y         Y    
## N                                   106,925   106,925   106,925   106,925   106,925   106,925 
## Adjusted R2                          0.879     0.879     0.879     0.854     0.854     0.850  
## ==============================================================================================