在R中使用stargazer而对乳胶一无所知

时间:2014-04-05 07:40:20

标签: r ms-word latex stargazer

我即将为社会科学家教授R课程。他们可能对LaTeX一无所知,也不愿意听到它(R对他们来说足够复杂)。然而,他们很可能喜欢观星包装所代表他们模特的桌子。

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

3 个答案:

答案 0 :(得分:5)

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")

在MS Word中打开这个html文件,你很高兴。

答案 1 :(得分:2)

R-Studio是一个选择。学生可以使用compile notebook button轻松创建HTML文档。 R-Studio还包含HTML格式文档创建,只需要几次点击,并且只需要对R之外的任何其他编程语言的了解最少。这是在R studio中实现它的一种方式:

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

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

接下来点击文件 - &gt;新文件 - &gt; 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>

然后单击“编织HTML”并选择保存文件的位置。您将获得一个HTML文件,在我的互联网浏览器中看起来像这样:

enter image description here

您可以在Word中打开HTML文件并将表复制到另一个文档。通过这种方式,可以格式化表格。如果您想要精确的占星师格式,您可以对该表进行屏幕截图并将其粘贴到Word。此外,pdf可以在R-Studio中轻松创建,但它们确实需要一些LaTeX知识。

答案 2 :(得分: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?

中的某个包