### EU-SILC  Graphs and Analysis for JESP Paper 30/03/20

library(tidyverse)

setwd("~/OneDrive - Nexus365/WEALTHPOL_RESEARCH/Data/Crossnational/EU_SILC/Cross")

silc_averages <- read_csv("silc_averages.csv")
silc_averages_20 <- read_csv("silc_averages_20.csv")
silc_averages_50 <- read_csv("silc_averages_50.csv")


silc_averages_r <- read_csv("silc_averages_r.csv")
silc_averages_r_20 <- read_csv("silc_averages_r_20.csv")
silc_averages_r_50 <- read_csv("silc_averages_r_50.csv")

silc_averages_co <- read_csv("silc_averages_co.csv")
silc_averages_c_20 <- read_csv("silc_averages_c_20.csv")
silc_averages_c_50 <- read_csv("silc_averages_c_50.csv")

silc_averages_r_50<-silc_averages_r_50 %>% 
  mutate(renters_aff = 12*hcost_renters_av/gross_inc_renters,
         owners_aff = 12*hcost_owners_av/gross_inc_owners)

silc_averages_c_50<-silc_averages_c_50 %>% 
  mutate(renters_aff = 12*hcost_renters_av/gross_inc_renters,
         owners_aff = 12*hcost_owners_av/gross_inc_owners)




# Regression Analyses

silc_averages_r %>% 
  lm(data = .,  wealth_tax ~ hcost_av) %>% 
  summary(.)

# Graphs

# Owners and Housing Burden

silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  ggplot(aes(x = hcost_owners_av, y = burden_owners, label = DB040)) +
  geom_text()+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros")+ylab("Financial Burden of Housing Cost - No Burden to Heavy Burden ")

# Renters and Housing Burden

silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  ggplot(aes(x = hcost_renters_av, y = burden_renters, label = DB040)) +
  geom_text()+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros")+ylab("Financial Burden of Housing Cost - No Burden to Heavy Burden ")

# Both 

p1<- silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(DB010==2006) %>% 
  ggplot(aes(x = hcost_renters_av, y = burden_renters, label = DB040)) +
  geom_point(alpha = 0.7, color = "grey50")+
  geom_smooth(aes(x = hcost_renters_av, y = burden_renters), method = "lm", color = "grey70", se=FALSE)+
  geom_text(data = subset(silc_averages_c_50, DB010==2006), aes(x = hcost_renters_av, y = burden_renters, label = DB020), color = "grey50", nudge_x = 35)+
  geom_point(aes(x = hcost_owners_av, y = burden_owners, label = DB040), color = "black", alpha = 0.7)+
  geom_smooth(aes(x = hcost_owners_av, y = burden_owners, label = DB040), method = "lm", se=FALSE, color = "black")+
  geom_text(data = subset(silc_averages_c_50, DB010==2006), aes(x = hcost_owners_av, y = burden_owners, label = DB020), color = "black", nudge_x = 35)+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros in 2006")+ylab("Financial Burden of Housing Cost in 2006")+
  labs(caption = "Renters in Grey. Owners in Black")


p1
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_burden_06.pdf", width = 6, height = 6)


p2<- silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(DB010==2009) %>% 
  ggplot(aes(x = hcost_renters_av, y = burden_renters, label = DB040)) +
  geom_point(alpha = 0.7, color = "grey50")+
  geom_smooth(aes(x = hcost_renters_av, y = burden_renters), method = "lm", color = "grey70", se=FALSE)+
  geom_text(data = subset(silc_averages_c_50, DB010==2009), aes(x = hcost_renters_av, y = burden_renters, label = DB020), color = "grey50", nudge_x = 35)+
  geom_point(aes(x = hcost_owners_av, y = burden_owners, label = DB040), color = "black", alpha = 0.7)+
  geom_smooth(aes(x = hcost_owners_av, y = burden_owners, label = DB040), method = "lm", se=FALSE, color = "black")+
  geom_text(data = subset(silc_averages_c_50, DB010==2009), aes(x = hcost_owners_av, y = burden_owners, label = DB020), color = "black", nudge_x = 35)+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros in 2009")+ylab("Financial Burden of Housing Cost in 2009")+
  labs(caption = "Renters in Grey. Owners in Black")

