library(shiny)
# Define UI for application that draws a histogram
ui <- fluidPage(
# Application title
titlePanel("Immigration bar chart - Australia 2015 - 2017"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
sliderInput("year", label = "Year", min = 2015, sep="",
max = 2017, value = 2015,
animate = animationOptions(interval = 500, loop = TRUE))
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("Barchart")
)
)
)
library(ggplot2)
library(dplyr)
library(tidyr)
library(stringr)
library(shiny)
Immigration <- read.csv("C:/Users/Harsha Alluri/Downloads/nom123.csv" , stringsAsFactors = TRUE)
Immigration$state <- as.factor(Immigration$state)
Immigration$Year <- as.factor(Immigration$Year)
Immigration$Staus <- as.factor(Immigration$Staus)
Immigration$Figures <- as.numeric(Immigration$Figures)
str(Immigration)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$Barchart <- renderPlot({
p1 <- ggplot(Immigration, aes(x = Immigration$state, y = Immigration$Figures,
fill = Immigration$Staus))
p1 + geom_bar(data = filter(Immigration,Staus == "NOM_arrival"
& Year == input$year),
stat = "identity") +
geom_bar(data = filter(Immigration,Staus == "NOM_departure" &
Year == input$year),
stat = "identity")+
geom_bar(data = filter(Immigration,Staus == "NOM"
& Year == input$year),
aes(y=Figures*(1)),stat = "identity") +
labs(x = "State", y = "Figures")+
coord_flip()
})
}
# Run the application
shinyApp(ui = ui, server = server)