13

我即将为社会科学家教授一门 R 课程。他们可能对 LaTeX 一无所知,也不愿意听到它(R 对他们来说已经足够复杂了)。然而,他们可能会喜欢 stargazer 包创建的用来表示他们的模型的那种表格。

是否有任何包装器或其他简单程序使他们能够使用 stargazer 直接创建表格(或其他格式)的 pdf,然后他们可以将其作为图像插入到 Word 文档中?

4

3 回答 3

12

stargazer包有一个out参数,您可以在其中指定可以保存输出的路径。

如果您指定type="html"有效路径作为out参数,则不必使用 Mikko 提到的 KNIT 选项。

因此,您可以简单地执行以下操作:

X = data.frame(a = 1:10, b = 21:30)
mod <- lm(a ~ b, X)
library(stargazer)
stargazer(mod, type = "html", out="C://Your//Path//Name.html")

在其中打开此html文件MS Word,您就可以开始了。

于 2016-11-12T23:44:08.457 回答
2

R-Studio 将是一个选择。学生可以使用编译笔记本按钮轻松创建 HTML 文档。R-Studio 还包含 HTML 格式的文档创建,只需点击几下,对除 R 之外的任何其他编程语言了解最少。这是在 R Studio 中进行的一种方法:

如果 HTML 足够好,这很容易。代码:

X = data.frame(a = 1:10, b = 21:30)
mod <- lm(a ~ b, X)
library(stargazer)
stargazer(mod, type = "html")

接下来单击文件-> 新建文件-> R HTML

删除除<html>标签之外的所有内容。复制stargazer函数的输出:

<html>
<table style="text-align:center"><tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td><em>Dependent variable:</em></td></tr>
<tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
<tr><td style="text-align:left"></td><td>a</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">b</td><td>1.000<sup>***</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.000)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td style="text-align:left">Constant</td><td>-20.000<sup>***</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.000)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>10</td></tr>
<tr><td style="text-align:left">R<sup>2</sup></td><td>1.000</td></tr>
<tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>1.000</td></tr>
<tr><td style="text-align:left">Residual Std. Error</td><td>0.000 (df = 8)</td></tr>
<tr><td style="text-align:left">F Statistic</td><td>11,406,627,545,111,658,741,817,889,783,808.000<sup>***</sup> (df = 1; 8)</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>
</table>
</html>

接下来单击 Knit HTML 并选择保存文件的位置。你会得到一个 HTML 文件,在我的互联网浏览器中看起来像这样:

在此处输入图像描述

您可以在 Word 中打开 HTML 文件并将表格复制到另一个文档中。通过这种方式,表格可以被格式化。如果您想要精确的观星者格式,您可以截取表格并将其粘贴到 Word。也可以在 R-Studio 中轻松创建 pdf,但它们确实需要一些 LaTeX 知识。

于 2014-04-05T08:03:50.263 回答
0

所以,鉴于上面的讨论,我想出了这个包装器:

gazer2pdf = function(...,filename = "default") {

  fn = paste(filename,"tex",sep=".")
  mo = stargazer(...,out=fn,out.header=T)
  texi2pdf(fn)
}

用法:

X = data.frame(a = 1:10, b = 21:30)
mod <- lm(a ~ b, X)
gazer2pdf(mod)

现在 default.pdf 应该有表格

对此有何评论?这行得通吗?我应该指导我的学生安装什么(除了 r)?tex有一个简单的安装程序吗?它是作为 R 的一部分安装的,还是作为 r 中的某个包安装的?

于 2014-04-05T11:18:58.607 回答