首页 > 解决方案 > 数据表输出的错误代码:参数不可解释为逻辑

问题描述

新来的闪亮,我目前正在构建一个基本的应用程序,用于更新远程谷歌表的人员计数器,我已经将问题缩小到函数dataTableOutput()及其返回:Error: argument is not interpretable as logical

我已经搜索了 Shiny 的功能描述站点,以及其他(有点)相关的问题和教程。当我删除它时错误代码消失了,但应用程序崩溃了,我还确保更新所有包和我正在使用的 R 版本。我也在 anaconda 的 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)

基本上,输出应该只是谷歌表的更新,其中包含人员输入的计数、日期、他们做了什么等。我不确定dataTableOutput()抛出了什么逻辑。

标签: rgoogle-sheetsshiny

解决方案


我已经解决了逻辑问题, dataTableOutput() 是正确的,问题是由于无法正确访问 Googlesheet 标题,我现在可以阅读它,只需列出特定工作表的正确名称。一旦我向我的私人工作表提供了 Googlesheets 到 Shiny 的访问权限,它就可以工作了。确保gs_title()其中包含正确的工作表名称(标题)!


推荐阅读