I have code that I need to convert to use Dashboard ...are fluid page and Dashboard mutually exclusive ...do I need to re-write it?
library(ggplot2)
library(scales)
library(shiny)ui <- fluidPage(
Sidebar layout with a input and output definitions
sidebarLayout(
# Inputs sidebarPanel( # Select variable for y-axis selectInput(inputId = "y", label = "Y-axis:", choices = c("Water Level" = "WaterLevel", "Discharge Debit" = "DischargeDebit"), selected = "WaterLevel"), selectInput(inputId = "z", label = "station:", choices = c( "NORTH SASKATCHEWAN RIVER NEAR DEER CREEK"="05EF001", "BATTLE RIVER NEAR PONOKA"="05FA001", "BATTLE RIVER AT DUHAMEL"="05FA011", "PIGEON LAKE AT PIGEON LAKE PROVINCIAL PARK"="05FA013", "MASKWA CREEK NO. 1 ABOVE BEARHILLS LAKE"="05FA014" ), selected = "05EF001") ), # Output mainPanel( plotOutput(outputId = "lineplot") )
)
)server <- function(input, output) {
file = "http://dd.weather.gc.ca/hydrometric/csv/SK/hourly/SK_hourly_hydrometric.csv"
skdat <- read.csv(file, head=T, sep=",", dec=".", stringsAsFactors = F)
colnames(skdat) <- c("ID", "Date", "WaterLevel", "Grade1", "Symbol1",
"QAQC-1", "DischargeDebit", "Grade2", "Symbol2",
"QAQC-2")Switched the date time to skdat from subds to not mess with reactivity until later
skdat$datetime <- as.POSIXct(skdat$Date, format = "%Y-%m-%dT%H:%M:%OS")
You need to have a logical condition for subset, == not =
subds <- reactive({subset(skdat, ID == input$z)})
Switched the use of as.name to rlang::sym
output$lineplot <- renderPlot({
ggplot(subds(), aes(x = datetime, y = !!sym(input$y))) + geom_line()
})}
Create a Shiny app object
shinyApp(ui = ui, server = server)