Nano Hash - криптовалюты, майнинг, программирование

Ошибка в if (inline) {: аргумент не интерпретируется как логический

Это связано с другим постом, который у меня есть, о добавлении новой строки fluidRow (conainting plot + selectInput) в мое приложение shinyDashboard.

Когда я запускаю приведенный ниже код, я получаю следующее

Error in if (inline) { : argument is not interpretable as logical

Я пытался повозиться с тем, как написан код, например удалите запятые, но мне не удалось найти способ избавиться от ошибки. Более того, я думаю, что это одна из причин невозможности создать дополнительный поток жидкости.

У меня есть ощущение, что это как-то связано с моими элементами управления вводом, но я не знаю, что именно!

Любая помощь будет оценена.

ui.r

ui <- dashboardPage(
  skin = "red",
  dashboardHeader(title = "iReport",
                  titleWidth = 500),
  dashboardSidebar(),
  dashboardBody(
    tabItems(
      # Tab for Dashboard
      tabItem(tabName = "Dashboard"),
      # Tab for Survey Analytics
      tabItem(tabName = "Survey"),
      #Tab for Enquiry Analytics
      tabItem(tabName = "Enquiries"),
      #Tab for Web Analytics
      tabItem(tabName = "Metrics"),
      #Tab for Twitter Analytics
      tabItem(tabName = "Twitter")
    ),

    # Row 1 objects
    fluidRow(
      # Value boxes
      valueBox(
        479,
        "Total No. of Enquiries",
        color = "green",
        icon = icon("commenting")
      ),
      valueBox(
        1.7,
        "Average response time",
        color = "blue",
        icon = icon("exchange")
      ),
      valueBox(
        "98%",
        "Percentage satisfied customers",
        color = "orange",
        icon = icon("thumbs-up")
      )
    ),

    # Row 2 objects
    fluidRow(box(
      width = 12, plotlyOutput("Time_Ser", height = "400px")
    )),

    # Row 3 objects
    fluidRow(
      # Data visualisations 1
      box(width = 5, plotlyOutput("Enq_Num", height = "500px")),
      box(
        width = 2,
        h2("Control panel"),
        dateRangeInput(
          "date",
          "Date:",
          label = h4("Choose a time frame"),
          start = "2017-05-02",
          end = "2017-07-30",
          min = "2017-05-02",
          max = "2017-06-30",
          startview = "2017-06-30"
        ),
        selectInput(
          "select",
          "Select",
          label = h4("Select a month"),
          choices = c("May", "June")
        ),
        radioButtons(
          "area",
          "Area",
          label = h4("Response Time by Team"),
          choices = list("PEU", "DAU", "MSU", "PRO", "MISC"),
          selected = "PEU"
        )),
      box(width = 5, plotlyOutput("Response", height = "500px"))),

    #Row 4 Objects
    fluidRow(# Data visualisations 2
      box(width = 5, plotlyOutput("Enq_Outcome")),
      box(
        width = 2,
        selectInput(
          "outcome",
          "Outcome",
          label = h4("Enquiry outcomes by output area"),
          choices = list("Link", "Clarified", "CM", "Unavailable", "Referred")
        )))))

server.r

server <- function(input, output) {
      # Reactive date input for Tim_Ser
      Time2 <- Time
      reactiveTime <- reactive({
        Time2 %>% filter(Date.received >= input$date[1] &
                           Date.received < input$date[2])})

  # DATA
  Numbers <-
    data.frame(
      May = c(73, 26, 23, 10, 23),
      June = c(144, 28, 21, 20, 33),
      areas = c("PEU", "MIG", "DAU", "MISC", "PRO")
    )
  Time <- CusTible %>% group_by(Date.received) %>% tally(sort = TRUE)
  Time = Time[order(Time$Date.received), ]
  Respond <-
    data.frame(
      DAU = c(32, 14, 8),
      MIG = c(51, 7, 4),
      MISC = c(42, 41, 3),
      PEU = c(135, 16, 18),
      PRO = c(32, 15, 2),
      Days = c("1-2 Days", "3-4 Days", "5+ Days")
    )
  rownames(Respond) <- c("1-2 Days", "3-4 Days", "5+ Days")

  Outcome <-
    data.frame(
      Area = c("DAU", "PEU", "PRO", "MSU", "MISC"),
      CLAR = c(5, 23, 2, 2, 13),
      LINK = c(45, 4, 23, 24, 18),
      UNAV = c(1, 13, 15, 11, 12),
      CM = c(8, 15, 3, 10, 2),
      REF = c(26, 24, 11, 7, 12)
    )

  # OUTPUTS

  output$Time_Ser <- renderPlotly({
    Time_Ser <-
      plot_ly(reactiveTime(),
              x = Date.received,
              y = n,
              mode = "lines") %>%
      layout(title = "Q3. Enquiries over Time")

  })

  output$Enq_Num <- renderPlotly({
    selector <- switch(input$select,
                       "May" = Numbers$May,
                       "June" = Numbers$June)

    Enq_Num <- plot_ly(
      Numbers,
      x = areas,
      y = selector,
      type = "bar",
      color = areas
    ) %>%
      layout(
        title = "Q3. Enquiries by Output Team by Month",
        xaxis = list(title = "Output Team", showgrid = F),
        yaxis = list(title = "No. Enquiries")
      )

  })

  output$Response <- renderPlotly({
    if (is.null(input$area))
      return()
    area.select <- switch(
      input$area,
      "PEU" = Respond$PEU,
      "DAU" = Respond$DAU,
      "MSU" = Respond$MIG,
      "PRO" = Respond$PRO,
      "MISC" = Respond$MISC
    )

    Response <- plot_ly(
      Respond,
      labels = Days,
      values = area.select,
      type = "pie",
      rotation = 180,
      direction = "clockwise",
      hole = 0.6
    ) %>%
      layout(title = "Q3. Response Time")
  })

  output$Enq_Outcome <- renderPlotly({
    enq.outcome <- switch(
      input$outcome,
      "Clarified" = Outcome$CLAR,
      "Link" = Outcome$LINK,
      "CM" = Outcome$CM,
      "Unavailable" = Outcome$UNAV,
      "Referred" = Outcome$REF
    )
    Enq_Outcome <- renderPlotly(
      Outcome,
      y = Area,
      x = enq.outcome,
      type = "bar",
      colour = Area
    )
  })

}
shinyApp(ui, server)   

Ответы:


1

Итак, после долгого упорства и большой помощи эксперта

Я считаю, что все мои проблемы сводятся к селектору ввода radioButton ():

Я заменяю

 radioButtons(
      "area",
      "Area",
      label = h4("Response Time by Team"),
      choices = list("PEU", "DAU", "MSU", "PRO", "MISC"),
      selected = "PEU"
    )),

с участием

selectInput(
      "area",
      "Area",
      label = h4("Response Time by Team"),
      choices = list("PEU", "DAU", "MSU", "PRO", "MISC"),
    )),

И код работает отлично, сообщение об ошибке исчезает, а новый график и fluidRow интегрированы в Dashboard.

11.08.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..