R read_yaml() 读取向量作为参数

ju.*_*ju. 3 yaml r r-markdown

我想读取 .yaml 文件以获取 Rmarkdown 报告的 yaml 参数。原来我有一个 yaml 标头来定义向量。

---
params:
  ids: !r c(2455, 2490) 
---
Run Code Online (Sandbox Code Playgroud)

它有效,其中params$ids是向量。

但是,如果我放入ids: !r c(2455, 2490)一个report_params.yaml文件中,并通过以下方式读取该 yaml 文件

report_params <- yaml::read_yaml("report_params.yaml")
Run Code Online (Sandbox Code Playgroud)

nowreport_params$ids是一个字符串'c(2455, 2490)'。那么我错过了什么,我应该如何解决这个问题?

Pau*_*aul 6

YAML 默认处理程序使用!expr而不是!r.

report_params.yaml:

---
params:
  ids: !expr c(2455, 2490)
---
Run Code Online (Sandbox Code Playgroud)
yaml::read_yaml("report_params.yaml")
#> $params
#> $params$ids
#> [1] 2455 2490
Run Code Online (Sandbox Code Playgroud)