p2
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_burden_09.pdf", width = 6, height = 6)

p3<- silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(DB010==2016) %>% 
  ggplot(aes(x = hcost_renters_av, y = burden_renters, label = DB040)) +
  geom_point(alpha = 0.7, color = "grey50")+
  geom_smooth(aes(x = hcost_renters_av, y = burden_renters), method = "lm", color = "grey70", se=FALSE)+
  geom_text(data = subset(silc_averages_c_50, DB010==2016), aes(x = hcost_renters_av, y = burden_renters, label = DB020), color = "grey50", nudge_x = 50)+
  geom_point(aes(x = hcost_owners_av, y = burden_owners, label = DB040), color = "black", alpha = 0.7)+
  geom_smooth(aes(x = hcost_owners_av, y = burden_owners, label = DB040), method = "lm", se=FALSE, color = "black")+
  geom_text(data = subset(silc_averages_c_50, DB010==2016), aes(x = hcost_owners_av, y = burden_owners, label = DB020), color = "black", nudge_x = 50)+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros in 2016")+ylab("Financial Burden of Housing Cost in 2016")+
  labs(caption = "Renters in Grey. Owners in Black")

p3
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_burden_16.pdf", width = 6, height = 6)

p4<- silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(DB010==2009) %>% 
  ggplot(aes(x = renters_aff, y = burden_renters, label = DB040)) +
  geom_point(alpha = 0.4, color = "grey50")+
  #geom_smooth(aes(x = renters_aff, y = burden_renters), method = "lm", color = "grey70", se=FALSE)+
  geom_text(data = subset(silc_averages_c_50, DB010==2009), aes(x = renters_aff, y = burden_renters, label = DB020), color = "grey50", nudge_x = 0.008)+
  geom_point(aes(x = owners_aff, y = burden_owners, label = DB040), color = "black", alpha = 0.4)+
  #geom_smooth(aes(x = owners_aff, y = burden_owners, label = DB040), method = "lm", se=FALSE, color = "black")+
  geom_text(data = subset(silc_averages_c_50, DB010==2009), aes(x = owners_aff, y = burden_owners, label = DB020), color = "black", nudge_x = 0.008)+
  theme_classic()+
  xlab("Housing Costs to Gross Income")+ylab("Financial Burden of Housing Cost")+
  labs(caption = "Renters in Grey. Owners in Black")

p4
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_aff_09.pdf", width = 6, height = 6)


p5<- silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(DB010==2016) %>% 
  ggplot(aes(x = renters_aff, y = burden_renters, label = DB040)) +
  geom_point(alpha = 0.4, color = "grey50")+
  #geom_smooth(aes(x = renters_aff, y = burden_renters), method = "lm", color = "grey70", se=FALSE)+
  geom_text(data = subset(silc_averages_c_50, DB010==2016), aes(x = renters_aff, y = burden_renters, label = DB020), color = "grey50", nudge_x = 0.008)+
  geom_point(aes(x = owners_aff, y = burden_owners, label = DB040), color = "black", alpha = 0.4)+
  #geom_smooth(aes(x = owners_aff, y = burden_owners, label = DB040), method = "lm", se=FALSE, color = "black")+
  geom_text(data = subset(silc_averages_c_50, DB010==2016), aes(x = owners_aff, y = burden_owners, label = DB020), color = "black", nudge_x = 0.008)+
  theme_classic()+
  xlab("Housing Costs to Gross Income")+ylab("Financial Burden of Housing Cost")+
  labs(caption = "Renters in Grey. Owners in Black")

p5
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_aff_16.pdf", width = 6, height = 6)

library(cowplot)

