Блестящее приложение с функцией, которая принимает логические аргументы - PullRequest
0 голосов
/ 28 мая 2020

Я новичок в R и Shiny и мне нужна помощь. Я написал функцию для интерактивного визуального элемента, в которой используются два аргумента: фрейм данных и логическое значение. Логическое значение контролируется одним виджетом флажка.

Это общий код, который я написал для визуальной функции:

function_name <- function(df, boolean_value) {
  if (boolean_value == TRUE) {
    plot <- ## code for first version of plot
  } else {
    plot <- ## code for second version of plot
  }
  return(plot)
}

Когда я запускаю эту функцию самостоятельно, я не получаю ошибки, хотя, когда я запускаю свое блестящее приложение, я получаю сообщение об ошибке « Ошибка: необходимо указать символ или строку в качестве аргумента ». Я протестировал два варианта сюжета самостоятельно, и они отлично работают. Я также протестировал всю функцию самостоятельно, используя function_name(desired_df, "TRUE") или function_name(desired_df, "FALSE") (desired_df - это фрейм данных, для которого я хочу, чтобы функция работала), и, опять же, он дает результат, который я ищу. Проблема возникает, когда я запускаю блестящее приложение.

Для серверной части я поставил:

server <- function(input, output) {
  output$rendered_function_name <- renderPlot({
    return(function_name(desired_df, input$checkbox_input))
  })
}

Для части пользовательского интерфейса я поставил:

page_1 <- tabPanel(
  "Page 1 Title",
  titlePanel("Visual Title"),
  sidebarLayout(
    sidebarPanel(
      checkboxInput(
        inputId = "checkbox_input", 
        label = "Checkbox Label", 
        value = TRUE)
    ),
    mainPanel(
      plotOutput(
        "rendered_function_name"
      )
    )
  )
)

ui <- navbarPage("App Title",
                 page_1
                 )

И для часть приложения, которую я поставил:

shinyApp(ui = ui, server = server)

function_name, server, page_1 и ui, каждый запускается самостоятельно без проблем. Проблемы возникают только на этом последнем шаге, когда я пытаюсь запустить блестящее приложение. Может кто поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...