我在Shiny中遇到downloadHandler()
的问题:
我想从三个数据集中选择通过此功能下载任何文件。应用程序中的下拉菜单显示了三个可供选择的文件,但是当我点击下载时,它始终是下载的第一个数据集。
整体代码很长,但这是相关部分。如果有人指出我犯了错误的地方,我感激不尽:
ui <- fluidPage( tabPanel("Downloading Data",
titlePanel("Download Data"),
sidebarLayout(
sidebarPanel(
selectInput("dataset",label="Choose a dataset:",c("m.census","f.census","mortality.rates")),
downloadButton("downloadData","Download")
),
mainPanel(
tableOutput("tab3")
)
)
)
)
server <- function(input, output) {
datasetInput<-reactive({
switch(input$dataset,
"m.census"=m.census,
"f.census"=f.census,
"mortality.rates"=mortality.rates)
})
output$tab3<-renderTable({
datasetInput()
})
output$downloadData<-downloadHandler(
filename=function(){
paste(input$dataset,".csv",sep="")
},
content=function(file){
write.csv(datasetInput(),file,row.names = FALSE)
}
)
}