在不了解乳胶的情况下在R中使用stargazer

在不了解乳胶的情况下在R中使用stargazer,r,ms-word,latex,stargazer,R,Ms Word,Latex,Stargazer,我要为社会科学家教授一门R课程。他们可能对乳胶一无所知,也不愿意听到(R对他们来说足够复杂)。然而,他们可能会喜欢stargazer软件包创建的代表他们模型的表格 是否有任何包装器或其他简单的程序可以让他们使用stargazer直接创建表格的pdf(或其他格式),然后将其作为图像插入word文档?R-Studio将是一个选项。学生可以使用该工具轻松创建HTML文档。R-Studio还包含HTML格式的文档创建,只需点击几下,对R以外的任何其他编程语言都只需要很少的了解。在R-Studio中,有一

我要为社会科学家教授一门R课程。他们可能对乳胶一无所知,也不愿意听到(R对他们来说足够复杂)。然而,他们可能会喜欢stargazer软件包创建的代表他们模型的表格


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

R-Studio将是一个选项。学生可以使用该工具轻松创建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")
接下来单击Knit HTML并选择保存文件的位置。您将得到一个HTML文件,在我的internet浏览器中如下所示:


您可以在Word中打开HTML文件并将表复制到另一个文档中。这样就可以格式化表格。若您想要精确的stargazer格式,您可以获取表格的屏幕截图并将其粘贴到Word中。在R-Studio中也可以轻松创建PDF,但它们确实需要一些乳胶知识。

因此,鉴于上述讨论,我提出了以下包装:

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)
X=data.frame(a=1:10,b=21:30)

modstargazer
包有一个
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")
X=data.frame(a=1:10,b=21:30)

mod我更倾向于编写一个脚本,创建一个完整的latex文档,并在后台将其编译成pdf格式,然后向学生展示。但我认为可能有人做了类似的事情,或者做得更好。在设备中绘制表格是可能的。请参见gridExtra软件包中的
grid.table
,以及plotrix软件包中的
addtable2plot
。不要介意上面的注释。我发现这两个功能都需要数据帧,不能与stargazer一起使用。也许EDIT2是一个解决方案?谢谢你的建议。事实上,html可能看起来不错,但从我的经验来看,对于社会科学家来说并不是非常有用,他们在word/pdf文档中撰写/提交论文,并且需要在这些文档中嵌入表格和图形。我还研究了stargazer的'type=“text”'选项——它还不错,但仍然没有latex文档的效果好。我想我必须自己编写脚本,并确保学生在后台的某个地方安装了pdflatex。R中是否有一个安装latex到pdf模块的包,该模块在后台运行,以便我可以使用它?Sweawe和knitr这样做,但它是latex的东西。R-Studio是非常简单的sweawing/针织入门,因为您可以从那里运行所有功能。如果你看看SO和TeX的10个甚至100个封闭式问题,你会发现将LaTeX/R转换为Word并不容易。底线是:没有令人惊讶的解决方案。由于大多数能够创建解决方案的人并不关心MS Word,因此在不久的将来看到一个简单的解决方案也不太可能。这是一个老生常谈的话题,但我对这个问题感到同情。如果我使用
tools::texi2pdf
而不是
texi2pdf
,您的函数对我有效。但是,结果并不完美,因为表格打印成带有页码的整页,这对于粘贴来说并不理想。我很想知道你在一天结束时是如何处理这个问题的。这是一个惊人的特性!得到那些漂亮的回归表可以节省很多时间。
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")