R Markdown编织报错(忘记引用character选项/意外'}')如何修复?
问题原因
你的报错完全来自代码块起始声明的语法错误,和代码本身的运行逻辑无关:
- R Markdown代码块的配置项需要包裹在单个大括号内,你给出的代码块起始行末尾多写了1个多余的右大括号,导致knitr解析配置项时把多余的
}识别为非法字符,直接触发解析报错。 - 你观察到的代码本地可运行、仅编织失败的现象也符合这个逻辑:本地运行的是大括号内部的R代码,不会触发代码块配置项的解析校验,只有编织时knitr才会解析块配置。
解决方案
必做修改
把你代码块的起始行末尾多余的右大括号删掉即可,修改后的起始行如下:
{r 2a, echo=FALSE, eval=TRUE, warning=FALSE, message=FALSE }
修改后重新编织即可正常生成文档。
可选优化
如果修改后仍有异常,可以做以下额外调整:
- 块标签如果是数字开头,部分旧版本knitr可能存在解析兼容问题,可以给标签加引号或者改为字母开头,比如
{r "2a", echo=FALSE, eval=TRUE, warning=FALSE, message=FALSE } - 如果不需要在输出文档中展示128个国家名的输出,可以在对应赋值行末尾加半角分号抑制输出:
muestra.paises_AM <- tokio$country[1:128];
内容的提问来源于stack exchange,提问作者Ingrid Valdés Hidalgo
相关产品推荐
相关产品推荐

