Отображение математического уравнения внутри таблицы вывода в R - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть математическое уравнение, которое я хотел бы включить в ячейку выходной таблицы в R-уценке:

'$\\sum_{l=1}^g -g\\$'

Код таблицы здесь:

tb1 = data.frame(c("Treatment","Residual","Total"),
               c(1,2,3),
               c(4,5,6))

Уравнение должно заменить значение «3» в последнем столбце второго ряда.

Как этого достичь?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

knitr::kable обеспечивает функциональность для непосредственного ввода уравнения в ячейку в сочетании с аргументом escape = FALSE (см. здесь ).Это избавляет вас от необходимости предоставлять escape при генерации документа (но вам все равно нужно предоставить escape для R с суммой).

Для вашего случая (в блоке кода)

tb1 = data.frame(c("Treatment","Residual","Total"),
           c(1,2,"$\\sum_{l=1}^g-g$"),
           c(4,5,6))
knitr::kable(tb1, escape = FALSE)
0 голосов
/ 09 декабря 2018

Переопределение данных примера следующим образом:

tb1 = data.frame(Treatment=c(1,4), Residual=c(2,5), Total=c(3,6))

Включите уравнение латекса во фрейм данных, как вы его указали, указав обратную косую черту:

tb1 = data.frame(Treatment=c(1,4), Residual=c(2,5), 
Total=c("$\\sum_{l=1}^g -g$",6))

Затем используйте print.xtable для генерации правильной латексной разметки.Блок кода rmarkdown может выглядеть следующим образом:

```{r echo=F, results='asis'}
library(xtable)

print(xtable(tb1), sanitize.text.function = function(x) {x})
\begin{table}[ht]
\centering
\begin{tabular}{rrrl}
\hline
& Treatment & Residual & Total \\ 
\hline
1 & 1.00 & 2.00 & $\sum_{l=1}^g -g$ \\ 
2 & 4.00 & 5.00 & 6 \\ 
\hline
\end{tabular}
\end{table}
```
...