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

问题描述 投票:9回答:3

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

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

r ms-word latex stargazer
3个回答
6
投票

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文件,您就可以开始使用了。


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

然后单击文件 - >新文件 - > 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文件,在我的互联网浏览器中看起来像这样:

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


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中的某个包?

© www.soinside.com 2019 - 2024. All rights reserved.