【发布时间】:2019-03-14 13:03:51
【问题描述】:
我有以下应用:
...
selectInput("cars", "Pick a Car: ",
c("All" = "All Cars",
"Ford" = "Ford",
"Volvo" = "Volvo",
"Ferrari" = "Ferrari",
"Fiat" = "Fiat",
"Merc" = "Merc"))
)),
shinySaveButton("save", "Save file", "Save file as ...", filetype=list(csv="csv")),
DT::dataTableOutput('table1')
)
)
# Define server logic required to draw a histogram
server <- function(input, output, session) {
mtcars$car <- rownames(mtcars)
output$table1 <-renderDataTable({
mtcars %>%
filter(stringr::str_detect(car, as.character(input$cars)) | input$cars == 'All Cars')
})
observe({
volumes <- c("UserFolder"="~/Documents/R1/DwnLdWord/saves")
shinyFileSave(input, "save", roots=volumes, session=session)
fileinfo <- parseSavePath(volumes, input$save)
data <- input$table1_rows_all
if (nrow(fileinfo) > 0) {
write.csv(data, fileinfo$datapath)
}
})
}
# Run the application
shinyApp(ui = ui, server = server)
当我保存静态数据集(如iris 或mtcars)时,文件会保存实际数据。但是,从图像中可以看出,我想保存过滤后的 DT 的内容。
我认为这就是 input$tableid_rows_all 的用途,但我只得到随机整数/数字值。我一直对这种废话感到困扰,但我真的很想让它工作,因为它是一个非常有价值的功能。
帮助?
【问题讨论】: