【发布时间】:2018-03-02 09:31:27
【问题描述】:
我为输出 CSV 的 R Shiny 应用程序创建了一个下载按钮。我想在 UI 中添加复选框,以选择输出 json、xls 和 TSV 文件的选项,然后是服务器函数中的相应函数。有什么见解吗?下面是一些与此相关的最小代码:
library(shiny)
set.seed(123)
N<- 500
M<-56
EF<- matrix( rnorm(N*M,mean=23,sd=3), N, M)
WM<- matrix( rnorm(N*M,mean=20,sd=3), N, M)
DP<- matrix( rnorm(N*M,mean=25,sd=3), N, M)
Date <- seq(as.Date("2018-01-01"), as.Date("2018-02-25"), by="days")
Date <- as.POSIXct(Date, format = "%Y-%m-%d %H:%M")
ui <- fluidPage(
titlePanel(code(strong("Measures"), style = "color:black")),
sidebarLayout(
sidebarPanel(
strong("Tools:"),
selectInput("Test",
label = "Choose a measure to display",
choices = c("EF",
"WM",
"DP"
),
selected = "EF"),
downloadButton("downloadData", "Download")),
mainPanel(
code(strong("Output Data"))
))
)
server <- function(input, output) {
output$downloadData <- downloadHandler(
filename = function() {
paste(input$dataset, "Table.csv", sep = ",")
},
content = function(file) {
write.csv(x, file, row.names = FALSE)
}
)
}
# Run that shit ----
shinyApp(ui = ui, server = server)
【问题讨论】: