【问题标题】:R read_yaml() reads a vector as parameterR read_yaml() 读取一个向量作为参数
【发布时间】:2021-02-03 20:09:45
【问题描述】:

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

---
params:
  ids: !r c(2455, 2490) 
---

它可以工作,其中params$ids 是一个向量。

但是,如果我将 ids: !r c(2455, 2490) 放入 report_params.yaml 文件中,并通过

读取该 yaml 文件
report_params <- yaml::read_yaml("report_params.yaml")

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

【问题讨论】:

    标签: r yaml r-markdown


    【解决方案1】:

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

    report_params.yaml:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-07
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      相关资源
      最近更新 更多