IVI*_*VIM 1 knitr r-markdown shiny
我无法用闪亮的方式编译任何 .Rmd 文档。例如,这个五行文档(或任何文档,例如使用 File->New File -> R Markdown ... 创建的文档:Shiny Document)
\n---\ntitle: "Untitled"\noutput: flexdashboard::flex_dashboard\nruntime: shiny\n---\nEnd of my very short document.\nRun Code Online (Sandbox Code Playgroud)\n当我单击“运行文档”按钮时出现此错误:
\n==> rmarkdown::run(\'/home/gxd/R-codes/lesson10/tmp.Rmd\', shiny_args = list(launch.browser = FALSE), auto_reload = FALSE, dir = \'/home/gxd/R-codes/lesson10\', render_args = list(encoding = \'UTF-8\'));\nError in yaml::yaml.load(..., eval.expr = TRUE) : \n Scanner error: while scanning a quoted scalar at line 2, column 8 found unexpected end of stream at line 8, column 15\nCalls: <Anonymous> ... parse_yaml_front_matter -> yaml_load -> <Anonymous>\nExecution halted\nRun Code Online (Sandbox Code Playgroud)\n遵循此建议:\n YAML 中的 RMarkdown 错误\n我检查了 YAML 标头中的所有空格和其他特殊符号。一切似乎都是正确的。
\n有人知道是什么原因造成的以及如何解决它吗?我的会话信息如下:
\n> sessionInfo()\nR version 3.6.1 (2019-07-05)\n...\n> packageVersion("shiny") \n[1] \xe2\x80\x981.5.0\xe2\x80\x99\n> packageVersion("rmarkdown") \n[1] \xe2\x80\x982.3\xe2\x80\x99\n> packageVersion("knitr") \n[1] \xe2\x80\x981.28\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n
我发现,如果我创建新项目,然后使用 Shiny 创建一个新的 R Markdown 文件,那么它编译得很好。
我一定是我之前的项目目录中的某个东西阻止了我的 .Rmd 文件的闪亮。我确实有很多其他文件(包括其他带有闪亮的 .Rmd,但没有一个已编译)和各种子目录(其中我也有带有闪亮的 .Rmd 文件,以及它们进行编译的位置)。
但我仍然没有弄清楚到底是什么导致了这个问题。我尝试删除 ./Rproj.user 和 .Rhistory - 它没有任何效果。
因此,我创建了一个新的干净目录,并将上面所示的简单 5 行 .Rmd 文件放入其中并进行编译。
我仍然很好奇到底出了什么问题......
更新:
现在我知道问题出在哪里了!- 在同一目录中,我有另一个不相关的“未完成”.Rmd 文件。其他 .Rmd 文件的 YAML 标头的标题中带有未完成(打开)的字符串:
title: "The Header of another Rmd file that was in the same directory
Run Code Online (Sandbox Code Playgroud)
请注意,标题缺少结束语"。
一旦我修复了它,我现在可以编译同一目录中的任何其他 .Rmd 。
但如果我不修复它,我将不会在同一目录中编译任何其他 .Rmd!这有点奇怪,但事实就是如此。