plot_grid(p1, p2, p4, p5, labels = c("", "" ,"2009", "2016"), label_x = 0.11, label_y = 1.01, label_size = 12)

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_aff_0916.pdf", width = 8, height = 4)


plot_grid(p1, p2, p4, p5, labels = c("", "" ,"2009", "2016"), label_x = 0.11, label_y = 1.01, label_size = 12)
  
# Wealth Taxation

silc_averages_50 %>% 
  filter(hcost_av<2000) %>% 
  ggplot(aes(x = hcost_av, y = wealth_tax, label = DB040)) +
  geom_text()+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros")+ylab("Annual Wealth Tax in Euros")


silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  ggplot(aes(x = hcost_av, y = wealth_tax, label = DB040)) +
  geom_text()+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros")+ylab("Annual Wealth Tax in Euros")

silc_averages_c_50 %>% 
  filter(hcost_av<2000) %>% 
  ggplot(aes(x = hcost_av, y = wealth_tax, label = DB020)) +
  geom_text()+
  theme_classic()+
  xlab("Monthly Housing Costs in Euros")+ylab("Annual Wealth Tax in Euros")

# Housing Costs for Owners versus Renters

silc_averages_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(n_cases>=50) %>% 
  ggplot(aes(x = hcost_owners_av, y = hcost_renters_av, label = DB040,  alpha = DB010)) +
  geom_text()+
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  xlim(c(0, 1600))+ylim(c(0, 1600))+
  theme_classic()+
  theme(legend.position = "none") +
  xlab("Monthly Housing Costs for Owners")+ylab("Monthly Housing Costs for Renters")

silc_averages_r_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(n_cases>=50) %>% 
  ggplot(aes(x = hcost_owners_av, y = hcost_renters_av, label = DB040,  alpha = DB010)) +
  geom_text()+
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  xlim(c(0, 1600))+ylim(c(0, 1600))+
  theme_classic()+
  theme(legend.position = "none") +
  xlab("Monthly Housing Costs for Owners")+ylab("Monthly Housing Costs for Renters")

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_regional.pdf", width = 6, height = 6)

silc_averages_c_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(n_cases>=50) %>% 
  ggplot(aes(x = hcost_owners_av, y = hcost_renters_av, label = DB020,  alpha = DB010)) +
  geom_text()+
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  xlim(c(0, 1600))+ylim(c(0, 1600))+
  theme_classic()+
  theme(legend.position = "none") +
  xlab("Monthly Housing Costs for Owners")+ylab("Monthly Housing Costs for Renters")

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/owners_renters_country.pdf", width = 6, height = 6)


## Housing Inequality

silc_averages_50 %>% 
  filter(hcost_av<2000) %>% 
  filter(n_cases>=50) %>% 
  ggplot(aes(x = hcost_av, y = hcost_90/hcost_10, label = DB020,  group = DB040)) +
  geom_text(aes(alpha=0.1))+
  ylim(c(0, 20))+
  theme_classic()+
  theme(legend.position = "none") +
  xlab("Average Montly Housing Costs")+ylab("90:10 House Cost Ratio")

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/avcosts_9010.pdf", width = 6, height = 6)

  ## Housing as Percent of Gross Income

library(scales)

n1<-silc_averages_r_50 %>% 
  mutate(h_burden_renters = 12*hcost_renters_av/gross_inc_renters,
         h_burden_owners = 12 * hcost_owners_av/gross_inc_owners) %>% 
  filter(h_burden_renters<.75) %>% 
  pivot_longer(cols=h_burden_renters:h_burden_owners, names_to = "owners", values_to = "hcost") %>%  
  filter(DB010!=2005 & DB020 !="NO") %>% 
  ggplot(aes(x = DB010, y = (hcost), group = owners, color = owners, fill=owners, label=DB020)) +
  geom_point()+
  geom_smooth(method = "lm")+
  xlab("Year")+
  ylab("Housing Costs as a Proportion of Gross Income")+
  theme_classic()+
  scale_fill_discrete(guide=FALSE)+
  scale_color_discrete(name = "",
                       breaks = c( "h_burden_renters", "h_burden_owners"),
                       labels = c("Renters", "Owners"))+
  scale_x_continuous(breaks= pretty_breaks())+ggtitle("Regions")+
  theme(plot.title = element_text(hjust = 0.5))+
  theme(legend.position = c(0.2, 1))+
  guides(color=guide_legend(override.aes=list(fill=NA)))

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/year_owner_renter_reg.pdf", width = 6, height = 6)

