首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在flexdashboard中上载文件

在flexdashboard中上载文件
EN

Stack Overflow用户
提问于 2019-01-09 23:02:36
回答 1查看 1.7K关注 0票数 3

我正试图在flexdashboard中添加一个输入文件,但我有点困惑。之前,我创建了一个函数来生成绘图,然后使用该函数调用函数renderPlot,以便在仪表板中获得绘图。

R flexdashboard and shiny interactive plot

但是现在,如果我创建一个函数来读取文件,我不知道如何调用它。

如何遵循相同的思路,创建一个函数来读取仪表板中包含输入文件的文件,然后在仪表板中执行分析。

我已经生成了这段代码

代码语言:javascript
复制
    ---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}

库(Flexdashboard)

库(闪亮)

代码语言:javascript
复制
Column {.sidebar}
-----------------------------------------------------------------------
```{r, echo = FALSE}

fileInput("file1",“选择CSV文件”,

代码语言:javascript
复制
            multiple = TRUE,
代码语言:javascript
复制
            accept = c("text/csv",
代码语言:javascript
复制
                     "text/comma-separated-values,text/plain",
代码语言:javascript
复制
                     ".csv"))
代码语言:javascript
复制

这样,我就获得了一个带有File输入的侧边栏。但是如何在任何分析中使用上传的文件并在仪表板中显示结果呢?

代码语言:javascript
复制
    ---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}

库(Flexdashboard)

库(闪亮)

代码语言:javascript
复制
Column {.sidebar}
-----------------------------------------------------------------------
```{r, echo = FALSE}

fileInput("file1",“选择CSV文件”,

代码语言:javascript
复制
            multiple = TRUE,
代码语言:javascript
复制
            accept = c("text/csv",
代码语言:javascript
复制
                     "text/comma-separated-values,text/plain",
代码语言:javascript
复制
                     ".csv"))

df_reac <-反应性({

Read_xlsx(文件1$数据路径)

})

代码语言:javascript
复制
Column{data-width=300}
-----------------------------------------------------------------------
```{r, echo = FALSE}

renderTable(df_reac)

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

发布于 2021-03-08 10:15:50

这是一个老问题,但这段代码可以让你在Flexdashboard上上传文件:

代码语言:javascript
复制
    ---
    title: "Untitled"
    output: 
      flexdashboard::flex_dashboard:
        orientation: columns
        vertical_layout: fill
    runtime: shiny
    ---

    ```{r setup, include=FALSE}
    library(flexdashboard)
    ```

    ```{r}
    dataset <- eventReactive(input$file1,{
      dataset <- read.csv(input$file1$datapath)
    })
    ```

    # Column {.sidebar}

    ```{r, echo = FALSE}
    fileInput("file1", "Choose CSV File",
                    multiple = TRUE,
                    accept = c("text/csv",
                             "text/comma-separated-values,text/plain",
                             ".csv"))
    ```

    # Data 

    ## Row

    ### Table 1 - Show the data recently acquired

    ```{r}
    renderTable({
      dataset <- dataset()
      dataset
    })
    ```

主要的问题是创建一个反应式函数,因为在上传文件之前,您不知道数据集。反应值为input$file1

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54112979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档