首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不了解latex的情况下在R中使用stargazer

在不了解latex的情况下在R中使用stargazer
EN

Stack Overflow用户
提问于 2014-04-05 15:40:20
回答 3查看 13.3K关注 0票数 13

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

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

EN

回答 3

Stack Overflow用户

发布于 2016-11-13 07:44:08

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

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

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

代码语言:javascript
复制
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文件,就可以了。

票数 12
EN

Stack Overflow用户

发布于 2014-04-05 16:03:50

R-Studio将是一个选择。学生可以使用compile notebook button轻松创建超文本标记语言文档。R-Studio还包含HTML格式的文档创建,这只需要很少的点击和R之外的任何其他编程语言的最少知识。这里是在R studio中实现的一种方法:

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

代码语言:javascript
复制
X = data.frame(a = 1:10, b = 21:30)
mod <- lm(a ~ b, X)
library(stargazer)
stargazer(mod, type = "html")

下一步,单击文件HTML新建文件-> R ->

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

代码语言:javascript
复制
<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知识。

票数 2
EN

Stack Overflow用户

发布于 2014-04-05 19:18:59

因此,根据上面的讨论,我想出了这个包装器:

代码语言:javascript
复制
gazer2pdf = function(...,filename = "default") {

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

用法:

代码语言:javascript
复制
X = data.frame(a = 1:10, b = 21:30)
mod <- lm(a ~ b, X)
gazer2pdf(mod)

现在default.pdf应该有了这个表

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22878037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档