Включить латексные таблицы, созданные Hmisc latex, в слайды Knitr

Извините, я новичок в использовании knitr для создания слайдов. Я обычно использую функцию latex() в пакете Hmisc для генерации моих таблиц на основе объектов R. Я хотел бы создать слайд, который показывает код r, а затем под ним отображается правильно отформатированная таблица. Что-то вроде:

   ``` {r}
latex(tabdat,file="tables/tabdat.tex",ctable=TRUE,caption="A basic table",caption.loc="bottom",label="tab:dat1",row.names=NULL,rowlabel="")
```

Таким образом, на готовом слайде отображается точный код r и отформатированная таблица, которые выглядят точно так же, как если бы я запускал латекс с помощью \input{tabdat}

Буду признателен за любые советы о том, как этого добиться.

Спасибо!

1 ответ

Я немного озадачен, потому что вы говорите о выводе PDF/LaTeX, но вы используете теги уценки R. Вот небольшие примеры для обоих случаев: R Sweave, т.е. вывод LaTeX, и R markdown, т.е. вывод HTML. Для создания кода LaTeX доступно несколько пакетов (xtable, Hmisc и т. д.) только для HTML AFAIK xtable,

Суть того, как включить необработанный вывод так же, как он отображается в консоли, одинакова для обоих типов вывода и уже была объяснена Тайлером Ринкером выше, то есть путем добавления results="asis" к вариантам чанка.

PDF/LaTeX / Rnw-файл

\documentclass{article}
\begin{document}

<<echo=FALSE, message=FALSE>>=
library(Hmisc)
library(xtable)
@

<<results='asis'>>=
latex(head(iris), file = '')
@

<<results='asis'>>=
xtable(head(iris))
@

\end{document}

HTML, Rmd-файл

```{r echo=FALSE}
library(xtable)
```

```{r results='asis'}
tbl <- xtable(head(iris))
print(tbl, type="html")
```

Посмотрите здесь другие примеры и варианты: http://www.stat.iastate.edu/centers/CCGS/slides/slides-Rtables.pdf

Другие вопросы по тегам