Невозможно отобразить вывод таблицы данных в условном блестящем приложении - PullRequest
0 голосов
/ 28 февраля 2020

Может кто-нибудь мне поможет?

Я уже пытался взглянуть на разные учебники и предыдущие вопросы / ответы по стеку. Но ничто не помогло мне.

Я создаю приложение Shiny, которое будет показывать другой вывод (таблица данных) в зависимости от входного значения.

Вот мой код:

library(shiny)
library(DT)

# Define UI for miles per gallon app ----
ui <- pageWithSidebar(

  # App title ----
  headerPanel("Clients per Township - Aggregation"),

  # Sidebar panel for inputs ----
  sidebarPanel(
    helpText("Mean client's penetration (Number of Clients/Number of inhabitants) = 0.0089"),
    selectInput("Choice", "Do you want to have a list of townships with client's penetration above or under the mean?", c(" ", "Above","Under"))),

  # Main panel for displaying outputs ----
  mainPanel(
    conditionalPanel(
      'input.Choice === "Above"',
      DT::dataTableOutput("more_table")
    ),
    conditionalPanel(
      'input.Choice === "Under"',
      DT::dataTableOutput("less_table")
    )
  )
)


# Define server logic to plot various variables against mpg ----
server <- function(input, output) {

  more_table = DT::renderDataTable({
    more_than_mean
  })


  less_table = DT::renderDataTable({
    less_than_mean
  })


}

shinyApp(ui, server)

Таблицы данных more_than_mean и less_than_mean были вычислены ранее.

Когда я запускаю приложение, я не получаю сообщение об ошибке. НО не выводится. Может кто-нибудь мне поможет? Я не понимаю, почему ни одна из двух таблиц не отображается при запуске приложения.

Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2020

Так что после тщательного изучения моего кода я обнаружил свою (глупую) ошибку. Я только забыл "ouput $" перед именем выходных таблиц!

library(shiny)
library(DT)

# Define UI for miles per gallon app ----
ui <- pageWithSidebar(

  # App title ----
  headerPanel("Clients per Township - Aggregation"),

  # Sidebar panel for inputs ----
  sidebarPanel(
    helpText("Mean client's penetration (Number of Clients/Number of inhabitants) = 0.0089"),
    selectInput("Choice", "Do you want to have a list of townships with client's penetration above or under the mean?", c(" ", "Above","Under"))),

  # Main panel for displaying outputs ----
  mainPanel(
    conditionalPanel(
      'input.Choice === "Above"',
      DT::dataTableOutput("more_table")
    ),
    conditionalPanel(
      'input.Choice === "Under"',
      DT::dataTableOutput("less_table")
    )
  )
)


# Define server logic to plot various variables against mpg ----
server <- function(input, output) {

  output$more_table = DT::renderDataTable({
    more_than_mean
  })


  output$less_table = DT::renderDataTable({
    less_than_mean
  })


}

shinyApp(ui, server)
...