YAML中的RMarkdown错误

时间:2014-08-19 11:39:09

标签: yaml rstudio r-markdown

前几天我看了一场关于RMarkdown的RStudio精彩的网络研讨会。在网络研讨会之后,他们在网上发布了演示中使用的代码,我想查看一个例子。我拿了their code,把它放在我的RStudio(它说它完全是最新的,v0.98.978),安装或更新所有必要的软件包并点击"运行文件&#34 ;

我收到了一个我不理解的错误,Google对此毫无帮助。什么是这个神秘的< document start>以及如何包含它?我假设在给定代码源的情况下将包括所有必要的组件。

Error in yaml::yaml.load(front_matter) : 
  Parser error: did not find expected <document start> at line 2, column 1
Calls: <Anonymous> -> parse_yaml_front_matter -> <Anonymous> -> .Call
Execution halted

4 个答案:

答案 0 :(得分:25)

问题来自于将代码从浏览器复制到Rstudio。

原始标题信息是:

---
title: "Linked brushing"
output: html_document
runtime: shiny
---

粘贴的文字是:

---
  title: "Linked brushing"
output: html_document
runtime: shiny
---

缺少&lt;文档开始&gt;在标题的每个元素之前是不等量的空格。这可以通过在“输出”中添加空白来修复。和&#39;运行时&#39;线条或删除标题的白色空格&#39;线。

答案 1 :(得分:3)

此错误消息的另一个常见原因是使用制表符而不是空格来缩进您的YAML代码。您只能使用SPACES缩进YAML,不能使用TABS缩进。我正在写这篇文章,以供将来寻找。

title: "Initial Results"
output: 
  pdf_document:
    toc: true

答案 2 :(得分:2)

不是这种情况,但是使用pkgdown::build_site或更糟糕的是pkgdown::build_article时可能会发生相同类型的错误。当使用后者为程序包构建特定的小插图时,我注意到在内部对所有小插图的标题进行了解析。因此,即使您要构建的特定小插图正确,也会发生错误,而无需指定哪个文件的头文件已损坏。因此,当问题出在另一个文件中时,您可能会发现自己很难调试实际上是正确的标头。

答案 3 :(得分:0)

对于我来说,我需要在YAML标头顶部的三个破折号后添加一个空格:

--- [此处为单个空格-不包含方括号]
标题:“链接式刷牙”
输出:html_document
运行时:闪亮