Использование stargazer с Rstudio и Knitr
Я пытаюсь использовать вывод stargazer в knitr, используя RStudio. Например, я вставляю код ниже в .Rmd файл и затем вязать HTML. Первый блок между [и] представляется как уравнения. Второй блок - от звезды. Он остается в коде. Когда я вставляю второй блок, меньше [и], в файл Sweave и затем компилирую его в формате PDF, код отображается как таблица. У меня установлен MikTex и версия 3 Stargazer.
Ответ inserting stargazer или xable table в документ knitr работает для меня в файле Sweave (Rnw) при нажатии на компиляцию PDF. В файле Rmd tex не отображается при нажатии Knit HTML.
Как я могу поместить вывод stargazer в Rmd файл, чтобы Knit HTML конвертировал латексный код в таблицу? (Я новичок в Latex и не знаю, какой код я могу удалить, поэтому извиняюсь за длинный сегмент.)
\[
\begin{aligned}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{aligned}
\]
\[
\documentclass{article}
\begin{document}
% Table created by StarGazer v.3.0.1 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: Sun, Feb 03, 2013 - 11:34:52 AM
\begin{table}[htb] \centering
\caption{}
\label{}
\footnotesize
\begin{tabular}{@{\extracolsep{5pt}}lc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{1}{c}{\textit{Dependent variable:}} \\
\cline{2-2}
\\[-1.8ex] & Rate \\
\hline \\[-1.8ex]
pole & $0.071^{***}$ \\
& $(0.020)$ \\
& \\
post & $0.095^{***}$ \\
& $(0.019)$ \\
& \\
Constant & $-5.784^{***}$ \\
& $(1.667)$ \\
& \\
\hline \\[-1.8ex]
Observations & $46$ \\
Residual Std. Error & $2.378 (df = 43)$ \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\normalsize
\end{tabular}
\end{table}
\end{document}
\]
Ответы
Ответ 1
Так как тема немного устарела, я предполагаю, что проблема заключается в том, чтобы каким-то образом использовать stargazer с knitr, а не по сути преобразование объектов stargazer в HTML.
Являясь активным поклонником звездного вратаря, я придумал следующий рабочий процесс:
- Напишите мой код в файле .Rmd.
- Вязать его в .md. Таблицы Stargazer остаются в виде кода LaTeX в результирующем файле разметки.
- Используйте pandoc, чтобы преобразовать файл отметки в PDF. Pandoc переводит код LaTeX в соответствующие таблицы. В качестве альтернативы, можно использовать LyX с плагином для чтения, чтобы получить таблицы звездчатого стола, которые хорошо воспроизводятся в формате PDF.
Если вам нужны таблицы stargazer в MS Word, лучшим способом, который я нашел, является использование LaTeX2RTF. Хотя самые верхние ячейки немного искажены, фиксация - это вопрос удаления ошибочной пустой ячейки. В остальном таблица сохраняется и может быть вставлена /импортирована в Word.
Эти две стратегии помогают использовать stargazer вне LaTeX. Надеюсь, поможет.
Ответ 2
Используйте следующий код, и вы получите рабочую версию
{r, results='asis'}
stargazer(model)
При преобразовании в pdf следующий код отлично работает для stargazer 4.0:
{r, results='asis'}
stargazer(model, header=FALSE, type='latex')
Ответ 3
В дополнение к предыдущему ответу и, возможно, как более простому решению, stargazer может выводить таблицу в html-код, так что когда Rmd файл вязан в html, создается таблица, а не tex-код. Я считаю, что функция stargazer
теперь может напрямую экспортироваться в html, установив type = 'html'
.
Итак, например, данная модель подходит lm1
, вы должны использовать следующий код в своем файле Rmd:
stargazer(lm1, type = 'html')
Это работает независимо от того, хотите ли вы, чтобы ваш конечный результат был html или pdf.
Ответ 4
Возвращаясь к этому вопросу.
Я хочу использовать те же файлы разметки для создания html и pdf-выходов в RStudio с knitr. То есть, в RStudio я хочу нажать кнопку трикотажа и иметь варианты вязания выхода HTMl или вывода в формате PDF. На данный момент у меня нет большого интереса в вязании слова/документа OpenOffice.
Я использовал потрясающе полезный targazer cheatsheet от Jake Russ. Это выполняет большую часть функций старгазера. Это файл R MArkdown, с опцией chunk Результаты = 'ASIS'
установленный для тех кусков, которые производят вывод звездочек.
Сама команда stargazer имеет аргумент 'type'. По умолчанию используется TYPE = '' латекс
В cheatsheet Jake Russ, который предназначен для создания веб-страницы, тип = 'HTML'
используется повсюду.
Это не работает вообще, если вы попытаетесь связать его в pdf. Таблицы выходят как длинные списки, одна ячейка таблицы на строку, без форматирования и занимает много страниц без форматирования.
Самое маленькое изменение, которое я могу сделать, чтобы позволить мне создавать хороший PDF файл внутри RStudio, - это глобально заменить все
type='html'
с
type='latex'
(обратите внимание, что оба они встречаются в тексте документа, а также в командах stargazer, поэтому необходимо проявлять осторожность!)
Это работает! Насколько я вижу, PDF является верной репликой веб-страницы, которая именно то, что я хочу.
Попытка вязать документы OpenOffice, если я оставлю
type='latex'
Каждая таблица на выходе заменяется следующим текстом: -
% Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu % Date and time: Tue, Sep 01, 2015 - 22:22:29
Если я восстановил
type='html'
тогда каждая таблица записывается, по одной ячейке в строке, в стороне от страницы без форматирования!