首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用knitr::knit编译多个RNW文件

使用knitr::knit编译多个RNW文件
EN

Stack Overflow用户
提问于 2017-06-03 12:26:18
回答 0查看 201关注 0票数 0

我有一个基本的文件夹结构,如下所示:

代码语言:javascript
复制
> Top/    
    > FolderA/
    > FolderB/

在每个文件夹A/和文件夹B/ ...etc中。有一个名为myfile.rnw的文件

每个rnw文件由以下代码组成:

代码语言:javascript
复制
<<setup, eval=TRUE, include=FALSE, echo=FALSE>>=
library(knitr)
library(dplyr)
library(ggplot2)
opts_chunk$set(fig.path=paste("figure", unique_letter, "/", unique_letter, sep="")) 
#pretend that unique_letter makes the figure path unique for each rnw file
@
\documentclass[10pt]{article}
\begin{document}
Hello. This is file A. See the figure below.
<<plot, fig.cap="My test caption", include=TRUE, echo=FALSE>>=
a = data.frame(A = seq(1:100)) %>% 
  mutate(B = A^3)
myplot = ggplot()+
  geom_area(data = a, aes(x = A, y = B))
myplot
@
\end{document}

我正在尝试用以下代码使用knitr来编译每个rnw文件:

代码语言:javascript
复制
library(knitr)

mylist = list.files(path = "Path/To/Top",
                   pattern = ".rnw",
                   full.names = TRUE,
                   recursive = TRUE,
                   ignore.case = TRUE,
                   include.dirs = FALSE)

for (i in 1:length(mylist)) {
  knit(mylist[[i]], output = paste(dirname(mylist[[i]]), "/myfile.tex", sep = ""))
}

但是,当我运行代码来编译多个rnw文件时,我最终得到了一个.tex文件,但是没有一个文件夹来保存所有的图形。我使用下面的链接作为参考(前两个是非常相关的):

Can Sweave produce many pdfs automatically?

Using loops with knitr to produce multiple pdf reports... need a little help to get me over the hump

然后这个似乎是相关的,因为在我的实际文件夹结构中,rnw文件正在寻找多个R分析文件(.R)和常规的rnw文件,以查找重复的文本,并替换一些变量。

https://github.com/yihui/knitr/issues/913

尽管我不认为这是完全相关的,因为我可以将pdf文档分别放在与rnw文件相同的目录中。

我似乎不能使用knit2pdf,因为它不能与我的R版本(我正在恢复的过程中,以便我可以使用它)。

我还有下一步要将.tex文件转换成PDF,但是.tex文件现在无论如何都不会编译,因为figure文件夹并不是为rnw文件创建的。如有任何帮助,我们不胜感激!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44340243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档