Обзорная информация в Ршины не найден - PullRequest
0 голосов
/ 30 марта 2020

Последовательность не может быть сгенерирована, потому что input$amount не генерируется, возможно, из-за структуры моей папки.

Сообщение об ошибке:

Рассмотрим приложение rshiny со следующей структурой папок :

.
├── app.R
├── _ui_elements
|   ├── body.R
|   ├── sidebar.R
|   └── _tabs
|       └── example_tab.R

, где код выглядит следующим образом:

app.R
library(shiny)
library(tidyverse)
library(shinydashboard)
library(plotly)

source("ui_elements/sidebar.R", local = TRUE)
source("ui_elements/body.R", local = TRUE)

ui <-
  dashboardPage(
    dashboardHeader(title = "Example"),
    sidebar,
    body
  )

server <- function(input, output, session) {

  amount_df <- reactive({
     tibble(amount = seq(1, input$amount))
  })

  output$amount_curve <- renderPlotly({

    amount_df() %>%
      ggplot(aes(amount)) +
        geom_point()

  })

}

shinyApp(ui = ui, server = server)

body.R
source("ui_elements/tabs/tab_example.R", local = TRUE)

body <-
  dashboardBody(
    tabItems(
      tab_example
      )
    )

sidebar.R
sidebar <-
  dashboardSidebar(
    sidebarMenu(
      menuItem("Example", tabName = "example", icon = icon("couch"))
      )
    )

tab_example.R
tab_example <-
tabItem(tabName = "example",
        fluidRow(
          column(6, numericInput("Amount","amount", min = 1, max = 1000, value = 500)),
          column(6, plotlyOutput("amount_curve"))
          )
        )

1 Ответ

1 голос
/ 30 марта 2020

Проблема не в файловой структуре, а в передаче параметров. У вас неправильный порядок параметров inputId и label. Измените код в tab_example.R на следующий.

tab_example <-
  tabItem(tabName = "example",
          fluidRow(
            column(6, numericInput(inputId = "amount",label = "Amount", min = 1, max = 1000, value = 500)),
            column(6, plotlyOutput("amount_curve"))
          )
  )

Тогда у вас появятся новые проблемы, но я думаю, что вы, вероятно, сможете решить их самостоятельно.

...