knitr
は、チャンクオプションをRコードとして評価します。したがって、ちょうどpaste
又はsprintf
を使用して、必要な文字列を構成し、図キャプションに変数の値を含める:これはdata
このチャンク内部が作成されている場合は問題である(としない可能性があること
fig.cap = paste("Graph of", nrow(data), "data points")
注以前のチャンクオプションはの前に評価されています。の前にチャンク自体が評価されるためです)。
library(knitr)
opts_knit$set(eval.after = "fig.cap")
ここでは完全な例:
---
title: "SO"
output:
word_document:
fig_caption: yes
---
```{r fig.cap = paste("Graph of", nrow(iris), "data points.")}
plot(iris)
```
```{r setup}
library(knitr)
opts_knit$set(eval.after = "fig.cap")
```
```{r fig.cap = paste("Graph of", nrow(data2), "data points.")}
data2 <- data.frame(1:10)
plot(data2)
```
を最初に、この問題を解決するチャンク自体が評価された後にオプションが評価さfig.cap
持つようにパッケージオプションeval.after
を使用するには
数字のキャプションはがなくても機能します。iris
データセットは常に利用可能です(datasets
が添付されている限り)。最後のチャンクが評価される前にdata2
が存在しないため、eval.after
なしで2番目のFigureキャプションを生成すると失敗します。
ペースト(「Graph of」、nrow(データ)、「データポイント」) 'を試してください。 –