【问题标题】:Regression table using Knitr and stargazer使用 Knitr 和 stargazer 的回归表
【发布时间】:2012-11-14 21:34:56
【问题描述】:

我正在尝试使用 knitr 和 stargazer 将回归表从 R 导出到 Latex。不幸的是,我收到以下错误消息 "Missing $ inserted" 我插入了一个 begin-math/end-math 符号,因为我认为您遗漏了一个。继续,交叉手指。
我是否遗漏了代码中的任何内容,或者这可能是 stargazer 包中的错误?
关于如何同时使用 knitr 和 stargazer 的任何提示?

\documentclass{article}   
\begin{document}   
%Load dataset and run regression    

 << lm, echo=FALSE >>=  
load('dataset.RData')  
library(stargazer)  
lm1 <- lm(y~ x ,data=dataset)  
@


<< table_texstyle, echo=FALSE, comment=NA, results='asis' >>=  
stargazer(lm1)  
@  
\end{document}

【问题讨论】:

  • 如果你不能让它工作,可能想试试xtable

标签: r latex regression knitr


【解决方案1】:

stargazer v.2.0 现已在 CRAN 上推出,应该能够毫无问题地处理包含美元符号和下划线的变量名。尝试安装新版本,然后再次运行您的代码 - 您应该没有任何问题。

【讨论】:

  • 4.0版本中,使用stargazer(...,header=FALSE, type='latex' )来抑制header,这样转换成Latex就不会报错了。
【解决方案2】:

它在 Ubuntu 12.04、TeXLive 2012 和 R 2.15.2 下运行良好。

\documentclass{article}   
\begin{document}   
<<lm, echo=FALSE >>=  
df <- data.frame(x=1:10, y=rnorm(10))
library(stargazer)  
lm1 <- lm(y ~ x ,data=df)  
@

<<table_texstyle, echo=FALSE, results='asis' >>=  
stargazer(lm1)  
@  
\end{document}

您没有告诉我们dataset 是什么(我们不知道您的dataset.RData),因此我们无法真正知道失败的原因。至少你需要像

一样粘贴tex输出
% Table created by StarGazer v.1.0 by Marek Hlavac, Harvard University. E-mail: mhlavac at alumni.princeton.edu
% Date and time: Wed, Nov 14, 2012 - 06:20:12 PM
\begin{table}[htb] \centering 

....

\end{table}

所以我们知道问题是否来自 LaTeX。

【讨论】:

  • 感谢您的回答。由于您的示例在我的计算机上运行良好,我试图找出与我的数据集的区别。我的问题是一个自变量被称为 x_z 并且 _ 导致错误消息。
  • @Tom 那么您需要更仔细地阅读stargazer 的文档,以找出是否可以转义_,或者为这些有问题的标签使用替代标签。
  • 是的,我只是使用了一个替代标签来解决这个问题。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 2015-10-06
相关资源
最近更新 更多