Я пытаюсь добавить функцию загрузки файлов в свое приложение Shiny. В идеале я хочу, чтобы пользователь мог загрузить файл csv, а затем выбрать переменную, которую они хотят использовать, из выпадающего меню. Когда приложение запускается, я изначально предварительно загрузил набор данных, и в раскрывающемся списке отображаются правильные имена переменных для этого набора данных. Однако, когда я пытаюсь загрузить другой файл csv, я не могу заставить раскрывающийся список обновить, чтобы отобразить переменные, содержащиеся в загруженном csv. Вот мой код:Обновление при загрузке файла Shiny R
server.R
library(shiny)
library(ggplot2)
inFile <- mtcars
shinyServer(function(input, output) {
tableData <- reactive({
inFile <<- input$file1
if (!is.null(inFile)){
read.csv(inFile$datapath, header=input$header, sep=input$sep,
quote=input$quote)
}
else {
inFile <<- mtcars
}
})
#for x values
output$opt.x <- renderUI({
selectInput("xcolumn", "X column to Plot", names(inFile))
})
})
ui.R
library(shiny)
shinyUI(fluidPage(
titlePanel("App"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept = c(
'.csv',
'.tsv')
),
uiOutput("opt.x")
),
mainPanel()
))
Я также попытался поместить выход $ назначение opt.x внутри реактивной функции, читается в файле, но это, похоже, не помогло.
На самом деле, я неправильно понял вопрос, щедрость, которую я намеревался, была для того, чтобы повторно загрузить тот же файл, используя блестящий. –