.Rmdファイルを編成しています。ニットを実行するたびに、htmlとpurl'edされたRスクリプトの2つの出力が必要です。これは、次のRMDファイルを使用して行うことができます。knit()内のpurl()重複したラベルエラー
---
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
```
あなたはチャンクに名前を付けていない場合は、それが正常に動作し、あなたが得るhtmlと.R出力あなたはニット実行するたびに()(またはRStudioにニットをクリック) 。
ただし、チャンクに名前を付けると失敗します。たとえば:あなたはpurl()
呼び出しをコメントアウトした場合
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
は、それが名前のチャンクで動作します:
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
```
それはで失敗します。したがって、purl()
コールがどのように呼び出されて、knit()
に重複がない場合でも重複したチャンク名があると考える原因となるチャンクの名前付けには何かがあります。
purl()
コマンドを.Rmdファイルに含めて両方の出力(htmlとR)を生成する方法はありますか?それとももっと良い方法がありますか?私の最終的な目標は、新しいrmarkdown::render_site()
を使用して、サイトがコンパイルされるたびにHTMLとRの出力を更新するWebサイトを構築することです。次のように、ファイル内のoptions(knitr.duplicate.label = 'allow')
を含むことにより、重複するラベルを許可することができます
あなたはこれを理解しましたか? – Jordan
私もこの問題を抱えています...非常にイライラしています。私は塊を名づけたいと思います。私は今のところこれではできません。 – Nova