Я хочу написать блестящее приложение с виджетом InputSelect, которое позволяет пользователю выбирать объект фрейма данных из текущего сеанса из выпадающего списка.
Приведенные ниже коды работают, когда для InputSelect выбраны объекты mtcars или iris. Как обобщить выбор для всех фреймов данных в моем текущем сеансе?
library(shiny)
library(shinydashboard)
ui <-dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(box(selectInput('dflist', 'Choose Data Fame',choices=c('mtcars','Thiris')))),
fluidRow(DTOutput('tbl'))
)
)
server <- function(input, output, session) {
df=reactiveValues(df=NULL)
observeEvent(input$dflist,{
if (!is.null(input$dflist)){
df$df =get(input$dflist)
}
})
output$tbl = renderDT(head(df$df))
}
Запустите приложение
shinyApp(ui = ui, server = server)
Если в моем текущем сеансе есть 3 фрейма данных df1, df2 и df3, я мог бы вручную заменить c ('mtcars', 'iris') на c ('df1', 'df2', 'df3'). Однако мне бы хотелось, чтобы некоторые коды автоматизировали процесс.
Заранее спасибо за помощь.
HHN