|
|
<h2>R: In RStudio how do I make knitr output to a different folder to avoid cluttering up my drive?</h2>( \5 n8 D& A4 r# t% O) E& }2 S& r
<div id="fc">
2 H- m& J- i7 R+ L+ [<p><center> </center></p>% G4 i3 P0 m3 M& H* J2 p
<p>我正在使用 RStudio 的 knit HTMl 函数来输出一些演示文稿。但它总是将文件输出到我当前的工作目录。如何将其输出到另一个目录,以便我的目录干净,只有原始 .rmd 文件?</p>
2 f- R, Z. V, B7 S$ h<div class="suo-content"><div style="text-align: right;">% f+ x0 ^9 J- o. f2 A
<div class="xControl"><i class="fa fa-caret-right"></i>$ Z) Y* v8 b0 r( A3 G: G
<span class="xTitle"></span>
7 V% J# J1 Z4 ] s/ V/ P$ n8 ` 相关讨论5 g) P/ S* u8 p' j2 l5 F+ [
<div style="clear: both;"></div>( @; u- T. z' b# U& s7 M9 D
</div>
0 e& `0 c+ O4 ?" T <div class="xContent" style="display: none;"><p></p>
7 ]9 ?2 P+ E- L( k a5 ^<ul>9 |4 n+ o0 D# s
<li>您需要使用 knit HTML 按钮吗?如果没有,你可以做 <wyn>rmarkdown::render('my.Rmd', output_file = 'folder/my.html')</wyn>8 n/ M. i7 T* C( i% p& y# F: d) _
</li>
1 R1 ^7 f8 \& M) Z<li>
5 Y Y7 P4 y K! a [/ q, l另见:github.com/ropenscilabs/ezknitr</li>
0 t V0 G/ f, {9 L; v' m</ul>
; o; j6 Y6 Q7 n% G |% J: t u1 Z<p></p></div>( c* m2 O& z8 m5 y- E! {$ a7 n
</div><p></p></div>
# R1 G: \7 i0 c9 o- n<hr>
F; t) {6 q1 ]9 F. }& E9 e<p>Rmarkdown 中提到的将输出文件定向到目录中的技巧对我有用。</p>1 t3 E" U) b! |( e1 b0 D9 N
<p>示例:将以下内容添加到 YAML 前导作为顶级项,以将输出写入 <wyn>pdf/</wyn> 子目录:</p>, b1 X& v6 O# p I1 ]
<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># X2 o4 i3 w" G' W
rmarkdown::render(inputFile, encoding = encoding, output_dir ="pdf") })</div></td></tr></tbody></table></div> X$ z( Y; K. l# U0 m
<div class="suo-content"><div style="text-align: right;">1 p& t7 z2 ]& ^1 Z/ |9 @" @
<div class="xControl"><i class="fa fa-caret-right"></i>
' F1 q. f- z! p2 g! J <span class="xTitle"></span>
4 N9 ]$ \% J9 @, y- M* b 相关讨论
+ H7 W. Z, ~- S j <div style="clear: both;"></div>
/ _ b8 `& i& P* u3 v# z9 f </div>! s4 `& H, {. M) g' q
<div class="xContent" style="display: none;"><p></p>( u- G* Q" I @: c, Z5 I! O
<ul>- P, ?2 v: ]5 }9 F# J2 f2 J" G- \
<li>
/ y$ h9 Q6 e' @这会以任何方式改变工作目录吗?我刚刚在我的prolog中添加了一个类似的片段(指定 <wyn>output_file</wyn>),但是当我通过编织按钮编织文档时,不知何故不再找到某些对象。当我在prolog中注释掉新行时,一切正常。
3 }& t. U5 X+ t3 H</li># [. e& i' `, ~+ f8 z
<li>: h2 D T1 D) ^) X/ u
@stats-hb:我不知道,但是您可以使用包含显示 <wyn>getwd()</wyn> 的块的文档对其进行测试。
\2 A; Q9 O. I+ u! `% x3 o8 ^</li>+ V- [: n+ |9 Q2 f" R) @% {. q
<li>3 m' B2 i' w; T1 ^# w- r ]
这对我有用,它不会改变工作目录。谢谢。: y$ a4 P0 Y! F; m: s9 j
</li>! @" E7 [0 Z8 `
<li>
+ K. x% a7 z" ]5 X是的,这很完美。非常感谢!" x6 V5 Z1 R& o7 f' r
</li>4 N# W" b* [8 y
<li>
3 C5 Z- W, v$ u! `3 G5 [@stats-hb 似乎它使用了 Knitr 默认值,其中 knit 目录是 .rmd 所在的位置,即使您使用 knit 按钮旁边的下拉菜单更改了 knit 目录也是如此。我将 <wyn>knit_root_dir = rprojroot::find_rstudio_root_file()</wyn> 添加到 <wyn>render</wyn> 调用中,它可以将 knit 目录设置为项目目录</li> }+ D% J6 |4 Q! d; x3 Y6 V3 c( v9 C
</ul>
1 G+ l7 h' M$ Q: R* ]% y<p></p></div>
$ }7 |8 R( ]( r6 ~+ g; l; F </div><p></p></div>8 ?; P, j, x+ m7 L/ k# t7 B
<hr>2 m: s/ H4 {" d8 W- c
<p>正如 Eric 在评论中指出的那样,如果您愿意放弃 Knit HTML 按钮的便利性(它会生成与您的 <wyn>.Rmd</wyn> 一起存在的 HTML 文件),您可以直接调用 <wyn>rmarkdown::render</wyn>。</p>
% |6 l& z, f" @<p>然而,如果你真的需要自定义你的工作流程,你可以覆盖 Knit HTML 按钮来运行你通过 <wyn>rstudio.markdownToHTML</wyn> 选项运行的任何命令。此命令可以使用特定选项(例如输出目录)调用 rmarkdown 并执行其他预处理或后处理任务。此处的文档:</p>* n5 M4 \: x! ~4 K9 c7 k
<p><center> </center></p>. ~/ H o4 z# N
<p>https://support.rstudio.com/hc/en-us/articles/200552186-Customizing-Markdown-Rendering</p>
+ d1 m5 m; E' R0 h7 L+ _* C' r<p>请注意,设置 <wyn>rstudio.markdownToHTML</wyn> 选项将关闭 RStudio 中一些较新的 RMarkdown V2 集成功能,因为 RStudio 将不再能够推断正在使用什么引擎来呈现文档。 </p>9 G! q! {/ S, j1 S1 L- o+ R
<div class="suo-content"><div style="text-align: right;">
3 J5 O3 V4 `, i. y: A8 |3 `# f <div class="xControl"><i class="fa fa-caret-right"></i>
( t0 r% K7 _# }( Y; E <span class="xTitle"></span> + `( m# _( J+ K6 v5 R" F4 @
相关讨论
" R7 v$ ]. M5 G, ^( F5 n4 `: ^7 L <div style="clear: both;"></div>
3 |% Z' C* h0 T </div>
0 C7 I `/ C- I <div class="xContent" style="display: none;"><p></p>& z& S+ [8 Y' L' V
<ul>! @- p+ t' g% B; q( p1 p+ Z! n; S
<li>我仍在为此苦苦挣扎(试图让所有中间/结果文件转到 <wyn>/output/</wyn>,我很想使用 RStudio 按钮。你能提供一个 MWE 吗?不幸的是,上面的 rstudio 文档链接是付费墙或其他东西.
% n2 H7 l4 ^- a* }- j7 |. \2 [</li>
& `: `+ |2 l, d! z) F" \6 ?<li>
% N% J. x5 M+ @( ]: t6 W" D链接现在失效了。; n& F* W0 v. j/ m
</li>
/ Q4 u- u! G8 ?4 I8 D3 g8 ^! F<li>
% K' o' ]" a( }3 Q. J这里是存档页面:web.archive.org/web/20150920182851/https://support.rstudio.c??om/...' t+ n* M8 [4 Y( d# K
</li>7 Q; O% N+ z" F% f" c, U# S
</ul>$ R1 z. Y) \) N0 `
<p></p></div>4 I9 t: p. L. b
</div><p></p></div>; W, }. u# G: J% g& O4 C9 B
<hr></div> |
|