Я создал приложение Shiny, которое принимает файлы Excel и CSV в качестве входных данных. Кроме того, следует прогнозировать показатель, который можно найти в загруженном файле. Чтобы иметь возможность определить правильный столбец в файле, пользователь должен иметь возможность выбрать столбец, который следует прогнозировать. Вот почему я хочу иметь выделенную область ввода, где отображаются все имена столбцов файла. Но я не нахожу правильного решения.
В следующем моем приложении:
пользовательский интерфейс:
ui <- fluidPage(
#definition which file input is allowed
fileInput(
'file',
label = h4("Welche Datei soll hochgeladen werden?"),
multiple= FALSE,
accept = c(
'text/csv',
'text/comma-separated-values,text/plain',
'.csv',
'.xlsx'
)
),
Сервер:
server <- function(input, output) {
#read data
data <- reactive({
validate(need(input$file, ""))
infile <- input$file
if (input$type == "1") {
read.csv(infile$datapath,
header = input$header,
sep = input$sep,
stringsAsFactors = FALSE)
} else {
read_xlsx(infile$datapath)
}
})
И я подумал о чем-то подобном на сервере, но не смог окончательно решить проблему:
names <- reactive({
df <- data()
if (is.null(df)) return(NULL)
items=names(df)
names(items)=items
return(names(items))
})
Спасибо за любую помощь!