library(shiny)
dfles25 <- les25 %>% filter(DIM1label.et == "Gini koefitsient") %>%
mutate(kategooria =ifelse(DIM3label.et %in% c("Eestlased", "Mitte-eestlased"), "Rahvuse järgi",
ifelse(DIM3label.et %in% c("Eesti kodakondsus", "Mõne muu riigi kodakondsus", "Kodakondsuseta"), "Kodakondsuse järgi", "Kokku")))
shinyServer(function(input, output) {
##################
#Gini coefficients
##################
#andmebaasi valik
ginidf <- reactive({
req(input$ginitunnus)
#input$ginitunnus = "eqdpi"
if (input$ginitunnus=="eqdpi") {
ginidf <- ilc_di12
}
if (input$ginitunnus=="eqdpibeftr") {
ginidf <- ilc_di12b
}
if (input$ginitunnus=="eqdpibeftrpens") {
ginidf <- ilc_di12c
}
ginidf
})
mytitle <- reactive({
req(input$ginitunnus)
mytitle <- ifelse(input$ginitunnus =="eqdpi", "Kasutatav ekvaliseeritud tulu",
ifelse(input$ginitunnus =="eqdpibeftr", "Kasutatav ekvaliseeritud tulu enne toetusi, \npensionid toetuste sees",
ifelse(input$ginitunnus == "eqdpibeftrpens", "Kasutatav ekvaliseeritud tulu enne toetusi, \npensionid toetustest väljas", "")))
mytitle
})
output$ginijoonis1 <- renderPlot({
#jätame välja keskmised, mida ei vaja
ginidfjoonisele <- ginidf() %>% filter(time>=as.Date("2000-01-01")) %>%
filter(!(geo %in% c("EU15", "EA18", "EA19", "EU27", "EU25","EU", "NMS10")))
#jätame välja need riigid, mille eraldi joonistama
ginidfjooniselemuud <- ginidfjoonisele %>% filter(!(geo %in% c("EE", "EU28"))) %>%
as.data.frame()
#Gini üle aja
ggplot() +
geom_line(data=ginidfjooniselemuud, aes(x=time, y = values, group=geo), size=0.3, color="grey") +
geom_line(data=ginidfjoonisele[ginidfjoonisele$geo=="EE",], aes(x=time, y=values, color="Eesti"), size=1.5) +
geom_line(data=ginidfjoonisele[ginidfjoonisele$geo=="EU28",], aes(x=time, y=values, color="EU28"), size=1.5) +
labs(x="", y="Gini indeks", caption="allikas: Eurostat, EU-SILC", color="",
title = mytitle()) +
theme(text =element_text(size=14))
})
#
output$giniexperimental <- renderPlot({
icw_sr_05 <- icw_sr_05 %>%
mutate(stk_flowlbl =ifelse(stk_flow=="EXPN", "Expenditure",
ifelse(stk_flow=="INC", "Income",
ifelse(stk_flow=="SAV", "Savings", "Net wealth"))))
ggplot(icw_sr_05, aes(x=geo, y = values, fill=geo)) +
geom_col() +
guides(fill=FALSE) +
facet_wrap(~stk_flowlbl, scales = "free") +
labs(x="", y="Gini", caption="allikas: Eurostat",
title = "Gini coefficient on household population - experimental statistics")
#+
# guides(color=FALSE)
})
#####################################
#Kvintiilide suhe
#####################################
output$s8020joonis1 <- renderPlot({
s8020joonisele <- ilc_di11 %>%
filter(time>=as.Date("2000-01-01"),
!(geo %in% c("EU15", "EA18", "EA19", "EU27", "EU25","EU", "NMS10")),
age == input$vanus, sex == input$sugu) %>% as.data.frame()
#jätame välja need riigid, mille eraldi joonistama
s8020jooniselemuud <- s8020joonisele %>% filter(!(geo %in% c("EE", "EU28"))) %>%
as.data.frame()
ggplot() +
geom_line(data=s8020jooniselemuud, aes(x=time, y = values, group=geo), size=0.3, color="grey") +
geom_line(data=s8020joonisele[s8020joonisele$geo=="EE",], aes(x=time, y=values, color="Eesti"), size=1.5) +
geom_line(data=s8020joonisele[s8020joonisele$geo=="EU28",], aes(x=time, y=values, color="EU28"), size=1.5) +
labs(x="", y="Kvintiilide suhte korda - S80/S20", caption="allikas: Eurostat, EU-SILC", color="",
title = "Viienda ja esimese sissetulekukvintiili sissetulekute suhe valitud soo ja vanuse järgi") +
theme(text =element_text(size=14))
})
# ggplot(ilc_pns4, aes(x=time, y = values, color=geo)) +
# geom_line() +
# guides(color=FALSE) +
# facet_wrap(~age) +
# geom_line(data=ilc_pns4[ilc_pns4$geo=="EE",], aes(x=time, y=values), size=1.5) +
# labs(x="", y="S80/S20", caption="allikas: Eurostat, EU-SILC",
# title = "S80/S20 kvintiilide sissetulekute suhe")
#
# })
#
# # labs(x="", y="S80/S20", caption="allikas: Eurostat",
# # title = "Inequality of income distribution S80/S20 income quintile share ratio - EU-SILC survey")
# #
#
# output$s8020byagesex <- renderPlot({
#
# ggplot(ilc_di11, aes(x=time, y = values, color=geo)) +
# geom_line() +
# guides(color=FALSE) +
# facet_grid(age~sex) +
# geom_line(data=ilc_di11[ilc_di11$geo=="EE",], aes(x=time, y=values), size=1.5) +
# labs(x="", y="S80/S20", caption="allikas: Eurostat",
# title = "S80/S20 income quintile share ratio by sex and selected age group - EU-SILC survey")
#
# })
#####################
#Liikumine detsiilide vahel
#####################
#andmebaasi valik
movedf <- reactive({
req(input$periood)
#input$ginitunnus = "eqdpi"
if (input$periood=="year1") {
movedf <- ilc_di30a %>% rename(trans= trans1y)
}
if (input$periood=="year2") {
movedf <- ilc_di30b %>% rename(trans= trans2y)
}
if (input$periood=="year3") {
movedf <- ilc_di30c %>% rename(trans= trans3y)
}
movedf
})
mytitlemove <- reactive({
req(input$periood)
mytitlemove <- ifelse(input$periood =="year1", "Detsiilidevaheline liikumine ühe aasta möödudes",
ifelse(input$periood =="year2", "Detsiilidevaheline liikumine kahe aasta möödudes",
ifelse(input$periood == "year3", "Detsiilidevaheline liikumine kolme aasta möödudes", "")))
mytitlemove
})
output$decilemovejoonis1 <- renderPlot({
#jätame välja keskmised, mida ei vaja
movedfjoonisele <- movedf() %>% filter(time>=as.Date("2000-01-01")) %>%
filter(!(geo %in% c("EU15", "EA18", "EA19", "EU27", "EU25","EU", "NMS10"))) %>%
filter(trans==input$liikumine)
movedfjoonisele$deciles = factor(movedfjoonisele$quantile,
levels = c("TOTAL", "D1", "D2", "D3", "D4", "D5", "D6","D7", "D8", "D9", "D10"),
labels = c("Kokku", "Detsiilist 1", "Detsiilist 2", "Detsiilist 3", "Detsiilist 4",
"Detsiilist ", "Detsiilist 6","Detsiilist 7", "Detsiilist 8",
"Detsiilist 9", "Detsiilist 10"), ordered = TRUE)
#jätame välja need riigid, mille eraldi joonistama
movedfjooniselemuud <- movedfjoonisele %>% filter(!(geo %in% c("EE", "EU28"))) %>%
as.data.frame()
#Gini üle aja
ggplot() +
geom_line(data=movedfjooniselemuud, aes(x=time, y = values, group=geo), size=0.3, color="grey") +
geom_line(data=movedfjoonisele[movedfjoonisele$geo=="EE",], aes(x=time, y=values, color="Eesti"), size=1) +
geom_line(data=movedfjoonisele[movedfjoonisele$geo=="EU28",], aes(x=time, y=values, color="EU28"), size=1) +
facet_wrap(~deciles) +
labs(x="", y="Osakaal inimestest", caption="allikas: Eurostat, EU-SILC", color="",
title = mytitlemove()) +
theme(text =element_text(size=14))
})
#
# output$decilemov1 <- renderPlot({
#
# ggplot(ilc_di30a[ilc_di30a$geo=="EE",], aes(x=time, y = values, fill=trans1y)) +
# geom_col() +
# #guides(color=FALSE) +
# facet_wrap(~quantile) +
# labs(x="", y="%", caption="allikas: Eurostat",
# title = "Transitions of income within one year by decile")
# })
#
# output$decilemov2 <- renderPlot({
#
# ggplot(ilc_di30b[ilc_di30b$geo=="EE",], aes(x=time, y = values, fill=trans2y)) +
# geom_col() +
# #guides(color=FALSE) +
# facet_wrap(~quantile) +
# labs(x="", y="%", caption="allikas: Eurostat",
# title = "Transitions of income within two year by decile")
# })
#
# output$decilemov3 <- renderPlot({
#
# ggplot(ilc_di30c[ilc_di30c$geo=="EE",], aes(x=time, y = values, fill=trans3y)) +
# geom_col() +
# #guides(color=FALSE) +
# facet_wrap(~quantile) +
# labs(x="", y="%", caption="allikas: Eurostat",
# title = "Transitions of income within three year by decile")
# })
#
#
# output$decilemov1c <- renderPlot({
#
# ggplot(ilc_di30a[ilc_di30a$quantile==input$kvantiil,], aes(x=time, y = values, fill=trans1y)) +
# geom_col() +
# #guides(color=FALSE) +
# facet_wrap(~geo) +
# labs(x="", y="%", caption="allikas: Eurostat",
# title = "Transitions of income within one year by decile")
# })
#
output$rahvusjoonis1 <- renderPlot({
dfles25 %>% filter(kategooria!="Kokku") %>% ggplot(aes(x=as.numeric(obsTime), y=obsValue, group=DIM3label.et, color=DIM3label.et)) +
geom_line() + labs(x="", y="Gini koefitsient", color="Rahvus/Kodakondsus", caption ="Allikas: Statistikaameti andmebaas, tabel LES25") +
facet_wrap(~kategooria) +theme(text =element_text(size=14))
})
})
library(shiny)
shinyUI(fluidPage(
titlePanel("Sissetuleku ebavõrdsus Eestis võrreldes Euroopa riikidega"),
navbarPage("",
tabPanel("Gini indeks",
sidebarLayout(
sidebarPanel(
selectInput(inputId ="ginitunnus", "Vali tunnus",
c("Kasutatav tulu"="eqdpi",
"Kasutatav tulu enne toetusi, pensionid toetuste sees" = "eqdpibeftr",
"Kasutatav tulu enne toetusi, pensionid toetustest väljas"= "eqdpibeftrpens"
)
) #end selectInput
), #end sidebarPanel
# Show a plot of the generated distribution
mainPanel(
plotOutput("ginijoonis1", width = 800, height = 500)
#br(),
#plotOutput("ginieqdpi", width = 800, height = 500),
#br(),
#plotOutput("ginieqdpibtr", width = 800, height = 500),
#br(),
#plotOutput("ginieqdpibtrexpens", width = 800, height = 500),
#br()
#end of mainPanel
)
#end of sidebarLayout
)
#end of Gini indeks tab
),
tabPanel("Kvintiilide suhe",
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
selectInput(inputId ="vanus", "Vali vanus",
choices= c("Kokku"="TOTAL",
"65 ja vanemad" = "Y_GE65",
"Alla 65"= "Y_LT65"), selected = "TOTAL"
), #end selectinput,
selectInput(inputId ="sugu", "Vali sugu",
choices= c("Kokku"="T",
"Mehed" = "M",
"Naised"= "F"
), selected = "TOTAL"
) #end selectinput
), #end sidebarPanel
# Show a plot of the generated distribution
mainPanel(
plotOutput("s8020joonis1", width = 800, height = 500)
#plotOutput("s8020byage", width = 800, height = 500),
#br(),
#plotOutput("s8020byagesex", width = 800, height = 500),
#br()
# plotOutput("ginieqdpibtrexpens", width = 800, height = 500),
# br()
# #end of mainPanel
)
#end of sidebarLayout
)
#end of Kvintiilide suhe tab
),
tabPanel("Inimeste liikumine detsiilide vahel",
sidebarLayout(
sidebarPanel(
selectInput(inputId ="periood", "Vali ajaperiood",
choices = c("3 aasta jooksul" = "year3",
"2 aasta jooksul" = "year2",
"1 aasta jooksul" = "year1"),
selected= "year3"
),
# selectInput(inputId ="kvantiil", "Vali kvantiil",
# choices = unique(ilc_di30a$quantile), selected = "TOTAL"
# ) #end selectInput
selectInput(inputId ="liikumine", "Inimeste liikumine",
choices = c("1 detsiil üles" = "TO_1UP",
"enam kui 1 detsiil üles" = "TO_GT1UP",
"1 detsiil alla" = "TO_1DW",
"enam kui 1 detsiil alla" = "TO_GT1DW",
"Sama detsiil" = "NO_CHG"
),
selected= "TO_1UP"
)
), #end sidebarPanel
# Show a plot of the generated distribution
mainPanel(
plotOutput("decilemovejoonis1", width = 800, height = 500)
#plotOutput("decilemov1", width = 800, height = 500),
#plotOutput("decilemov2", width = 800, height = 500),
#plotOutput("decilemov3", width = 800, height = 500),
#plotOutput("decilemov1c", width = 800, height = 500)
#plotOutput("ssdentPlot", height = "600", width="1000")
#end of mainPanel
)
#end of sidebarLayout
)
), #end of liikumine
tabPanel("Eesti: ebavõrdsus rahvuste vahel",
plotOutput("rahvusjoonis1", width = 800, height = 500)
)
) #end of navbarPage
)) #end of shinyUI(fluidPage(