2013-02-10 26 views
6

我尝试使用如下所示的代码将一个lm对象的摘要包含在Rmd文件中,但它不起作用。你能帮我做到吗?在Rmd文件中包含apsrtable(或stargazer)输出

```{r summary_lm, results='asis', echo=FALSE, comment=NA} 

library(apsrtable) 
my_model <- lm(y ~ x, data = data.frame(y = rnorm(10), x = 1:10)) 
res <- apsrtable(my_model) # my_model is a linear regression model (lm) 

cat("$$latex \n",res,"\n$$ \n") 

``` 

回答

6

$$语法只适用于数学表达式,你试图把一个表吧,这是行不通的。就我所知,apsrtable仅适用于LaTeX,但LaTeX和Markdown则大不相同 - 您几乎没有希望完全用Markdown重做LaTeX。我认为人们发明了Markdown的$$语法,因为它受到MathJax的支持,并且还注意到基于原始Markdown的变体/版本很多。

此刻的你可以考虑:

  • 使用xtableasciiR2HTML包生成HTML表格
  • 请求apsrtable包的作者,支持HTML表格
3

什么包括my_model以Markdown格式与`pander˙

> library(pander) 
> pander(my_model) 

-------------------------------------------------------------- 
    &nbsp;  Estimate Std. Error t value Pr(>|t|) 
----------------- ---------- ------------ --------- ---------- 
     **x**   0.1174  0.1573  0.7465  0.4767 

**(Intercept)** -0.2889  0.9759  -0.296  0.7748 
-------------------------------------------------------------- 

Table: Fitting linear model: y ~ x 

或者在PHP MarkdownExtra/rmarkdown格式:

> panderOptions('table.style', 'rmarkdown') 
> pander(my_model) 


|  &nbsp;  | Estimate | Std. Error | t value | Pr(>|t|) | 
|:-----------------:|:----------:|:------------:|:---------:|:----------:| 
|  **x**  | 0.1174 | 0.1573 | 0.7465 | 0.4767 | 
| **(Intercept)** | -0.2889 | 0.9759 | -0.296 | 0.7748 | 

Table: Fitting linear model: y ~ x