我即将为社会科学家教授R课程。他们可能对LaTeX一无所知,也不愿意听到它(R对他们来说足够复杂)。然而,他们很可能喜欢观星包装所代表他们模特的那种桌子。
是否有任何包装器或其他简单的程序使他们能够使用stargazer直接创建表格(或其他格式)的pdf,然后他们可以作为图像插入到word文档中?
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
文件,您就可以开始使用了。
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知识。
所以,鉴于上面的讨论,我提出了这个包装器:
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中的某个包?