2017-11-14 93 views
5

bir belgesini parameterizing için tek düzeyli liste/sözlüğünü kullanırken çalışır:R Markdown'un YAML meta verilerinde çok düzeyli bir sözlük nasıl oluşturulur?

--- 
params: 
    first_level: ~ 
--- 

```{r} 
params 
``` 

ve örgü döndüren beklenen ben çok düzeyli listesi kullanmak veremiyoruz

## $first_level 
## NULL 

/örgü olarak sözlükleri

--- 
params: 
    first_level: 
    second_level: ~ 
--- 

```{r} 
params 
``` 

ben

beklenebilir Error: no value field specified for YAML parameter 'first_level' Execution halted üretiyor
## $first_level 
## $first_level$second_level 
## NULL 

Gerçekten sadece tek bir seviye listesi destekleniyor mu, yoksa neyi batırıyorum?

beklediğim çıkış

--- 
params: 
    first_level: !r list(second_level = NULL) 
--- 

```{r} 
params 
``` 

Ama neden bir parametrizasyonunu kod bloğunun yerine daha sonra yaml kullanmak kullanılarak elde edilebilir, aşağıda yorumladığı gibi?

+1

sadece 2 seviyeleri kullanabilir ve ikinci düzeyleri adı value' 'olmalıdır. Bunu deneyin: 'params: first_level: value: ~'. second_level' '' için value' değiştirme first_level' içine 'içeriğini yapma hatayı ... –

+0

verecektir'! r listesi (second_level = NULL) 'G/istiyorum beklediğiniz üretir, bunlarla yaml'' kullanımını yendi ... – balin

+1

Bence bu RSTudio IDE'nin bir hatasıdır (çünkü "rmarkdown :: render()"). Bunu https://github.com/rstudio/rstudio/issues adresine yazabilirsiniz. Teşekkürler! –

cevap

2

params, R Markdown için özel bir alan olup, bir parametrenin değerini belirtmenin iki yolundan birini kullanmanız gerekir: değer bir liste değilse (ör., Bir skaler), bunu kullanarak belirtebilirsiniz. normal YAML sözdizimi; ancak, bir liste ise, R Markdown, value adlı bir alt alanı bekler ve bu alt alanda değer belirtilmelidir. Senin durumunda, bir value alan, mesela şu anda by design olduğunu

--- 
params: 
    first_level: 
    value: 
     second_level: ~ 
--- 

```{r} 
params 
``` 

kullanmalıdır.

+0

Bunu işaretlediğiniz için teşekkürler - ancak rahatsız edici olabilir ... – balin

İlgili konular