如何修复flexdashboard中的下载按钮侧边栏问题

时间:2016-05-30 04:33:49

标签: r flexdashboard

我在侧边栏面板的flexdashboard中添加了一个下载按钮,但是当我编织.RMD时它出现在主面板中。你能指导我如何解决它吗?

这是我正在努力实现的最小范例

---
title: "Download Button in Wrong Panel"
output: 
  flexdashboard::flex_dashboard:
    vertical_layout: scroll
runtime: shiny
---

```{r setup, include=FALSE}

## Setting up required libraries
library(flexdashboard)
library(dplyr)
library(shiny)
library(knitr)

dataset <- read.csv(somefile)
```

Inputs {.sidebar}
-----------------------------------------------------------------------

### Input Filters

```{r input}

## Metric 1
selectInput('metric',
            'Choose Metric',
            names(dataset %>% select(-default_column)),
            selected = "default_metric")

## Download Button
downloadButton('downloadData','Download Result Set')
```

Outputs
-----------------------------------------------------------------------

### List of Customers

```{r output}

subset_dataset <- reactive({
  dataset[,c("default_column",input$metric)]
})

renderTable({
  subset_dataset()
},
include.rownames = FALSE)

downloadHandler(filename = function() {
     paste('resultset-', Sys.Date(), '.csv', sep='')
   },
     content = function(file) {
     write.csv(subset_dataset(), file, row.names = FALSE)
   }
)
```

仪表板的屏幕截图如下

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:9)

没关系,我修好了,在发布问题之前没有尝试过,这是相当愚蠢的,但如果有人遇到类似的问题,解决方案就在这里。

下载处理程序功能也必须简单地放在侧边栏面板中,这样做。

Inputs {.sidebar}
-----------------------------------------------------------------------

### Input Filters

```{r input}

## Metric 1
selectInput('metric',
            'Choose Metric',
            names(dataset %>% select(-default_column)),
            selected = "default_metric")

## Download Button
downloadButton('downloadData','Download Result Set')

downloadHandler(filename = function() {
     paste('resultset-', Sys.Date(), '.csv', sep='')
   },
     content = function(file) {
     write.csv(subset_dataset(), file, row.names = FALSE)
   }
)