我经常创建特定的 sweave 文件来进行分析并生成 pdf 文档,但是,有时我想获取现有的 R 脚本文件并运行它,同时生成命令和输出的 pdf。我知道有一个 tangle 命令可以从 rnw sweave 文件中提取 R 命令来创建 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)
@
有人做过这个吗?
我有一个名为knitr
正在开发中,可能适合您,但我需要警告您,它仍处于开发的早期阶段,因此可能存在错误。阅读有关的部分代码参考在不完整的手册中https://github.com/downloads/yihui/knitr/knitr-manual.pdf https://github.com/downloads/yihui/knitr/knitr-manual.pdf
基本上你在 Sweave 中写了一个空块,就像
<<my-chunk-label>>=
@
并且您在外部 R 脚本中使用相同的标签(例如foo.R
)
## @knitr my-chunk-label
1 + 1; x <- 3
块选项ref
用于指定脚本的路径(例如ref=foo.R
); knitr
将读取 R 脚本并将标签与 Rnw 文档进行匹配。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)