【发布时间】:2011-11-08 22:10:10
【问题描述】:
我经常创建特定的 sweave 文件来进行分析和生成 pdf 文档,但是,有时我想获取现有的 R 脚本文件并运行它,同时生成命令和输出的 pdf。我知道有一个 tangle 命令可以将 R 命令从 rnw sweave 文件中提取出来以创建 R 脚本,但我想要相反。
编辑: 我考虑过创建一个仅作为 R 脚本来源的 sweave 文件,但我每次都需要编辑 sweave 文件,而且它不能很好地处理绘图和图形。
所以对于这样的示例 R 脚本(伪代码,可能无法运行)
head(mcars)
1+1
x<-3
describe(mcars)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()
print(p)
它会生成
<<echo=TRUE, result=latex>>=
print(xtable(head(mcars)))
@
<<echo=TRUE, include=TRUE>>=
1+1
x<-3
@
<<echo=TRUE, result=latex>>=
print(xtable(describe(mcars)))
@
<<echo=TRUE, fig=TRUE, include=TRUE>>=
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()
print(p)
@
有人做过吗?
【问题讨论】:
-
我已经为帮助程序包中的 HTML 完成了此操作,但没有为 Latex 完成此操作。
-
有趣的想法。似乎它需要对 R 有相当复杂的理解。但是可以使用 perl 脚本(由一组可配置的规则驱动)来完成一些可行的事情。