10_downloadは、データセットを選択と、そのデータをダウンロードするDownloadボタンの使用例です。mainPanelには、選択したCSVファイルの中身を表示します。
「10_download」の実行
library(shiny) runExample("10_download")
server.R
function(input, output) { datasetInput <- reactive({ switch(input$dataset, "rock" = rock, "pressure" = pressure, "cars" = cars) }) output$table <- renderTable({ datasetInput() }) output$downloadData <- downloadHandler( filename = function() { paste(input$dataset, '.csv', sep='') }, content = function(file) { write.csv(datasetInput(), file) } ) }
Code license:MIT
datasetInput
に、reactiveにinput$dataset
で入力された'rock', 'pressure', 'cars'を指定output$table
に、datasetInput()
で指定したデータを表として出力dounloadHandler()
でファイル名と、ファイルに格納するデータを指定し、output$downloadData
へ渡して出力
ui.R
fluidPage( titlePanel('Downloading Data'), sidebarLayout( sidebarPanel( selectInput("dataset", "Choose a dataset:", choices = c("rock", "pressure", "cars")), downloadButton('downloadData', 'Download') ), mainPanel( tableOutput('table') ) ) )
Code license:MIT
サイドバーに、'rock', 'pressure', 'cars'いずれかのデータの種類を選択するリストと、
downloadButton
を配置mainPanel
にoutput&table
で指定した表を出力