Скрытие столбцов в дататабле - Блестящий - PullRequest
0 голосов
/ 06 июля 2018

Я создаю блестящее приложение с набором реактивных данных, который выводится в: (1) график и (2) дата (см. Код ниже). Я успешно вытащил данные. Однако у меня возникают проблемы с сокрытием определенных переменных (или столбцов) в таблице данных, и у меня возникла небольшая проблема эстетики.

Я использую большой набор данных, состоящий из 69 переменных. При фильтрации с использованием трех входов dropdownMenu (см. Код ниже) реактивный набор данных затем подается на график, который показывает количество коммерческих услуг (y) по их общему рейтингу (x) - что здорово.

Однако у меня есть две проблемы, связанные с набором реактивных данных и выходными данными:

(a) На моей вкладке «Данные» я хочу выбрать первые 8 переменных моего набора данных, которые будут видимыми, а остальные 61 - скрытыми. Я пытался ограничить список некоторым кодом (см. Вывод сервера), но данные просто не загружаются.

(b) Когда я выбираю вкладку Datatable, поля с именами переменных непропорционально велики (см. Изображение ниже для пояснения.) Я не пытался решить эту проблему, так как понятия не имею, что это за проблема.

Помощь будет высоко ценится.

PS. Если необходимо, я могу дать более подробную информацию о данных, они настолько велики, что трудно дать структуру и т. Д.

UI

 ui <- fluidPage(
 titlePanel("Test App"),
 sidebarLayout(
  sidebarPanel(id = "sidebar",
               uiOutput("geography1"),
               uiOutput("geography2"),
               uiOutput("service"),
     mainPanel(
        tabsetPanel(type = "tabs",
                    tabPanel("Visual", plotOutput("plot", height = "500px")),
                    tabPanel("Underlying data", dataTableOutput("table"))
        )
     )
  )
  )
  ) 

Сервер

    server <- function(input, output) {
   output$geography1 = renderUI({
      selectInput(inputId = "geog1",
                  label = "Select geography (higher):", 
                  choices = as.character(unique(Test$Geog1)),
                  selected = "Region")
   })
   datasub <- reactive({
      req(input$geog1)
      filter(Test, Geog1 %in% input$geog1)
   })

   output$geography2 = renderUI({
      selectInput(inputId = "geog2", 
                  label = "Select geography (lower):", 
                  choices = unique(datasub()[,"Geog2"]),
                  selected = unique(datasub()[,"Geog2"])[1]) 
   })
   datasub2 <- reactive({
      req(input$geog2)
      filter(datasub(), Geog2 %in% input$geog2)
   })

   output$service = renderUI({
      selectInput(inputId = "service",
                  label = "Select Service Type:",
                  choices = unique(datasub2()[,"Sub_type"]),
                  selected = unique(datasub2()[,"Sub_type"])[1])
   })
   datasub3 <- reactive({
      req(input$geog2)
      filter(datasub2(), Sub_type %in% input$service)

   })

   # Plot
   output$plot = renderPlot({

      plot(datasub3(), x = Overall_rating, locations = y)

   })

   # Generate an data table view of the data ----
   output$table <- renderDataTable({
      data.table(datasub3(),options=list(columnDefs = list(list(visible=FALSE, targets=c(9:69))))
   }) 

      shinyApp(ui, server)  

Эстетическая проблема с данными Aesthetic issue with datatable

...