我正要为社会科学家讲授一门R课程。他们可能对LaTeX一无所知,也不愿意听到它(R对他们来说已经足够复杂了)。然而,他们可能会喜欢stargazer软件包创建的表示他们模型的那种表。
有没有什么包装器或其他简单的程序可以让他们使用stargazer直接创建表格的pdf (或其他格式),然后他们可以将其作为图像插入到word文档中?
发布于 2016-11-13 07:44:08
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文件,就可以了。
发布于 2014-04-05 16:03:50
R-Studio将是一个选择。学生可以使用compile notebook button轻松创建超文本标记语言文档。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")下一步,单击文件HTML新建文件-> R ->
删除除<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文件,它在我的internet浏览器中如下所示:

您可以在Word中打开HTML文件,然后将表格复制到其他文档中。通过这种方式,可以格式化表格。如果您想要精确的stargazer格式,可以截取表格的屏幕截图并将其粘贴到Word中。此外,在R-Studio中也可以很容易地创建pdfs,但它们确实需要一些LaTeX知识。
发布于 2014-04-05 19:18:59
因此,根据上面的讨论,我想出了这个包装器:
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中的某个包安装的?
https://stackoverflow.com/questions/22878037
复制相似问题