|
<h2>R: In RStudio how do I make knitr output to a different folder to avoid cluttering up my drive?</h2>; q# Y: r2 y' T9 w: O
<div id="fc">
6 ~- x2 G0 ^, l3 T+ m* ]" Y<p><center> </center></p>
# _% ~1 G4 }, y9 K. R; d2 D<p>我正在使用 RStudio 的 knit HTMl 函数来输出一些演示文稿。但它总是将文件输出到我当前的工作目录。如何将其输出到另一个目录,以便我的目录干净,只有原始 .rmd 文件?</p>9 T: e- D+ r0 C, D
<div class="suo-content"><div style="text-align: right;">
r) Z3 @1 [& G <div class="xControl"><i class="fa fa-caret-right"></i>$ ~% `* n& f' f1 Z
<span class="xTitle"></span> 0 F0 M0 Y$ a2 ?
相关讨论
0 n9 W" `) Y: S <div style="clear: both;"></div>
) E$ f5 J5 F8 x% | </div>3 E) x! K% T" }2 O/ I! O- X! ^
<div class="xContent" style="display: none;"><p></p>8 a9 W1 _. a b c1 J% M
<ul>
/ D$ H& {4 s- J9 i0 T1 x<li>您需要使用 knit HTML 按钮吗?如果没有,你可以做 <wyn>rmarkdown::render('my.Rmd', output_file = 'folder/my.html')</wyn>' `+ R, R) e* n* [4 f5 [% ^; |
</li>
* \; [/ _1 D8 A U<li>
9 j- E2 C Y7 `: F' o9 ]另见:github.com/ropenscilabs/ezknitr</li>0 Y3 d/ }! S( c0 O2 P# Y/ D
</ul>! z5 G1 b/ l6 H% E' r
<p></p></div>
+ ~2 l+ f/ ]2 S) U" h </div><p></p></div>
" Q2 d/ C# o( y" h$ i<hr>8 B( Z( u0 R- D
<p>Rmarkdown 中提到的将输出文件定向到目录中的技巧对我有用。</p>
: Y; A. |5 X% \<p>示例:将以下内容添加到 YAML 前导作为顶级项,以将输出写入 <wyn>pdf/</wyn> 子目录:</p># `6 K# }, Q& E/ Q/ e
<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>4 c p9 F+ {. W
rmarkdown::render(inputFile, encoding = encoding, output_dir ="pdf") })</div></td></tr></tbody></table></div>
9 H3 X+ k! f. V- j/ E! D8 }<div class="suo-content"><div style="text-align: right;">
. L3 o$ X& s8 |% {! o( P8 P ~, { <div class="xControl"><i class="fa fa-caret-right"></i>
: t/ W3 i9 h5 i+ ^( O9 q! |6 ] <span class="xTitle"></span> ( X; Y2 M6 l3 S& L
相关讨论" M* ?% ~( M- q1 A6 r1 l0 I
<div style="clear: both;"></div>
/ D. i5 V, m2 l5 t' L% {% ?/ p </div>- c/ N0 g, K3 n) w% t& X
<div class="xContent" style="display: none;"><p></p>$ P( x5 h9 I. g
<ul>
* i0 D& M8 D0 ^2 i8 i( m( l<li>2 C4 p% G3 [' |3 c7 o
这会以任何方式改变工作目录吗?我刚刚在我的prolog中添加了一个类似的片段(指定 <wyn>output_file</wyn>),但是当我通过编织按钮编织文档时,不知何故不再找到某些对象。当我在prolog中注释掉新行时,一切正常。+ z; F' @- J7 P1 Q3 V8 M8 t
</li>3 p+ z! E6 c7 w9 V$ ~
<li>
4 s4 N; O7 H+ Z9 `0 _- F@stats-hb:我不知道,但是您可以使用包含显示 <wyn>getwd()</wyn> 的块的文档对其进行测试。# ^6 `9 m* w* m. X: u' O
</li>
/ l& X/ A% o& Q; z6 Q9 P2 W+ K<li>
3 e7 e& N, X( c: W" C这对我有用,它不会改变工作目录。谢谢。! U5 N- p$ Q4 R! ]( N
</li>
( X8 X. w% J. _" |<li>
: G. {; b! B' r1 D' \/ F# o/ M8 o是的,这很完美。非常感谢!
& @* K7 d8 s4 ~: s</li>
# H) R. d0 S9 x* J0 [9 k" O<li>
( j. `4 ?! }) J6 [) n* A% B@stats-hb 似乎它使用了 Knitr 默认值,其中 knit 目录是 .rmd 所在的位置,即使您使用 knit 按钮旁边的下拉菜单更改了 knit 目录也是如此。我将 <wyn>knit_root_dir = rprojroot::find_rstudio_root_file()</wyn> 添加到 <wyn>render</wyn> 调用中,它可以将 knit 目录设置为项目目录</li>7 G& _5 ]) }' \: x _
</ul>1 Y0 T) d3 Y- k& P9 ]8 b' \
<p></p></div>
C" z. H2 ?( x8 h6 Q" T2 m: m8 b* | </div><p></p></div>3 Z0 K. V- P* d, w. A7 ?2 i. h
<hr>
6 l9 s' V+ h E3 n( Y @( S<p>正如 Eric 在评论中指出的那样,如果您愿意放弃 Knit HTML 按钮的便利性(它会生成与您的 <wyn>.Rmd</wyn> 一起存在的 HTML 文件),您可以直接调用 <wyn>rmarkdown::render</wyn>。</p>
9 X+ \, X5 W/ o6 z+ H) d: U<p>然而,如果你真的需要自定义你的工作流程,你可以覆盖 Knit HTML 按钮来运行你通过 <wyn>rstudio.markdownToHTML</wyn> 选项运行的任何命令。此命令可以使用特定选项(例如输出目录)调用 rmarkdown 并执行其他预处理或后处理任务。此处的文档:</p>
) N E* e/ m1 h1 }' R1 W7 Y1 W+ ^<p><center> </center></p>9 c( `# ~5 k& r5 k; c
<p>https://support.rstudio.com/hc/en-us/articles/200552186-Customizing-Markdown-Rendering</p>
+ d0 O3 E6 J* ~+ B. \* R( M Q+ d1 H<p>请注意,设置 <wyn>rstudio.markdownToHTML</wyn> 选项将关闭 RStudio 中一些较新的 RMarkdown V2 集成功能,因为 RStudio 将不再能够推断正在使用什么引擎来呈现文档。 </p>& h1 G- V/ A- m: k7 N
<div class="suo-content"><div style="text-align: right;">8 U8 q. S: Y* u( J1 @% a. ?; q4 T# o
<div class="xControl"><i class="fa fa-caret-right"></i>
7 J( L6 H2 Z+ X* `' t <span class="xTitle"></span> ) M" E8 m& L. l
相关讨论2 G! ~* |8 |! `9 N e5 _
<div style="clear: both;"></div>+ o) ?: y8 g1 z w! k/ ]
</div>+ @( T0 R5 O) i0 L
<div class="xContent" style="display: none;"><p></p>
7 g$ @9 r' v! t( B* [+ }& q1 `<ul>
2 T4 @3 N1 k. k, f0 }<li>我仍在为此苦苦挣扎(试图让所有中间/结果文件转到 <wyn>/output/</wyn>,我很想使用 RStudio 按钮。你能提供一个 MWE 吗?不幸的是,上面的 rstudio 文档链接是付费墙或其他东西.- _7 Y7 v/ G9 g& u* t1 }1 I
</li>
' z% ]. s( V1 t8 p$ y<li>/ l! K. P; _+ f- m
链接现在失效了。' I$ s: g7 V4 X0 N& z
</li>
0 f0 r, w$ h5 ?& o6 O7 t2 N6 ~<li>
( g, V1 H! S1 D7 Y! S5 k3 U这里是存档页面:web.archive.org/web/20150920182851/https://support.rstudio.c??om/...
: O# y3 |- l2 g- S- `) J7 H) k</li>' i/ M. |. @- H
</ul>
2 m% _- _3 N& a$ V0 a<p></p></div>
q( {7 g4 v6 t; o </div><p></p></div>
' R7 q: M5 U3 `& a3 t: a<hr></div> |
|