【问题标题】:Error in YAML with R Markdown带有 R Markdown 的 YAML 错误
【发布时间】:2019-01-04 07:43:03
【问题描述】:

我有以下称为test.Rmd 的 R Markdown 脚本:

---
params: 
  results: 
  value: !r mtcars
---

```{r setup, echo=FALSE, include=FALSE}
df <- params$results
knitr::kable(df)
```

当我在 OpenCPU 中运行以下命令时:

library(rmarkdown)
library(knitr)
rmarkdown::render("test.Rmd", output_format = "html_document")

yaml::yaml.load(yaml, handlers = knit_params_handlers(evaluate = evaluate), 中的错误: 未使用的参数(eval.expr = TRUE)

我安装了不同版本的 YAML,但没有解决问题。

【问题讨论】:

  • 您能否细化这个问题,因为目前很难确定哪里可能出错。一些提示: 1) 使用其他人可以重新创建的数据集,例如 mtcars 数据集。 2) 是否需要定义“导出”功能,或者您可以正常运行render 功能吗? 3)更改文件路径以删除system.file路径并创建一个相对路径。在进行这些更改时,您甚至可能自己发现问题。
  • 查看我的编辑。据我了解,这仍应显示您所看到的错误。如果不正确,请回滚更改。
  • 是的,即使没有参数,它也会抛出相同的错误:params = list(results = mtcars)。如果我在 R markdown 脚本 params: results: !r mtcars 中编写并执行 rmarkdown::render("mtcarsexample.Rmd", output_format = "html_document") 我会得到同样的错误
  • 好的,我进一步编辑了你的问题。请以此为例说明如何在将来减少您的问题 :) 您确定您的所有软件包都是最新的吗? install.packages("rmarkdown")
  • 是的,谢谢!最后我已经解决了。我安装的 yaml-2.1.14 软件包已损坏。我不得不手动删除它并且我已经安装了 2.1.19 版本。自最新版本 2.2.0.也给我带来了问题

标签: r yaml r-markdown opencpu


【解决方案1】:
  1. 从 CRAN 安装 devtools 包。
  2. 在 R 中,运行以下命令:

    库(开发工具)

    install_github('viking/r-yaml')

【讨论】:

  • 欢迎来到stackoverflow。如果你能更完整地解释它,你的答案将是最有用的。
  • 尝试install_github('viking/r-yaml'),它不仅失败了,而且现在显然已被 RStudio 安装损坏,因此在启动时,我多次收到Error in .Call(C_unserialize_from_yaml, string, as.named.list, handlers, : Incorrect number of arguments (8), expecting 4 for 'unserialize_from_yaml'。我似乎也无法重新安装原来的yaml。对答案的更多解释会很好。
【解决方案2】:

我也花了一些时间来解决这个问题。看来新的knitr 需要yaml 2.2.0 及更高版本。

@ScientificProgrammer 在 github 上提供的帮助 https://github.com/viking/r-yaml/issues/56#issuecomment-441394840 帮助了我。解决方案是使用 standard R 而不是 RStudio 中的 devtools 安装新软件包。我确实收到了一些编译器错误消息,但它似乎有效。所以不要让它让你失望。

所以在标准 R 中假设你有 devtools

library(devtools)
devtools::install_github("viking/r-yaml")

我将他们的答案全文复制到下面,以帮助人们以防链接断开:

如果有帮助,我遇到了和 IndrajeetPatil 一样的问题 我试图从内部运行 devtools::install_github("viking/r-yaml") 工作室。如果我从内部运行 install.packages("viking/r-yaml") RStudio,问题已解决。

但是,当我退出 RStudio 并运行时 标准 R 中的 devtools::install_github("viking/r-yaml") 客户端,我仍然收到相同的编译器警告,但问题 也走了。

附:另一个帮助某些人的流行解决方案是完全删除 yaml 目录,例如使用 Windows 资源管理器。重启RStudio Ctrl + Shift + F10,然后重新安装yaml包。这对我不起作用,因为它一直只给我 2.1.18 版本。

【讨论】:

    猜你喜欢
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多