"文件错误"而不是" eval中的错误"在knit2html中指定输出文件时

时间:2014-04-07 16:02:23

标签: r knitr r-markdown

我正在从一个名为" template.Rmd"的Rmd文件中制作几个html报告。 使用函数knit2html()时,会出现误导性错误消息,"无法打开连接",实际上错误是由于代码错误导致的,例如缺少变量。让我举一个例子来说明:

Template.Rmd包含此内联R代码:

`r missing_variable`

当我没有指定输出文件时,我收到一条有用的错误消息

> knit2html("docs/template.Rmd")
Quitting from lines 2-4 (docs/template.Rmd) 
Error in eval(expr, envir, enclos) : object 'missing_variable' not found

当我指定输出文件时,会收到误导性错误消息

> knit2html("docs/template.Rmd", "docs/template.html")
Warning in file(file, ifelse(append, "a", "w")) :
cannot open file 'docs/template.html': No such file or directory
Error in file(file, ifelse(append, "a", "w")) : 
cannot open the connection

这是一个与编织有关的问题吗?

1 个答案:

答案 0 :(得分:1)

我无法在CRAN上使用最新版本的R和 knitr 重现您的问题,但在大多数情况下,您无需指定output参数,而且强烈不建议使用包含目录名的输出路径,例如docs/template.html(请参阅?knit中的“注释”部分)。在您的情况下,只需将工作目录切换到docs并运行knit2html(),例如

setwd('docs')
knit2html('template.Rmd')  # generates template.html