我在R中看到两个版本的R2HTML包的不同行为。对于版本2.2.1,我可以在\Sexpr
中包含R变量,但在版本2.3.0中我可以&#39 ;吨。我可以使用不同的方式将Sweave称为兼容两种版本的R2HTML吗?
这是一个显示问题的示例.Rnw文件:
<html>
<body>
<p>x is \Sexpr{x}.</p>
</body>
</html>
这是一个示例.R文件,显示我如何调用Sweave:
library(R2HTML)
x <- 23
Sweave("sample.Rnw", driver=RweaveHTML, syntax="SweaveSyntaxNoweb")
当我执行Rscript sample.R
时,我看到了这个错误:
Writing to file sample.html
Processing code chunks ...
Error in eval(expr, envir, enclos) : object 'x' not found
Calls: Sweave -> <Anonymous> -> eval -> eval
Execution halted
我有R2HTML版本2.3.0,正如我在R:
中运行它所看到的那样installed.packages()[,'Version'][installed.packages()[,'Package']=='R2HTML']
如果我回滚到R2HTML版本2.2.1,它可以正常工作。
$ sudo R CMD REMOVE R2HTML
$ wget http://cran.r-project.org/src/contrib/Archive/R2HTML/R2HTML_2.2.1.tar.gz
$ sudo R CMD INSTALL R2HTML_2.2.1.tar.gz
$ Rscript sample.R && cat sample.html
Writing to file sample.html
Processing code chunks ...
file sample.html is completed
<html>
<link rel=stylesheet type=text/css href=R2HTML.css><body>
<p>x is 23.</p>
</body>
</html>
我在Ubuntu 14.04上运行。