Ты близко!
но я чувствую, что основная ошибка в вашем примере - во второй последней строке
columns <- colnames(dataIn)
Это должно быть
columns <- colnames(dataIn())
Рабочий пример
Я использовал образец CSV-файла для проверки, чтобы чтение файла и синтаксический анализ немного отличались от вашего примера.
ui = fluidPage(
titlePanel("Sample"),
sidebarLayout(
sidebarPanel(
fileInput("fileInPath", "Choose File",
multiple = FALSE,
accept = c("text/csv",
"text/comma-separated-values,text/plain",
".csv")),
radioButtons('plott','Plot',c('ggplot2'='ggplot2', 'lattice'='lattice')
),
radioButtons('format', 'Document format', c('PDF', 'HTML', 'Word'),
inline = TRUE),
downloadButton('downloadReport',label="Wygeneruj raport"),
uiOutput("ListOfColumns")
),
mainPanel()
)
)
#Server.R
server = function(input, output) {
# 3 wczytywanie danych
dataIn <- reactive({
req(input$fileInPath)
read.csv(file=input$fileInPath$datapath)
})
output$ListOfColumns <- renderUI({
req(dataIn())
columns <- colnames(dataIn())
checkboxGroupInput("Columns", "Choose columns",columns)
})}
shinyApp(ui,server)
Я протестировал его с mtcars
набор данных, который вы можете сохранить на своем компьютере с помощью
write.csv(mtcars,file = "~/Desktop/Data.csv",row.names = FALSE)