|
<h2>R: In RStudio how do I make knitr output to a different folder to avoid cluttering up my drive?</h2># C( j" u' @7 e8 A8 w2 h. R2 n& l0 S$ @
<div id="fc">$ F- z6 Z: [9 F% S& Q) I! V) z
<p><center> </center></p>$ c( \5 f' D @/ r7 ~
<p>我正在使用 RStudio 的 knit HTMl 函数来输出一些演示文稿。但它总是将文件输出到我当前的工作目录。如何将其输出到另一个目录,以便我的目录干净,只有原始 .rmd 文件?</p>% [2 ?, O" ~0 W b7 O7 {" B2 h
<div class="suo-content"><div style="text-align: right;">$ E) O' i- U4 Q1 m; l! i/ R3 n* n
<div class="xControl"><i class="fa fa-caret-right"></i># A$ P; D9 h0 B( z# `$ q
<span class="xTitle"></span> ; J/ B8 J2 ?7 ]" e3 z- S% P
相关讨论
1 D& b; U4 Q, {% s- ] <div style="clear: both;"></div>
5 E) n. |( ?# L3 e </div>
7 _ ]6 l, ]* d4 M4 J: c) r; w <div class="xContent" style="display: none;"><p></p>7 Z& I- x8 c/ x
<ul>
' U6 b# G4 y, l" S- u! w2 Z<li>您需要使用 knit HTML 按钮吗?如果没有,你可以做 <wyn>rmarkdown::render('my.Rmd', output_file = 'folder/my.html')</wyn>
! ?5 \* M7 z% g</li>. T5 F+ P' d2 G+ W2 |* r( {
<li>
; k& Y1 ^4 T1 d2 Q4 \4 A另见:github.com/ropenscilabs/ezknitr</li>$ b) d1 b' r* K0 p/ E( I
</ul>1 O; H$ e; M3 J2 [6 X
<p></p></div>5 v$ X& Q- ^$ A) Y( ~
</div><p></p></div>5 C/ ?; N8 G' ^* x
<hr>
. ~5 L) H" J2 F# L. a+ S2 A8 e<p>Rmarkdown 中提到的将输出文件定向到目录中的技巧对我有用。</p>
2 l( m* ?5 |6 L+ [1 {( X5 X<p>示例:将以下内容添加到 YAML 前导作为顶级项,以将输出写入 <wyn>pdf/</wyn> 子目录:</p>/ {- E) b: }7 h1 R' o) \6 P" L1 U
<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>; v+ x/ b# Y K9 _# q- q
rmarkdown::render(inputFile, encoding = encoding, output_dir ="pdf") })</div></td></tr></tbody></table></div>
3 O1 S+ t3 ?" `. B' Z2 D5 ^; V<div class="suo-content"><div style="text-align: right;">
: r# t. I R% k+ w. Z1 Z <div class="xControl"><i class="fa fa-caret-right"></i>
4 U @2 J+ l( T5 m H* _4 s <span class="xTitle"></span> 0 E, Z* ~( r3 K
相关讨论
6 Z( w$ E& ^& q& h <div style="clear: both;"></div>* @0 H: L$ I% y$ s7 { E" D5 K5 M$ I
</div>7 b+ \. l# K. S; D' A$ G; p
<div class="xContent" style="display: none;"><p></p>0 O/ s" H3 j* o; Q
<ul>
! N0 t9 W& u+ P" h3 Q4 P<li>
% k6 G$ y% i8 c- u这会以任何方式改变工作目录吗?我刚刚在我的prolog中添加了一个类似的片段(指定 <wyn>output_file</wyn>),但是当我通过编织按钮编织文档时,不知何故不再找到某些对象。当我在prolog中注释掉新行时,一切正常。
. O+ g* }9 X8 m7 ]</li>
Y4 Y, g7 p- C: \% x+ f! ?5 t8 C<li>
$ {& z1 W& f: G/ n; x. X@stats-hb:我不知道,但是您可以使用包含显示 <wyn>getwd()</wyn> 的块的文档对其进行测试。, Z4 S1 v7 N* i/ @( E' U
</li>
( g' a; \, I8 p# @" ~2 P<li>
$ j# O4 ]( I, Y, E+ e; }这对我有用,它不会改变工作目录。谢谢。/ S# m/ L9 ?6 H/ L
</li>
+ O6 s B" x8 r<li>
& c/ A% f; Q: D9 q! L+ r是的,这很完美。非常感谢!# T0 r8 v5 m6 a5 b( s. o0 S
</li>
* P* g, r. S1 p' K! H<li>3 m3 c. i3 _$ o; n1 a
@stats-hb 似乎它使用了 Knitr 默认值,其中 knit 目录是 .rmd 所在的位置,即使您使用 knit 按钮旁边的下拉菜单更改了 knit 目录也是如此。我将 <wyn>knit_root_dir = rprojroot::find_rstudio_root_file()</wyn> 添加到 <wyn>render</wyn> 调用中,它可以将 knit 目录设置为项目目录</li>0 O! w+ Q- g; V, U- ^
</ul>
0 e5 e9 F8 R; Q0 {' e) o3 R<p></p></div>
% t8 h$ T) s R, D3 c0 o" l </div><p></p></div>' E1 P* y' K8 Q1 @; M1 ^
<hr>
/ Z' @3 U/ O6 ^<p>正如 Eric 在评论中指出的那样,如果您愿意放弃 Knit HTML 按钮的便利性(它会生成与您的 <wyn>.Rmd</wyn> 一起存在的 HTML 文件),您可以直接调用 <wyn>rmarkdown::render</wyn>。</p>( S' u1 e q# j; M6 | h9 T; h
<p>然而,如果你真的需要自定义你的工作流程,你可以覆盖 Knit HTML 按钮来运行你通过 <wyn>rstudio.markdownToHTML</wyn> 选项运行的任何命令。此命令可以使用特定选项(例如输出目录)调用 rmarkdown 并执行其他预处理或后处理任务。此处的文档:</p>
' [, Y: q E5 s/ ?3 `<p><center> </center></p>
- \. a9 o3 q( k; Y<p>https://support.rstudio.com/hc/en-us/articles/200552186-Customizing-Markdown-Rendering</p>
1 e0 M8 V, M! r6 o* R( E( R& _, z/ h<p>请注意,设置 <wyn>rstudio.markdownToHTML</wyn> 选项将关闭 RStudio 中一些较新的 RMarkdown V2 集成功能,因为 RStudio 将不再能够推断正在使用什么引擎来呈现文档。 </p>, \' b7 P5 L: Y/ t
<div class="suo-content"><div style="text-align: right;">
& Y; P1 D+ }1 p5 Z# } <div class="xControl"><i class="fa fa-caret-right"></i>& ?- k% T8 J2 p. x, R" C
<span class="xTitle"></span>
& h+ o8 u: S. S2 ` 相关讨论
7 e- G6 ~3 s: B3 D; M/ s <div style="clear: both;"></div>5 x, B& a. v3 ]* [' x5 X' b
</div>
" I) e; ?; L. g2 j" q* U) f <div class="xContent" style="display: none;"><p></p>
, X6 E) O& S: t1 |7 K) n, e, F<ul>- H: O' j! G, _
<li>我仍在为此苦苦挣扎(试图让所有中间/结果文件转到 <wyn>/output/</wyn>,我很想使用 RStudio 按钮。你能提供一个 MWE 吗?不幸的是,上面的 rstudio 文档链接是付费墙或其他东西.) g- w1 ? r$ E7 H3 p7 N$ c
</li>6 k0 d5 i0 t; m2 b
<li>/ ]) ^6 ^/ P6 M7 ~2 |
链接现在失效了。/ R; E" J& c- F/ ~
</li>
: H4 |) `) [9 W# e( E S& K4 b. t0 }<li>
- Q2 n0 y% @# ?这里是存档页面:web.archive.org/web/20150920182851/https://support.rstudio.c??om/...- s' J% V+ P1 U5 y0 Y1 F5 k
</li>5 j) t1 j0 j7 R6 k. p0 ^- U
</ul>
" t* X) r' _3 s& U# [<p></p></div>
; o4 Q; i& c1 M; y: o- ] </div><p></p></div>
" b0 d7 ^ o/ r. {5 G% z2 b: s<hr></div> |
|