2015-11-02 20 views
9

Tüm eklerin bir kod içinde alınması mümkün mü? Bir belgede iki parça olduğunu ve sonra bir metin olduğunu varsayalım.rmarkdown/knitr içinde R kodu ile ek oluşturun

```{r, echo=TRUE} 
x <- 4+5 
x 
``` 
Above is X output. 

```{r, echo=TRUE} 
y <- 22+325 
y 
``` 

Above is Y output. 

Sonra bir ekte tüm kodu istiyorum ama yığın eval=FALSE koyarsanız olarak gösterilen. Bu

```{r, SHOW_ALL_CODE=TRUE} 
``` 

Beklenen çıkış gibi

şey:

Chunk_1 
y <- 22+325 
y 

Chunk_2 
x <- 4+5 
x 

cevap

10

knitr::purl() bir R komut dosyası bir markdown dosyasından tüm R kodunu elde edebilirsiniz. Bunu ek olarak ekleyebilirsiniz.

## appendix 

```{r code=readLines(knitr::purl('~/path/to/file.Rmd', documentation = 0)), eval = FALSE} 

``` 
Sen ilk büyük bir başvuru kullanın, ancak daha sonra seçenekleri değişebilir
+0

Bu gerçekten çok iyi. Parçaları ayırmak mümkün mü? Veya bir başlık vermek? Şimdi '# comments' kullanarak kodda bir başlık vermeliyim. – TKN

+0

'documentation = 1' öğesini ayarlayın. Daha sonra bölüm başlıkları yorum olarak eklenecektir. Detaylar için '? Purl' 'ye bakınız. – Thierry

7

:

main text 

```{r blah, echo = FALSE} 
summary(cars) 
``` 

appendix 

```{r blah2, ref.label='blah', eval = FALSE} 
``` 

verecek Hangi:

enter image description here

8

başka olasılık:

### Appendix 
```{r, ref.label=knitr::all_labels(),echo=TRUE,eval=FALSE} 
``` 

önerdiği gibi Yihui's nice example

+0

En iyi cevap, dosya yolunu içermesi gerekmez. –

İlgili konular