闪亮的仪表板 R:使用 headers excel 文件作为输入 SelectInput 字段
Shiny dashboard R: Using headers excel file as input SelectInput field
目前我正在研究,我想是一个非常简单的 Shiny 仪表板,但由于我对它很陌生,所以我仍然无法使用它。我想创建一个仪表板,用户可以在其中 select 一个文件。在 select 一个文件之后,这个文件的 headers 的名称必须被用作 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)
目前我正在研究,我想是一个非常简单的 Shiny 仪表板,但由于我对它很陌生,所以我仍然无法使用它。我想创建一个仪表板,用户可以在其中 select 一个文件。在 select 一个文件之后,这个文件的 headers 的名称必须被用作 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)