У меня относительно тяжелая программа для запуска на основе выбранного вручную ввода.Мне бы хотелось, чтобы мое приложение было таким, чтобы пользователи выбирали параметры, нажимали, а затем создавалась база данных, которую можно использовать для создания нескольких таблиц и графиков на основе этого набора данных.Но создание базы данных может произойти только один раз.
До настоящего времени база данных создавалась до запуска приложения на основе пользовательского ввода.Пример приведен в приведенном ниже коде.
countries <- c("BEL", "FRA", "AFG")
el_inf_ex <- 1
df_TEST <-data.frame(iso3= c(rep("BEL", 10),rep("FRA", 10),rep("AFG", 10)),
year= c(seq(2001, 2010), seq(2001, 2010), seq(2001, 2010)),
test= rnorm(30)*el_inf_ex)
#The shiney appp has three parts
ui <- fluidPage(
# App title ----
titlePanel("TEST"),
# Sidebar layout with a input and output definitions ----
sidebarLayout(
# 1 Where you select user input ----
sidebarPanel(
# Input: Selector for choosing dataset ----
selectInput(inputId = "Country",
label = "Choose a country:",
choices = countries),
# Input: Numeric entry for number of obs to view ----
sliderInput(inputId = "Year",
label = "Choose a year:",
value = 2018,
min = 2000,
max = 2010),
# Input: Numeric entry for number of obs to view ----
sliderInput(inputId = "el_inf_ex",
label = "El(inf,exrate):",
value = 0.3,
min = 0,
max = 1)
),
# 2 Where you specify the output ----
mainPanel(
# Output: Tabset w/ plot, summary, and table ----
tabsetPanel(type = "tabs",
tabPanel("Data Input No shock",
# Output: HTML table with requested number of observations ----
h3("I. One title:"),
tableOutput("CI"),
h3("II. Second title:"),
tableOutput("VUL")
)
)
)
)
)
# Define server logic to summarize and view selected dataset ----
server <- function(input, output) {
# Return the MonArr variable
datasetInput_CI <- reactive({
df_TEST %>% filter(iso3 == input$Country, year == input$Year) %>% summarise(blabla = max(test))
})
# Return the Vulnerability variables ----
datasetInput_Vul <- reactive({
df_TEST %>% filter(iso3 == input$Country, year == input$Year)
})
output$CI <- renderTable(datasetInput_CI())
output$VUL <- renderTable(datasetInput_Vul())
}
shinyApp(ui = ui, server = server)
Таким образом, я хотел бы создать в коде фрейм данных df_TEST, чтобы в приложении можно было выбрать el_inf_ex, а строки для создания набора данных можно было только запуститьодин раз.(В моем реальном приложении мне нужно будет получить другие R-файлы). Затем я хочу использовать вывод (dataframe df_TEST) в графиках и таблицах.