2

我对 Sweave + RweaveHTML 有疑问

我希望 cat 的输出最终出现在正在生成的 html 文件中。我有一个案例没有,我不知道为什么:(

test = function()
{
   #bla bla;
   cat("Result is...")
}

然后在 Rnw 文件中我尝试了所有这些:

<<echo=FALSE, results=html, include=TRUE>>=
test()
@

<<results=html, include=TRUE>>=
test()
@

<<results=html>>=
test()
@

<<>>=
test()
@

但我没有在生成的 HTML 文件中得到 cat 输出。我很确定这应该可以工作...

关于我应该怎么做才能将标准输出输出到最终的 html 文件的任何想法?

谢谢!

4

1 回答 1

1

驱动程序的工作方式与创建输出的驱动程序不同,每一行代码的结果RweaveHTML使用通用函数处理。其他创建输出的方法不起作用。因此,要从函数中获取输出,我知道有两种方法;一种是返回一个要泛型处理的值,另一种是直接调用。以下对您的函数的替换演示了两者。RweaveLatexHTMLHTMLHTMLtest

test <- function() {
   #bla bla;
   HTML("Result is...")
   "Return value is"
}

也可以替换catHTML; 那么您的原始功能将起作用。但这有点像黑客攻击,可能会产生无法预料的后果;你会放

cat <- HTML

在文档开头的(可能隐藏的)Sweave 块中。

于 2011-11-04T13:04:37.110 回答