|
|
<h2>R: In RStudio how do I make knitr output to a different folder to avoid cluttering up my drive?</h2>! f1 a! ^' T' Q! O2 u
<div id="fc">
# n: ~& p0 p9 y0 N" p& c<p><center> </center></p>
9 b4 r4 L/ b4 Y1 _9 I<p>我正在使用 RStudio 的 knit HTMl 函数来输出一些演示文稿。但它总是将文件输出到我当前的工作目录。如何将其输出到另一个目录,以便我的目录干净,只有原始 .rmd 文件?</p>
2 z, Z) Z, i: n. S+ Q" R6 ]<div class="suo-content"><div style="text-align: right;">$ t& {, [' f* `
<div class="xControl"><i class="fa fa-caret-right"></i>$ }& y6 x, T! s& l
<span class="xTitle"></span>
' H3 p. R6 _% K 相关讨论5 o$ k( `6 i) k$ z, \7 I+ n& `
<div style="clear: both;"></div>; w" { z& u, G( k* P0 l1 D
</div>
0 l; H K. C; ?5 a! r <div class="xContent" style="display: none;"><p></p>
; f' O9 p8 n% B ~<ul>7 P+ p& z+ K J, r+ y, }: f
<li>您需要使用 knit HTML 按钮吗?如果没有,你可以做 <wyn>rmarkdown::render('my.Rmd', output_file = 'folder/my.html')</wyn>& G, Z" G J: ^; {! \5 R: k
</li>
4 H4 b$ Q# m( s, b, C<li>
I6 @0 T6 i" Y% x: z+ h6 u, T4 m2 R另见:github.com/ropenscilabs/ezknitr</li>; S* ~8 S+ T' z n
</ul>
1 i1 Q7 p) }3 l9 h- x<p></p></div>
5 ^- M9 ~& V# @9 a' T( `% M </div><p></p></div>
6 M5 j& S$ F& G% ^' r3 N" J5 Z: z) U<hr>
0 t. E) I9 I J) E2 U1 j% Y E2 S. [- s<p>Rmarkdown 中提到的将输出文件定向到目录中的技巧对我有用。</p>
: z/ Y' k0 O$ y! Y5 i<p>示例:将以下内容添加到 YAML 前导作为顶级项,以将输出写入 <wyn>pdf/</wyn> 子目录:</p>
; a4 V) v) c1 I8 S<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>8 n5 T! Q6 W+ v {/ N. ?
rmarkdown::render(inputFile, encoding = encoding, output_dir ="pdf") })</div></td></tr></tbody></table></div>
! a3 p Q% h' o5 V' [9 T r' O<div class="suo-content"><div style="text-align: right;"># P3 C. F2 p' M- g
<div class="xControl"><i class="fa fa-caret-right"></i>
a# a; o. G+ _& R! m4 q <span class="xTitle"></span>
1 m. H1 U! s- C7 b1 V8 Y+ F 相关讨论
! H1 W; t* D# K" C7 J% {7 u: L4 _ <div style="clear: both;"></div>
! G3 a. [* b$ H2 F! W </div>
1 J4 `. j( |% W( w2 b% R" l" D' [; I% j <div class="xContent" style="display: none;"><p></p>( K( R3 M( `' @$ f" _
<ul>4 K( i5 s0 l( h$ i
<li>
8 q2 W' j! \! L, _9 B这会以任何方式改变工作目录吗?我刚刚在我的prolog中添加了一个类似的片段(指定 <wyn>output_file</wyn>),但是当我通过编织按钮编织文档时,不知何故不再找到某些对象。当我在prolog中注释掉新行时,一切正常。) \0 g2 |6 Z" I& D* S
</li>9 x+ z! p3 C9 E
<li>
" V9 j' M& m' V. r; C& p" r@stats-hb:我不知道,但是您可以使用包含显示 <wyn>getwd()</wyn> 的块的文档对其进行测试。
_& b1 i. m+ H, S</li>) ?! M6 f5 O& i6 i& b9 r; Z+ j
<li>
* G( ]9 V( A9 ] k这对我有用,它不会改变工作目录。谢谢。7 Q" H3 S& O% V& v0 T; y/ o' v9 R9 t
</li>
$ g; B8 H$ _) d, G) o: N' P: E# M8 l<li>6 _2 }* s9 ~( d' m' X8 q4 t
是的,这很完美。非常感谢!: m3 _) b- ]8 w! O. K( s- ]2 w2 m
</li>) Y+ o- l" B$ Y$ l7 `* L& t i* f
<li>
( U( |+ N, \$ D* Q- H* c@stats-hb 似乎它使用了 Knitr 默认值,其中 knit 目录是 .rmd 所在的位置,即使您使用 knit 按钮旁边的下拉菜单更改了 knit 目录也是如此。我将 <wyn>knit_root_dir = rprojroot::find_rstudio_root_file()</wyn> 添加到 <wyn>render</wyn> 调用中,它可以将 knit 目录设置为项目目录</li>- E) q. j9 X* j# j/ d
</ul>
% z9 t. l( {1 n, _$ c<p></p></div>. u9 n6 z8 Y0 r w5 j& U0 \
</div><p></p></div>
' l0 O* s: m* Q<hr>
% {; i3 p! l5 y1 Q/ z<p>正如 Eric 在评论中指出的那样,如果您愿意放弃 Knit HTML 按钮的便利性(它会生成与您的 <wyn>.Rmd</wyn> 一起存在的 HTML 文件),您可以直接调用 <wyn>rmarkdown::render</wyn>。</p>
, Q" L2 c5 S O% Q<p>然而,如果你真的需要自定义你的工作流程,你可以覆盖 Knit HTML 按钮来运行你通过 <wyn>rstudio.markdownToHTML</wyn> 选项运行的任何命令。此命令可以使用特定选项(例如输出目录)调用 rmarkdown 并执行其他预处理或后处理任务。此处的文档:</p>
+ H0 ?6 ^6 G, B1 s+ e<p><center> </center></p>
" L6 \" u, ]3 J* `<p>https://support.rstudio.com/hc/en-us/articles/200552186-Customizing-Markdown-Rendering</p>: q* r0 c: p4 p
<p>请注意,设置 <wyn>rstudio.markdownToHTML</wyn> 选项将关闭 RStudio 中一些较新的 RMarkdown V2 集成功能,因为 RStudio 将不再能够推断正在使用什么引擎来呈现文档。 </p>' @1 Q" b! @5 l! F8 m4 ~9 |1 `
<div class="suo-content"><div style="text-align: right;">
# \) P. C( D8 h( j! Q <div class="xControl"><i class="fa fa-caret-right"></i>
0 \3 E% F2 N4 U3 l2 H' c/ J9 d <span class="xTitle"></span> 2 T0 o; Y! G/ l' O+ u) q9 L
相关讨论' ]/ b6 A! D0 S/ [7 {$ H% Z- M( n/ K
<div style="clear: both;"></div>
" ]3 p1 G# U% r6 k! F </div>" H5 i5 z+ u& d6 |
<div class="xContent" style="display: none;"><p></p>' k9 S( U/ o6 |: c
<ul>
$ |' A9 G; j! y- C<li>我仍在为此苦苦挣扎(试图让所有中间/结果文件转到 <wyn>/output/</wyn>,我很想使用 RStudio 按钮。你能提供一个 MWE 吗?不幸的是,上面的 rstudio 文档链接是付费墙或其他东西.
: c( T! _. Q( k4 L</li>( ]" N; T' [9 h4 m$ F: Z5 g
<li>( B. _0 z) n7 W( a
链接现在失效了。
. w/ N) a6 n* K y* p) [</li>
9 _$ p+ V) C7 e6 A U* l n6 m<li>
2 s. K! c/ o, E/ g2 \( M' j5 d$ b9 B% K这里是存档页面:web.archive.org/web/20150920182851/https://support.rstudio.c??om/...
s4 y7 j* K: B2 z# }( G; C</li>
! I2 D/ |& Q/ M' |</ul>
9 c/ J! ~9 }6 a4 U4 y2 o<p></p></div>
; ]$ V# g) `- y& t* t </div><p></p></div> Q: k1 K1 r" @* k+ C* L
<hr></div> |
|