|
|
<h2>R: In RStudio how do I make knitr output to a different folder to avoid cluttering up my drive?</h2>& q" b2 v2 S7 \% j" b
<div id="fc">( Y4 Y6 G2 K7 g' i! M
<p><center> </center></p>
' t5 h" X7 A3 r. |<p>我正在使用 RStudio 的 knit HTMl 函数来输出一些演示文稿。但它总是将文件输出到我当前的工作目录。如何将其输出到另一个目录,以便我的目录干净,只有原始 .rmd 文件?</p>
6 G( v; a7 E! ]4 R( s<div class="suo-content"><div style="text-align: right;">3 V, v$ J1 q3 z: g5 a
<div class="xControl"><i class="fa fa-caret-right"></i>* m9 H* t: v$ i `$ i
<span class="xTitle"></span> 3 [" M0 c$ t' E6 l0 f
相关讨论
- e# }0 Y$ P, Y* z0 m4 o4 H! ~5 N <div style="clear: both;"></div>
2 n, T* ~/ Z% T) J </div>
& l1 T8 R9 W i7 e, | <div class="xContent" style="display: none;"><p></p>
3 W" R" t9 ]' G2 r N/ y<ul>
" o1 N5 ]8 h4 Z; L: x: F7 d1 @<li>您需要使用 knit HTML 按钮吗?如果没有,你可以做 <wyn>rmarkdown::render('my.Rmd', output_file = 'folder/my.html')</wyn>( N, `% f; q# |$ Q {3 W
</li>
; w1 L$ t9 D; E* `, w% G, X<li>% z% l1 P4 o) H$ X) G+ u4 t
另见:github.com/ropenscilabs/ezknitr</li>
! d/ Z3 X) M/ T: U</ul>
9 ^. t9 { D4 P( ^, y<p></p></div>
$ L/ r, w2 l% p </div><p></p></div>
2 `3 x4 Q) ~, g. f8 }<hr>& i" V f5 S$ f1 \# |8 e# {( L. g% v
<p>Rmarkdown 中提到的将输出文件定向到目录中的技巧对我有用。</p>4 n& D- Y. W& `2 [: C! p
<p>示例:将以下内容添加到 YAML 前导作为顶级项,以将输出写入 <wyn>pdf/</wyn> 子目录:</p>
/ j4 g _! h4 f; O7 K0 `<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br></div></td><td><div class="text codecolorer">knit: (function(inputFile, encoding) {<br>
3 [: s q( s+ y7 u" }" a W rmarkdown::render(inputFile, encoding = encoding, output_dir ="pdf") })</div></td></tr></tbody></table></div>' F& Y2 f- A, n5 T& R9 U
<div class="suo-content"><div style="text-align: right;">) a; D& _- ?5 V% b% o3 T
<div class="xControl"><i class="fa fa-caret-right"></i>3 D4 e# c8 N* U& D
<span class="xTitle"></span>
7 _: ~6 i$ u! J: B 相关讨论9 e2 g0 s: ?) ~; n
<div style="clear: both;"></div>$ j* h0 h( H) N2 k2 k1 L9 b9 F5 q
</div>7 c9 G9 {* U% `. E3 S/ @- G# `
<div class="xContent" style="display: none;"><p></p>
& d* u A: ?: a2 f- O<ul>. D3 V U( p$ h s( Q* O
<li>
# N( \4 E# j+ F. a; D/ T+ `这会以任何方式改变工作目录吗?我刚刚在我的prolog中添加了一个类似的片段(指定 <wyn>output_file</wyn>),但是当我通过编织按钮编织文档时,不知何故不再找到某些对象。当我在prolog中注释掉新行时,一切正常。
! B* \( `: f$ |. U" e</li>
, |" H5 {+ H. c<li>
+ t! Y g7 F2 E! ^! }@stats-hb:我不知道,但是您可以使用包含显示 <wyn>getwd()</wyn> 的块的文档对其进行测试。4 V# g% b1 V$ d5 M0 r
</li>7 z7 U3 V) R* F( Y- q, I
<li>7 Y8 X/ e! f. ?* G. j% w# q5 O
这对我有用,它不会改变工作目录。谢谢。# _: X8 T, v: I- ]+ p# q; Q
</li>
5 K/ v# K# @) }+ b# t n3 R0 c<li> t! _* O5 r+ K$ o: V
是的,这很完美。非常感谢!2 L2 Q, {, f" \1 J- }* \
</li>
% ?6 ?. m! Q$ r0 R# N<li>; Y/ o: |/ {7 D
@stats-hb 似乎它使用了 Knitr 默认值,其中 knit 目录是 .rmd 所在的位置,即使您使用 knit 按钮旁边的下拉菜单更改了 knit 目录也是如此。我将 <wyn>knit_root_dir = rprojroot::find_rstudio_root_file()</wyn> 添加到 <wyn>render</wyn> 调用中,它可以将 knit 目录设置为项目目录</li>9 `5 W! X# u, B _4 w9 o3 o
</ul>
7 c) {& k [ H7 j7 P<p></p></div> h3 H* `% t' A" a7 y+ Y9 t" ]
</div><p></p></div>5 u# g, S) L" x* C0 g
<hr>
6 U3 s7 F8 J8 j" F: ^1 c<p>正如 Eric 在评论中指出的那样,如果您愿意放弃 Knit HTML 按钮的便利性(它会生成与您的 <wyn>.Rmd</wyn> 一起存在的 HTML 文件),您可以直接调用 <wyn>rmarkdown::render</wyn>。</p> {% j& I8 x8 @0 E4 e( J- j
<p>然而,如果你真的需要自定义你的工作流程,你可以覆盖 Knit HTML 按钮来运行你通过 <wyn>rstudio.markdownToHTML</wyn> 选项运行的任何命令。此命令可以使用特定选项(例如输出目录)调用 rmarkdown 并执行其他预处理或后处理任务。此处的文档:</p>
- n( y, }2 q! u6 e D<p><center> </center></p>
8 I( M) W5 U4 ]( w! Z% @2 X/ ^<p>https://support.rstudio.com/hc/en-us/articles/200552186-Customizing-Markdown-Rendering</p>% a% G; x$ K$ T- M t
<p>请注意,设置 <wyn>rstudio.markdownToHTML</wyn> 选项将关闭 RStudio 中一些较新的 RMarkdown V2 集成功能,因为 RStudio 将不再能够推断正在使用什么引擎来呈现文档。 </p>8 K+ H: i4 @0 x0 G' d
<div class="suo-content"><div style="text-align: right;">
7 V8 q* \& h- t, O <div class="xControl"><i class="fa fa-caret-right"></i>4 m5 |- D7 \4 a9 E$ j
<span class="xTitle"></span>
9 b0 V( f- {- B" S; w8 T 相关讨论/ F: i# G" A& m g
<div style="clear: both;"></div>
: y% Q! u+ U" V) f3 l0 O+ l1 l </div>
P9 ?8 w1 ~" ]& x4 ~+ `9 y+ K <div class="xContent" style="display: none;"><p></p>8 g/ v9 @4 J& ?8 Q
<ul>
" N9 l" g; m6 g" r" |/ G<li>我仍在为此苦苦挣扎(试图让所有中间/结果文件转到 <wyn>/output/</wyn>,我很想使用 RStudio 按钮。你能提供一个 MWE 吗?不幸的是,上面的 rstudio 文档链接是付费墙或其他东西.
4 W+ z4 |3 ]: ~) {# R% J* k</li>. g1 b) |: X" D# y3 n3 Z
<li>5 ~6 @$ Q/ c) m* ^
链接现在失效了。2 x8 ^" x8 O& \2 l! k
</li>
7 Y" H: x& [, d7 m; Z5 i<li>5 Q! v2 t4 {* ~* Y3 y2 Y
这里是存档页面:web.archive.org/web/20150920182851/https://support.rstudio.c??om/...
' g3 T7 H, Z h i. Q" U- M</li>
" _% Q. \/ }" U</ul>5 B7 k w+ ~& L U! J
<p></p></div>
- w8 q' J4 b4 D% |7 L( I* t, ~" [ </div><p></p></div>$ s- O0 p8 C `$ R9 G: u
<hr></div> |
|