n2<-silc_averages_c_50 %>% 
  mutate(h_burden_renters = 12*hcost_renters_av/gross_inc_renters,
         h_burden_owners = 12 * hcost_owners_av/gross_inc_owners) %>% 
  pivot_longer(cols=h_burden_renters:h_burden_owners, names_to = "owners", values_to = "hcost") %>%  
  filter(DB010!=2005 & DB020 !="NO") %>% 
  ggplot(aes(x = DB010, y = (hcost), group = owners, color = owners, fill=owners, label=DB020)) +
  geom_text()+
  geom_smooth(method = "lm", aes(fill=owners))+
  xlab("Year")+
  ylab("Housing Costs as a Proportion of Gross Income")+
  theme_classic()+
  scale_fill_discrete(guide=FALSE)+
  scale_color_discrete(name = "",
                       breaks = c( "h_burden_renters", "h_burden_owners"),
                       labels = c("Renters", "Owners"))+
  scale_x_continuous(breaks= pretty_breaks())+ggtitle("Countries")+
  theme(plot.title = element_text(hjust = 0.5))+
  theme(legend.position = c(0.2, 1))+
  guides(color=guide_legend(override.aes=list(fill=NA)))

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/year_owner_renter_co.pdf", width = 6, height = 6)


library(patchwork)

n1+n2 +plot_layout(nrow =2)

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/year_owner_renter_both.pdf", width =6, height = 11)

plot_grid(n1, n2, p4, p5, labels = c("", "" ,"2009", "2016"), label_x = 0.11, label_y = 1.01, label_size = 12)

ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/combined_one_two.pdf", width = 8.5, height = 11)

silc_averages_co %>% 
  ggplot(aes(x = DB010, y = mortgage_arrears, group = DB020, label = DB020, color=DB020)) +
  geom_text()+
  geom_line(aes(alpha = 0.5)) +
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  theme_classic()

silc_averages_co %>% 
  ggplot(aes(x = DB010, y = mortgage_arrears, group = DB020, label = DB020, color=DB020)) +
  geom_text()+
  geom_line(aes(alpha = 0.5)) +
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  theme_classic()


silc_averages_co %>% 
  ggplot(aes(x = DB010, y = mortgage_arrears, group = DB020, label = DB020, color=DB020)) +
  geom_text()+
  geom_line(aes(alpha = 0.5)) +
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  scale_color_discrete(guide=FALSE)+
  scale_alpha(guide=FALSE)+
  xlab("Year")+ylab("Has the Household been in Mortgage or Rent Arrears?")+
  scale_x_continuous(breaks= pretty_breaks())+
  theme_classic()
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/year_arrears.pdf", width = 6, height = 6)


silc_averages_co %>% 
  ggplot(aes(x = DB010, y = housing_burden, group = DB020, label = DB020, color=DB020)) +
  geom_text()+
  geom_line(aes(alpha = 0.5)) +
  geom_abline(slope = 1, intercept = 0, linetype="dashed")+
  scale_color_discrete(guide=FALSE)+
  scale_alpha(guide=FALSE)+
  xlab("Year")+ylab("Financial Burden of Housing Cost - No Burden to Heavy Burden ")+
  scale_x_continuous(breaks= pretty_breaks())+
  theme_classic()
ggsave("~/Dropbox/WEALTHPOL_Research/Papers/JESP/Draft/Graphs/year_burden.pdf", width = 6, height = 6)
