purl () dentro de knit () error de etiqueta duplicada

Estoy tejiendo un archivo .Rmd y quiero tener dos salidas: el html y un script R compilado cada vez que ejecuto knit. Esto se puede hacer con el siguiente archivo Rmd:

---
title: "Purl MWE"
output: html_document
---

```{r}
## This chunk automatically generates a text .R version of this script when     running within knitr.
input  = knitr::current_input()  # filename of input document
output = paste(tools::file_path_sans_ext(input), 'R', sep = '.')
knitr::purl(input,output,documentation=1,quiet=T)
```

```{r}
x=1
x
```

Si no nombra el fragmento, funciona bien y obtiene html y .R de salida cada vez que ejecuta knit () (o haga clic en knit en RStudio).

Sin embargo, si nombra el fragmento, falla. Por ejemplo:

title: "Purl MWE"
output: html_document
---

```{r}
## This chunk automatically generates a text .R version of this script when     running within knitr.
input  = knitr::current_input()  # filename of input document
output = paste(tools::file_path_sans_ext(input), 'R', sep = '.')
knitr::purl(input,output,documentation=1,quiet=T)
```


```{r test}
x=1
x
```

Falla con:

Quitting from lines 7-14 (Purl.Rmd) 
Error in parse_block(g[-1], g[1], params.src) : duplicate label 'test'
Calls: <Anonymous> ... process_file -> split_file -> lapply -> FUN -> parse_block
Execution halted

Si comentas elpurl() llamada, funcionará con el fragmento con nombre. Entonces, hay algo acerca de cómopurl() la llamada también está nombrando fragmentos que causanknit() pensar que hay nombres de fragmentos duplicados incluso cuando no hay duplicados.

¿Hay alguna manera de incluir unpurl() comando dentro de un archivo .Rmd para que se produzcan ambas salidas (html y R)? ¿O hay una mejor manera de hacer esto? Mi objetivo final es usar el nuevormarkdown::render_site() para construir un sitio web que actualice la salida HTML y R cada vez que se compila el sitio.

Respuestas a la pregunta(2)

Su respuesta a la pregunta