У меня есть база данных сохраненных параметров и имен сохраненных сценариев в моей базе данных, как показано
| available_scenario | scenario_key |
+--------------------+--------------+
| A | 6 |
| abc | 2 |
| aw | 7 |
| efg | 5 |
| xyz | 4 |
+--------------------+--------------+
, а сохраненные параметры
| parameters | value | scenario_key |
+-----------------------+-------+--------------+
| Price | 4 | 2 |
| Distance | 5 | 2 |
| Multiplication Factor | 1.5 | 2 |
| No Of Passengers | 100 | 2 |
| Planning Period | 5 | 2 |
| Price | 4 | 6 |
| Distance | 5 | 6 |
| Multiplication Factor | 1.5 | 6 |
| No Of Passengers | 100 | 6 |
| Planning Period | 10 | 6 |
| Price | 4 | 7 |
| Distance | 5 | 7 |
| Multiplication Factor | 1.5 | 7 |
| No Of Passengers | 100 | 7 |
| Planning Period | 10 | 7 |
мой код:
library(shiny)
library(pool)
library(shinydashboard)
library(ggplot2)
library(nloptr)
library(plotly)
pool <- dbPool(drv = RMySQL::MySQL(),dbname = "db",host = "databaseodczl.us-east-
2.rds.amazonaws.com",username = "host",password = "hostt", port = 3306)
mychoices = dbGetQuery(pool,"select available_scenario from scenario_name;")
ui <- shinyUI(
dashboardPage(
dashboardHeader(title = "Bag Pricing Model"),
dashboardSidebar(
sidebarMenu(
menuItem("Create",tabName = "create"),
menuItem("Available Scenarios", tabName = "available"),
menuItem("Disconnect Connection", tabName = "disconnect")
#menuItem("Delete Scenario", tabName = "delete")
)
),
dashboardBody(
tabItems(
tabItem(
tabName = "create",
tabsetPanel( id ="Create Scenario",
tabPanel("Tab1", actionButton("create_scenario", "Create Scenario"),
selectizeInput('n', "Available scenarios", choices = mychoices, multiple = TRUE)
),
tabPanel("tab2") ),
uiOutput('inputs')# actionButton("load_scenario","Load scenario")
)
)
)))
server<-function(input, output,session){
observeEvent(input$create_scenario,{
output$inputs <- renderUI({
mainPanel(
textInput("txtInput","Enter scenario name"),
textOutput("sname"),
actionButton("save","Save Scenario")
)
})
})
observeEvent(input$load_scenario,{
output$input <- renderUI({
fluidPage(
# titlePanel("Baggage Pricing Model"),
sidebarLayout(
sidebarPanel(
sliderInput(inputId = "Y",label = "Price", value = 4, min =1,max = 6,step = 0.1),
sliderInput(inputId = "d_km",label ="distnace)", value = 5, min =1,max = 20,step = 0.1),
actionButton(inputId = "button", label = "Calculate"),
actionButton(inputId = "savee", label = "Save Scenario With Plots")
),
mainPanel(
tabsetPanel(id = "tabs",
tabPanel("Plot", Value="Plot", plotOutput("X",height = '300px'),
plotOutput("HH",height = '250px')),
tabPanel("Table",Value="Table", DT::dataTableOutput("comptable"))
)
)
)
)
})
})
}
shinyApp(ui = ui, server = server)
Как только я нажму на свой доступный сценарий ios, на моей вкладке 2 должна появиться панель мониторинга, как указано в load_scenario части кода, параметры по умолчанию значение будет получено из таблицы базы данных, как показано в таблице выше. Кто-нибудь может предложить мне решить вышеуказанную проблему.