Код ошибки с выходом таблицы данных: аргумент не интерпретируется как логический - PullRequest
0 голосов
/ 08 января 2019

Впервые на блестящий, я в настоящее время создаю базовое приложение, которое действует как счетчик людей, которое обновляет удаленный лист Google, я сузил проблему до функции dataTableOutput() и ее возврата: Error: argument is not interpretable as logical

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

fields <- c("Pool", "Table Tennis", "Arcade Games",
            "Console Games", "Board Games", "Air Hockey",
            "Cornhole")

Maindata <- c("date","semester", "games", "num")

semesters <- c("Spring", "Summer", "Fall")

ui <- fluidPage(

  titlePanel("Corner Pocket Customer Counter"),
    sidebarLayout(

      sidebarPanel(

        dataTableOutput("Game_Table"),

        checkboxGroupInput(
          inputId = "games",
          label = "Games",
          choices = fields, 
          inline = FALSE),

        numericInput(
          inputId = "num",
          label = "Number of Customers",
          min = 0,
          max = 1000,
          value = 0,
          step = 1),

        dateInput(
          inputId = "date",
          label = "Today's Date",
          value = Sys.Date()),

        checkboxGroupInput(
          inputId = "semester",
          label = "Semester",
          choices = semesters, 
          inline = FALSE),

        actionButton(
          inputId = "submit",
          label = "Submit")
        ),
      mainPanel()
      )
  )

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

  formData <- reactive({
    data <- sapply(Maindata, function(x) input[[x]])
    data
  })


  observeEvent(input$submit, {
    saveData(formData())
  })

  output$Game_Table <- renderDataTable({
    input$submit
    loadData()
  })

}
  table <- "Game_Table"

  saveData <- function(data) {
    # Grab the google sheet
    table %>% gs_title("Sheet Key") %>% gs_add_row(input = data)
  }

  loadData <- function() {
    table %>% gs_title("Sheet Key ") %>% gs_read_csv
  }



shinyApp(ui = ui, server = server)

По сути, вывод должен быть просто обновлением таблицы Google с учетом того, что человек вводит в отношении количества, даты, того, что они сделали и т. Д. Я не уверен, что логично dataTableOutput() выбрасывает.

1 Ответ

0 голосов
/ 09 января 2019

Я исправил логическую проблему, dataTableOutput () была правильной, проблема возникла из-за невозможности правильно получить доступ к заголовку Googlesheet, я могу прочитать его сейчас, просто перечислив правильное имя лист . Как только я предоставил доступ Googlesheets Shiny к своему личному листу, он смог работать. Убедитесь, что gs_title() содержит правильное название листа (заголовок)!

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