2013-02-03 145 views
10

我正努力使用RStudio在knitr中使用stargazer输出。例如,我将以下代码粘贴到.Rmd文件中,然后单击编织HTML。 [和]之间的第一个块被渲染为等式。第二块来自stargazer。它仍然是代码。当我将第二个块,更少[和]粘贴到Sweave文件中,然后单击编译为PDF时,代码呈现为表格。我安装了MikTex和Stargazer的第3版。与Rstudio和Knitr一起使用stargazer

答案inserting stargazer or xable table into knitr document在单击编译PDF文件时适用于Sweave文件(Rnw)。在Rmd文件中,单击编织HTML时不会呈现tex。

如何将stargazer输出放入Rmd文件,以便Knit HTML将乳胶代码转换为表格? (我是新来的乳胶,而我不知道我可以删除哪些代码,因此对于长段道歉。)

\[ 
\begin{aligned} 
\dot{x} & = \sigma(y-x) \\ 
\dot{y} & = \rho x - y - xz \\ 
\dot{z} & = -\beta z + xy 
\end{aligned} 
\] 

\[ 
\documentclass{article} 

\begin{document} 


% Table created by StarGazer v.3.0.1 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu 
% Date and time: Sun, Feb 03, 2013 - 11:34:52 AM 
\begin{table}[htb] \centering 
    \caption{} 
    \label{} 
\footnotesize 

\begin{tabular}{@{\extracolsep{5pt}}lc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
& \multicolumn{1}{c}{\textit{Dependent variable:}} \\ 
\cline{2-2} 
\\[-1.8ex] & Rate \\ 
\hline \\[-1.8ex] 
pole & $0.071^{***}$ \\ 
    & $(0.020)$ \\ 
    & \\ 
post & $0.095^{***}$ \\ 
    & $(0.019)$ \\ 
    & \\ 
Constant & $-5.784^{***}$ \\ 
    & $(1.667)$ \\ 
    & \\ 
\hline \\[-1.8ex] 
Observations & $46$ \\ 
Residual Std. Error & $2.378 (df = 43)$ \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:} & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\normalsize 
\end{tabular} 
\end{table} 

\end{document} 
\] 
+2

LaTeX表格在Markdown/HTML中不起作用。只有数学才能被RStudio支持。表格有自己的语法(点击'MD'按钮),问题是'stargazer'是否支持语法。我只知道'xtable'可以生成HTML表格。 –

+0

@Yihui googleVis软件包具有html表格功能。 https://developers.google.com/chart/interactive/docs/gallery/table –

+0

您能否更具体地了解您想要实现的目标?最重要的是,你是否需要一个HTML文件作为最终输出,或者你需要PDF还是使用HTML作为中间步骤? –

回答

8

既然话题已经有点过时,我假设手头上的问题是以以某种方式使用观星者与编织者,而不是本身将观星者对象转换为HTML。

作为天文爱好者的狂热的球迷,我想出了以下工作流程:

  1. 写我的代码在.Rmd文件。
  2. 将它编织成.md。 Stargazer表仍保留为生成的降价文件中的LaTeX代码。
  3. 使用pandoc将降价文件转换为PDF。 Pandoc将LaTeX代码转换为适当的表格。或者,可以使用LyT和knitr插件来获取以PDF格式很好地输出的观星表。

如果你想在MS Word中观星表,我发现的最好方法是使用LaTeX2RTF。虽然最上面的单元格有点失真,但修复它却是删除错误的空单元格的问题。剩下的表格被保留下来并可以粘贴/导入到Word中。

这两种策略有助于在LaTeX之外使用观星器。希望能帮助到你。

+0

你有没有设法正确地渲染方程?这是我无法用这个解决方法工作的唯一的东西 – altabq

4

除了上一个答案,也许作为一个更简单的解决方案,stargazer可以输出html代码中的表格,这样当Rmd文件编织成html时,将创建一个表格而不是tex代码。我相信stargazer函数现在可以通过设置type = 'html'直接导出到html。

因此,例如,给定的模型拟合lm1,你可以使用下面的代码在您的RMD文件:

stargazer(lm1, type = 'html')

这工作你是否希望你的最终输出为HTML或PDF。

14

使用下面的代码,你会得到一个工作版本

{r, results='asis'} stargazer(model)

当转换为PDF格式,下面的代码完全适用于天文爱好者4。0:

{r, results='asis'} stargazer(model, header=FALSE, type='latex')

+0

这个效果很好,但是自动生成的LaTeX来自stargazer的评论不会隐藏在我的PDF输出中:'%table由stargazer v.5创建... '你怎么防止这个? –

+4

header = FALSE为我照顾。不知道你是否错过了这个选项。 – Junchen

4

回到这个问题。

我想使用相同的 markdown文件在RStudio中使用knitr生成html和pdf输出。也就是说,在RStudio中,我想推动针织按钮,并且可以选择编织HTMl输出或PDF输出。目前,我对编写一个词/ OpenOffice文档毫无兴趣。

我使用了Jake Russ的令人惊讶的有用的stargazer cheatsheet。这使大多数观星者的功能发挥作用。这是一个R MArkdown文件,块选项 results ='asis' 为那些产生观星输出的块设置。

观星命令本身有一个参数“类型”。缺省值是 type ='latex' 在Jake Russ的计算表中,这是用来生成网页的, type ='html' 在整个过程中都会使用。

如果你试图将它编织成PDF,这根本不起作用。表格以长列表形式出现,每行一个表格单元格,没有格式化,占用很多页面,没有格式化。

,我可以让我内RStudio产生很好的PDF格式的最小变化是全球所有的

type='html' 

type='latex' 

(注意,这两个发生在文本替换该文件,以及在观星命令,所以需要小心!)

这个工程!据我所知,pdf是网页的忠实副本,这正是我想要的。

试图编织的OpenOffice文档,如果我离开

type='latex' 

输出中的每个表换成这样的文字: -

% Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu % Date and time: Tue, Sep 01, 2015 - 22:22:29 

如果我恢复

type='html' 

那么每个表格都会被写入,每行一个单元格,并且没有格式化!

相关问题