如何在rnw文件中使用Knitr的条件eval

时间:2016-05-26 23:29:56

标签: r knitr rnw

我想使用knitr在rnw文件中对代码块使用条件eval。

当我运行官方示例时:knitr-examples / 011-conditional-eval.Rnw

def asFuture[T](handle: Handle[T]): Future[T] = {
  val promise = Promise[T]()
  handle.addListener(new Handle.Listener[T] {
    def onSuccess(handle: Handle[T]) {
      promise.trySuccess(handle.get())
    }
    def onFailure(handle: Handle[T], e: Throwable) {
      promise.tryFailure(e)
    }
  })
  promise.future
}

我收到以下错误:

\documentclass{article}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<controller>>=
# this variable controls if a chunk should be evaluated
dothis <- TRUE
@

<<chunk1, eval = dothis>>=
print('say hello world')
@

<<chunk2, eval = !dothis>>=
print('silence is gold')
@

\end{document}

我做错了什么?我正在使用Rstudio来运行rnw文件

1 个答案:

答案 0 :(得分:2)

你似乎在运行Sweave,而不是knitr。检查RStudio中的全局或项目选项,看看它选择了哪一个。