【发布时间】:2019-05-11 15:23:53
【问题描述】:
我在将 spin-annotated R 脚本编译为 HTML/PDF 时遇到问题。
这是一个 MWE:
#' ---
#' output:
#' html_document:
#' toc: true
#' toc_float: true
#' pdf_document:
#' toc: true
#' jupyter:
#' jupytext:
#' text_representation:
#' extension: .R
#' format_name: spin
#' format_version: '1.0'
#' jupytext_version: 0.8.4
#' kernelspec:
#' display_name: R
#' language: R
#' name: ir
#' language_info:
#' codemirror_mode: r
#' file_extension: .r
#' mimetype: text/x-r-source
#' name: R
#' pygments_lexer: r
#' version: 3.6.0
#' ---
#+ setup, include=F, echo=F
knitr::opts_chunk$set(collapse=T)
#+ error=T
.3 <- 5
#' some text
#+ error=T
for <- 5
脚本是从运行 R 内核的 jupyter notebook 创建的。转换是使用jupytext 完成的。
构建失败并出现以下错误:
Error in parse(text = x, keep.source = TRUE) :
<text>:122:5: unexpected assignment
121: #+ error=T
122: for <-
^
Calls: <Anonymous> -> <Anonymous> -> getParseData -> parse
Execution halted
这是来自 R 研讨会的摘录,代表错误的变量命名,因此错误是意料之中的。因此,error=T 块选项。
最让我困惑的是 (i) 这个脚本之前编译没有问题(最后一次成功构建是在 2018 年 12 月 5 日;直到现在还没有尝试过重建),并且 (ii) .3 <- 5 就像错了,但 R 只抱怨第二行。
我正在使用以下方法将文档编译为 HTML:
Rscript -e 'rmarkdown::render("filename.R", output_format = "html_document")'
在 R v3.6 和4.14.113-1-MANJARO Linux 上运行,knitr 是 v1.22,rmarkdown 是 v1.12(根据 sessionInfo)。
【问题讨论】:
标签: r r-markdown knitr