2013-04-05 16 views
8

Belgesel amaçlı, html çıkışında bir arsa için bazı kodlar istiyorum, ancak arsa değil. Daha sonra, çizim kodunu çağırmalı ve arsaya bir şey eklemem gerekiyor, ancak sadece ek kodu görüyorum. Yihui's azından ben eko-notasyonu buldukOrijinal işaretleme çıktısı olmadan bir knitr yığın kullanarak bir arsaya elemanlar nasıl eklenir?

```{r non.finished.plotting, eval=FALSE} 
    plot(1,type="n") 
``` 
Some explanatory text here in the output: 
"This produces an empty plot, and we could now add some points to it manually." 

```{r add.layer, fig.width=5, fig.height=5} 
<<non.finished.plotting, echo=FALSE>> 
points(x=rnorm(100,1,0.1), y=rnorm(100,0.8,0.1)) 

``` 

ama bu örme, ben çıktıda bir hata mesajı alıyorum: Bu çalıştı.

## Error: plot.new has not been called yet 

Ben de chunk options kurcalıyor çalıştı, ama ben ne istediğimi yapar hangi bir birleşimini bulamadık. ( Maalesef bu çok temel, ama oldukça bu örneğe benzer bulamadık.) <<>> içinde

+0

ben siz de ikinci öbek 'eval = FALSE eklemem gerekiyor düşünüyorum: İstediğin olasılıkla gerçek değildir. İlk öbek değerlendirilmiyor gibi görünüyor * * arsa hiçbir zaman çağrılmaz, ama ikinci yığın, 'puan' diyerek yeni bir arsa başlayamadığınız için bir hata üretiyor. – Backlin

+0

Teşekkürler @Backlin, ama açıklamama izin ver. Parçayı ikinci yığınta aramak istiyorum, ama ilk yığınta değil. Geldiğim tek şey, ilkini çağırmak ve eval = TRUE, echo = FALSE ile puan eklemek yerine üçüncü bir öbek tanıtmaktı. Ama bu gerçekten gerekli mi? –

+0

Oh, ve bahsetmeyi unuttum: eğer echo = FALSE kullanmıyorsanız, ama sadece yığınları çağırıyorsanız, hem kod hem de çizim çıktıdadır. –

cevap

11

Chunk referanslar böylece <<non.finished.plotting, echo=FALSE>> çalışmaz, yığın seçenekleri saygı göstermiyorlar. Ne yapabilirsiniz böyle ana yığın geri öbek seçeneği echo taşımaktır:

```{r add.layer, fig.width=5, fig.height=5, echo=-1} 
<<non.finished.plotting>> 
points(x=rnorm(100,1,0.1), y=rnorm(100,0.8,0.1)) 
``` 

echo=-1 araçlar (documented gibi) ilk ifadeyi yankı yok.

screen shot of knitr output

+0

Çok teşekkürler, Yihui. Tam olarak aradığım şey buydu ve doktora tamamen gözardı ettim. Parlak, bu gerçekten kodun toplanmasına yardımcı oluyor. –

+0

@WilliamBligh cevabını, bu doğru bir cevap olduğunu düşünüyorsanız cevap olarak işaretleyebilirsiniz –

+0

bana hatırlattığınız için teşekkürler! –