Блестящее приложение.Получить заголовки из таблицы загрузки - PullRequest
0 голосов
/ 25 июня 2018

Я хотел бы получить заголовки из таблицы, а затем использовать их в checkboxGroupInput для дальнейшей сортировки. Заголовки не равны, поскольку таблицы разные.

Я загружаю таблицы, используя этот код:

Server.R

library(shiny)
library(tidyverse)
library(readxl)
server <- function(input, output) {

  names <- reactive({ read_excel(input$file1$name, sheet = 1,
                      range = "A1:P1", col_names = TRUE)
                    })
}

Ui.R

 library(shiny)
 library(shinythemes)
 ui <- fluidPage(

  theme=shinytheme("readable"),

  # App title ----
  titlePanel("App_1"),

  # Sidebar layout with input and output definitions ----
  sidebarLayout(

    # Sidebar panel for inputs ----
    sidebarPanel(


      # Input: Select a file ----
      fileInput("file1", "Choose File",
                multiple = FALSE),

      # Horizontal line ----
      tags$hr(),


      checkboxGroupInput("show_vars", "Columns in diamonds to show:", names(names) )
    )
  )
)

1 Ответ

0 голосов
/ 25 июня 2018

Для этого я бы сначала установил варианты NA для checkboxGroupInput в вашем пользовательском интерфейсе. Далее я бы добавил следующий код на ваш сервер:

observe({
 if (is.null(input$file1))
  return(NULL)
 cnames <- colnames(names())
 updateCheckboxGroupInput(session, inputId = "show_vars", choices = cnames)
})

Этот код обновит варианты для checkboxGroup с именами столбцов из вашего файла.

Несколько замечаний. Во-первых, я получил ошибку, что вы пропустили аргумент mainPanel в вашем sidebarPanel. Во-вторых, обратите внимание, что вы хотите использовать colnames вместо names здесь. Наконец, я бы рекомендовал использовать input$file1$datapath вместо input$file1$name в read_excel.

Надеюсь, это поможет.

...