我是一个新的闪亮用户,我在创建自己的闪亮应用程序时遇到了一些问题。为了说明我当前的方法,我们已经修剪了代码片段。
#ui.r
shinyUI(fluidPage(
sidebarLayout(
mainPanel(
tabsetPanel(
tabPanel(
selectInput("HM", "hour means",
c("A" = 1,
"B" = 2,
"C" = 3,
)),
dataTableOutput('HOUR_MEAN')
),
tabPanel(
selectInput("DM", "day means",
c("A" = 1,
"B" = 2,
"C" = 3,
)),
dataTableOutput('DAY_MEAN')
)
)))))
###server.r
shinyServer(function(input, output) {
output$HOUR_MEAN<-renderDataTable({
L<-myfun(mydata)
a<-input$HM
L[[1]][[eval(parse(text=a))]]
})
output$DAY_MEAN<-renderDataTable({
L<-myfun2(mydata)
a<-input$DM
L[[2]][[eval(parse(text=a))]]
})
})
现在我想要的是在我选择不同的面板和tabpanel的不同选择时下载数据表? 感谢您的帮助。
答案 0 :(得分:1)
试试这个
ui part
fluidRow( downloadButton('download_hour', 'download data'))) # in a tabitem
服务器部分
output$download_hour = downloadHandler('mydataoutput.csv', content = function(file) {
s = input$HOUR_MEAN_rows_all
write.table(mydata[s, ], file ,sep=";",row.names = F)
})