闪亮的仪表板R:使用标题excel文件作为输入SelectInput字段



目前我正在开发一个非常简单的Shiny仪表板,但由于我对它还很陌生,所以我仍然无法使其工作。我想创建一个面板,用户可以在其中选择一个文件。选择一个文件后,必须使用该文件头的名称作为SelectInput字段的输入。

ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fileInput('datafile', 'Choose xlsx file',
accept = c(".xlsx")
),
selectInput("vars", "Select a variable:", choices=names("varselect"),
multiple = TRUE)    
),
mainPanel(

)
)
)
server <- function(input, output,session) {
Dataset <- reactive({
infile <- input$datafile
if (is.null(infile)) {
return(data.frame())
}
read.xlsx(infile$datapath, 
sheetIndex = 1) 
})
output$varselect <- renderUI({
})
observe({
if (identical(Dataset(), '') || identical(Dataset(), data.frame()))

updateSelectInput(session, inputId="vars", label="Variables to use:",
choices=names(Dataset()), selected=names(Dataset()))
})
}

shinyApp(ui = ui, server = server)

有人能帮我解释一下我做错了什么/我如何才能最有效地解决这个问题吗?

提前谢谢!

你完全是对的,去掉它后就可以工作了。非常感谢。

ui <- fluidPage(   sidebarLayout(
sidebarPanel(
fileInput('datafile', 'Choose xlsx file',
accept = c(".xlsx")
),
selectInput("vars", "Select a variable:", choices=names("varselect"),
multiple = TRUE)    
),
mainPanel(

)   ) )
server <- function(input, output,session) {
Dataset <- reactive({
infile <- input$datafile
if (is.null(infile)) {
return(data.frame())
}
read.xlsx(infile$datapath, 
sheetIndex = 1) 
})
output$varselect <- renderUI({
})   observe({

updateSelectInput(session, inputId="vars", label="Variables to use:",
choices=names(Dataset()), selected=names(Dataset()))   }) }

shinyApp(ui = ui, server = server)

最新更新