如何访问作为 RMarkdown 文档中的参数传递的文件中的数据?
How do I access the data from a file passed as parameters in a RMarkdown document?
按照 RMarkdown 的 Parametrized Reports 页面上的最后一个示例,我尝试将 Shiny
接口用于 select 我的输入文件,在 YAML
中使用以下代码header:
params:
data:
input: file
label: 'Input dataset:'
value: myData.csv
Shiny
界面出现,我开始浏览文件,但是当我尝试通过 read.csv(file=params$data, header=TRUE)
在 R
代码中进一步访问它时,我得到了以下消息:
Error in file(file, "rt") : cannot open the connection
我怎样才能阅读我的文件?
注意:我看到一个用户在渲染RMarkdown
文档时在一个函数中传递文件路径,但是这个这不是我想要做的。我只是希望能够从 Shiny
界面 select 它。
编辑
玩了一会儿之后,我认为问题是当我尝试访问时,通过 shiny
接口读取我 select 并作为 params$data 传递的文件时创建的临时文件不再存在它。
的确,file.exists(params$data)
returns FALSE
。
所以我想我的问题现在变成了:我如何在删除这个临时文件之前读取它?
看来不能再复制了
只是为了解释这是如何完成的:
- 创建新的 RMarkdown 文档
将以下 yaml 块添加到顶部:
params:
data:
input: file
label: 'Input dataset:'
value: myData.csv
将以下 R 块添加到文档中:
```{r data}
cat(params$data)
c <- read.csv(params$data)
print(c)
```
Select 在 "Knit" 下拉菜单下 "Knit with Parameters" 选项
- 附加任何有效的 CSV 文件,然后在 Shiny 参数面板中单击 "Knit"
按照 RMarkdown 的 Parametrized Reports 页面上的最后一个示例,我尝试将 Shiny
接口用于 select 我的输入文件,在 YAML
中使用以下代码header:
params:
data:
input: file
label: 'Input dataset:'
value: myData.csv
Shiny
界面出现,我开始浏览文件,但是当我尝试通过 read.csv(file=params$data, header=TRUE)
在 R
代码中进一步访问它时,我得到了以下消息:
Error in file(file, "rt") : cannot open the connection
我怎样才能阅读我的文件?
注意:我看到一个RMarkdown
文档时在一个函数中传递文件路径,但是这个这不是我想要做的。我只是希望能够从 Shiny
界面 select 它。
编辑
玩了一会儿之后,我认为问题是当我尝试访问时,通过 shiny
接口读取我 select 并作为 params$data 传递的文件时创建的临时文件不再存在它。
的确,file.exists(params$data)
returns FALSE
。
所以我想我的问题现在变成了:我如何在删除这个临时文件之前读取它?
看来不能再复制了
只是为了解释这是如何完成的:
- 创建新的 RMarkdown 文档
将以下 yaml 块添加到顶部:
params: data: input: file label: 'Input dataset:' value: myData.csv
将以下 R 块添加到文档中:
```{r data} cat(params$data) c <- read.csv(params$data) print(c) ```
Select 在 "Knit" 下拉菜单下 "Knit with Parameters" 选项
- 附加任何有效的 CSV 文件,然后在 Shiny 参数面板中单击 "Knit"