23

我正在努力使用 RStudio 在 knitr 中使用 stargazer 输出。例如,我将下面的代码粘贴到 .Rmd 文件中,然后单击 Knit HTML。[ 和 ] 之间的第一个块被渲染为方程。第二块来自观星者。它仍然是代码。当我将第二个块 less [ 和 ] 粘贴到 Sweave 文件中,然后单击编译为 PDF 时,代码呈现为表格。我安装了 MikTex 和 Stargazer 版本 3。

单击编译 PDF 时,将 stargazer 或 xable 表插入 knitr 文档的答案 在 Sweave 文件 (Rnw) 中对我有用。在 Rmd 文件中,单击 Knit HTML 时不会呈现 tex。

如何将 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}
\]
4

4 回答 4

48

使用以下代码,您将获得一个工作版本

```{r, results='asis'}
stargazer(model)
```

转换为 pdf 时,以下代码非常适用于 stargazer 4.0:

```{r, results='asis'}
stargazer(model, header=FALSE, type='latex')
```
于 2015-05-24T12:43:41.527 回答
13

由于该主题已经过时了,我假设手头的问题是以某种方式将 stargazer 与 knitr 一起使用,而不是本质上将 stargazer 对象转换为 HTML。

作为观星者的狂热粉丝,我提出了以下工作流程:

  1. 将我的代码写在 .Rmd 文件中。
  2. 将其编织成 .md。Stargazer 表在生成的降价文件中保留为 LaTeX 代码。
  3. 使用pandoc将 markdown 文件转换为 PDF。Pandoc 将 LaTeX 代码翻译成适当的表格。或者,可以使用带有 knitr 插件的 LyX 以 PDF 格式很好地输出观星表。

如果有人想要 MS Word 中的观星表,我发现最好的方法是使用LaTeX2RTF。虽然最上面的单元格有点扭曲,但修复它是删除错误的空单元格的问题。其余的表格被保留,可以粘贴/导入到 Word 中。

这两种策略有助于在 LaTeX 之外使用 stargazer。希望能帮助到你。

于 2013-04-13T16:48:02.697 回答
6

除了前面的答案,也许作为一个更简单的解决方案,stargazer 可以在 html 代码中输出表格,这样当 Rmd 文件被编织成 html 时,会创建一个表格而不是 tex 代码。我相信该stargazer功能现在可以通过设置直接导出为html type = 'html'

因此,例如,给定模型 fit lm1,您将在 Rmd 文件中使用以下代码:

stargazer(lm1, type = 'html')

无论您希望最终输出是 html 还是 pdf,这都有效。

于 2014-07-23T15:36:06.377 回答
5

回到这个问题。

我想使用相同的降价文件在带有 knitr 的 RStudio 中生成 html 和 pdf 输出。也就是说,在 RStudio 中,我想按下 knit 按钮,并可以选择编织 HTMl 输出或 pdf 输出。目前,我对编写 word/OpenOffice 文档没有太大兴趣。

我使用了来自 Jake Russ的非常有用的观星者备忘单。这锻炼了观星者的大部分功能。它是一个 R MArkdown 文件,为那些产生 stargazer 输出的块设置了块选项 results='asis'。

stargazer 命令本身有一个参数“type”。默认值为 type='latex' 在 Jake Russ 的用于生成网页的备忘单中,始终使用 type='html'。

如果您尝试将其编织成 pdf,这根本不起作用。表格以长列表的形式出现,每行一个表格单元格,没有格式,占用很多页面,没有格式。

为了让我在 RStudio 中生成漂亮的 pdf,我可以做出的最小更改是全局替换所有

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'

然后每个表格都被写入,每行一个单元格,在页面的一侧没有格式化!

于 2015-09-01T21:29:17.913 回答