Я попытался использовать синтаксис приведенных здесь кодов Загрузить отфильтрованные данные из renderDataTable () в Shiny , а здесь R - Загрузить отфильтрованные данные .В моем случае я использую собственный файл .csv, а не стандартные данные 'mtcars'.По какой-то причине я не могу найти файл, если хочу его скачать (я открываю его в браузере).Код выглядит следующим образом:
library(shiny)
library(ggplot2)
library(DT)
library(readr)
tbl <- read.csv(file.choose(new = FALSE), header = TRUE, sep = ",", stringsAsFactors=TRUE)
# Define UI -------
ui <- navbarPage(
title = "Data Table Options",
tabPanel("Lot Dataset",
DT::dataTableOutput("dt"), #datatable
div(h3("Download"), style = "color:blue"),
helpText(" Select the download format"),
radioButtons("type", "Format type:",
choices = c("Excel (CSV)", "Text (Space Separated)", "Doc")),
br(),
helpText(" Click on the download button to download the Lot Dataset"),
p("Below are the row indices of the data."),
verbatimTextOutput("filtered_row"),
br(),
helpText(" Click on the download button to download the Lot Dataset"),
downloadButton("download_filtered", "Download Filtered Data"),
br()
)
)
и функция сервера с обработчиком загрузки:
server <- function(input, output) {
thedata <- reactive({datatable(tbl, filter = "top",options = list(pageLength = 25))})
output$dt <- DT::renderDataTable({
thedata()
})
#bottom panel with row indices
output$filtered_row <-
renderPrint({
input[["dt_rows_all"]]
})
#file extension for download
fileext <- reactive({
switch(input$type,
"Excel (CSV)" = "csv", "Text" = "txt", "Doc" = "doc")
})
#downloadHandler() for file download of Lot Dataset
output$download_filtered <- downloadHandler(
filename = function() {
file_name <- paste("MLdataset_test", fileext(), sep=".") #filename
},
content = function(file) {
write.csv(thedata()[input[["dt_rows_all"]], ],
file)
}
)
}
# Run the app ----
shinyApp(ui = ui, server = server)
Я хочу иметь возможность загружать отфильтрованные данные, но по какой-то причине не можетнайти файл, когда я хочу загрузить
Каждый раз, когда я пытаюсь загрузить его, в консоли появляется следующая ошибка:
Warning: Error in [: incorrect number of dimensions
[No stack trace available]
размер файла .csv ist:
dim (tbl) [1] 19100 56
Я был бы очень признателен за любую помощь, пытаясь исправить это часами, но безуспешно!