Я пытаюсь экспортировать реактивный набор данных в 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"