【发布时间】:2021-08-06 15:40:21
【问题描述】:
我在使用 R markdown 中的变量渲染公式时遇到问题。 这是我使用的变量(简单示例):
```{r, include=FALSE}
series <- c(1, 2, 3, 4)
count <- leng(series)
sum <- sum(series)
sum2 <- sum(series^2)
sq_formula <- TRUE
我的问题是用 knitr 打印 Rmd(输出 = Word)数学表达式,例如:
$$S = \frac{\sum{S}}{n} = \frac{`r sum`}{`r count`} = `r mean(series)`$$
如果 sq_formula 为 FALSE,否则应为:
$$S = \frac{\sum{S^2}}{n} = \frac{`r sum2`}{`r count`} = `r sum2 / count`$$
有一种方法可以在 R 块中编写公式并按条件打印,例如:
```{r, include=FALSE}
formula1 <- '$$ \\overline{S} = \\frac{\\sum{S}}{n} = \\frac{\\sum{`r sum`}{`r count`}}$$'
formula2 <- '$$ \\overline{S} = \\frac{\\sum{S^2}}{n} = \\frac {\\sum{`r sum2`}}{`r count`}$$'
`r if (sq_formula <- TRUE) {formula1} else {formula2}`
但我无法在块中插入 r sum、r count 等变量。
我还尝试使用sprintf 函数来处理该问题,但还没有找到一种方法以数学符号将变量插入字符串中。因此,我将不胜感激。
【问题讨论】: