#r #csv #checkbox #shiny
Вопрос:
Я пытаюсь создать страницу с помощью R Shiny, которая имеет:
- Виджет файлов для загрузки CSV-файлов
- Компонент группы флажков
Я хотел бы использовать их следующим образом:
- После загрузки допустимого CSV-файла заполните группу флажков, флажками которой являются все заголовки из CSV-файла, все отмеченные по умолчанию
До сих пор я пробовал различные формы observe() и observeEvent (), но не добился успеха в этом даже близко. Любые предложения, которые у вас могут возникнуть, были бы замечательными.
Ответ №1:
Вы можете попробовать checkboxGroupInput
.
library(shiny)
ui <- fluidPage(
fileInput('file', 'Upload csv file'),
uiOutput('dropdown')
)
server <- function(input, output) {
data <- reactive({
req(input$file)
read.csv(input$file$datapath)
})
output$dropdown <- renderUI({
req(data())
checkboxGroupInput('cols', 'Select Column', names(data()),
names(data()), inline = TRUE)
})
}
shinyApp(ui, server)
Вы можете установить inline = FALSE
, хотите ли вы расположить их вертикально.
Комментарии:
1. Идеальный. Еще раз спасибо!