Как использовать реактивный набор данных при экспорте данных в CSV из Shiny? - PullRequest
0 голосов
/ 14 января 2019

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

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

ui <- 
  fluidRow(
    column(3, style = "padding:10px",
           downloadButton("downloadData", "Export current table to Excel")
    )
  ),
DT::dataTableOutput("customertable")

server <- function(input,output,session){
  dataExpTable <- reactive({
    all_statesClean %>%
      filter(
        is.null(input$states) | ship_to_region %in% input$states,
        is.null(input$counties) | county %in% input$counties,
        as.numeric(gsub(",", "", avg_opioid)) >= input$custminopVol,
        as.numeric(gsub(",", "", avg_opioid_perc)) >= input$custminopp,
        as.numeric(gsub(",", "", avg_oxy_hydro_perc)) >= -1,
        as.numeric(gsub(",", "", avg_oxy_hydro)) >= 0,
        c_avg_opioid >= input$minopVol,
        c_avg_opioid_perc >= input$minopp,
        c_avg_opioid_ppp >= input$minopppp,
        c_avg_oxy_hydro_perc >= -1,
        c_avg_oxy_hydro >= 0,
        c_avg_oxy_hydro_ppp >= 0
      )
  })

  output$customertable <- DT::renderDataTable({
    DT::datatable(
      dataExpTable(),
      escape = FALSE
    )
  })

  output$downloadData <- downloadHandler(

    filename = function(){
      paste(gsub("-", ".", Sys.Date()), " - ", "County level"," data",".csv", sep = "")
    }

    content = function(file){
      write.csv(dataExpTable(),file, row.names = FALSE)
    }
  )
}

Вместо того, чтобы извлечь из этого CSV-файл, кнопка загрузки просто печатает HTML-версию всей страницы и возвращает ошибку:

Error in is.data.frame(x) : could not find function "dataExpTable"

1 Ответ

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

Просто пропускала запятую после функции filename.

...