r - 如何访问作为 RMarkdown 文档中的参数传递的文件中的数据?

标签 r shiny rstudio knitr r-markdown

继 RMarkdown 的 Parametrized Reports 上的最后一个示例之后页面,我正在尝试使用 ShinyYAML中使用以下代码选择我的输入文件的界面标题:

params:  
  data:  
    input: file  
    label: 'Input dataset:'  
    value: myData.csv  
Shiny界面出现,我可以浏览文件,但是当我尝试在 R 中进一步访问它时代码通过 read.csv(file=params$data, header=TRUE) ,我收到以下消息:

Error in file(file, "rt") : cannot open the connection



我怎样才能阅读我的文件?

注意:我看过一个thread用户在渲染 RMarkdown 时在函数中传递文件路径文件,但这不是我想要做的。我希望能够从 Shiny 中选择它界面。

编辑
玩多一点后,我认为问题是在读取我通过 shiny 选择的文件时创建的临时文件当我尝试访问接口(interface)并作为 params$data 传递时,它不再存在。
确实,file.exists(params$data)返回 FALSE .

所以我想我的问题现在变成了:我如何在这个临时文件被删除之前读取它?

最佳答案

看来这个不能再复制了。

只是为了解释这是如何完成的:

  • 创建一个新的 RMarkdown 文档
  • 将以下 yaml block 添加到顶部:
    params:  
      data:  
        input: file  
        label: 'Input dataset:'  
        value: myData.csv  
    
  • 将以下 R block 添加到文档中:
    ```{r data}
    cat(params$data)
    c <- read.csv(params$data)
    print(c)
    ```
    
  • 在“Knit”下拉列表中选择“Knit with Parameters”选项
  • 附加任何有效的 CSV,然后在 Shiny 参数面板中单击“编织”
  • 关于r - 如何访问作为 RMarkdown 文档中的参数传递的文件中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34436515/

    相关文章:

    python - 在 Rstudio 中安装 Tensorflow?

    r - R中的聚类分析期间"NAs introduced by coercion"

    r - R-数据帧列中唯一值的数量

    r - 出于调试目的将 Shiny 的响应式(Reactive) df 打印到控制台 (glipse(myreactive_df)?

    r - 使用 gitbook 格式和样式创建单个独立的 html bookdown 文件

    r - 在 RStudio 中寻址数据帧中的列时出现 gsub 错误消息

    r - 在 knitr 中指定多种同时输出格式

    r - dplyr: mutate() 和 mutate_if()

    r - 如何使用指标图形解决 Shiny 应用程序的显式小部件 ID 警告?

    r - 仅第一个多边形出现在 Leaflet 2.0.1 等值线图中