前几天我看了一场关于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
答案 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
运行时:闪亮