Markdown格式的回归表(在R Markdown v2中灵活使用)

sam*_*erk 14 r pandoc knitr r-markdown

R Markdown的新版本基于pandoc,因此您可以轻松更改输出格式.

我的问题是从回归模型中获取markdown格式表,因为LATEX和HTML表不能在pandoc转换中存活.

我知道从各种模型(stargazer,texreg,asprtable ......)生成LATEX/HTML输出的包,我知道函数/包,它们从数据框和矩阵生成降价表,但不从其他对象生成.

有什么建议?

dar*_*zig 13

上面的评论更详细:

  1. 为可重现的示例定义一些模型:

    lm0 <- lm(hp ~ wt, mtcars)
    lm1 <- lm(qsec ~ hp, mtcars)
    lm2 <- lm(qsec ~ wt, mtcars)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从这些创建比较表:

    require(memisc)
    mtable123 <- mtable('Model 1' = lm0,
                'Model 2' = lm1,
                'Model 3' = lm2,
                summary.stats = c('R-squared','F','p','N'))
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通过简单的调用渲染降价表pander:

    pander(mtable123)
    
    Run Code Online (Sandbox Code Playgroud)
  4. 享受结果:

    --------------------------------------------------
         &nbsp;        Model 1    Model 2    Model 3  
    ----------------- ---------- ---------- ----------
     **(Intercept)**   -1.821\   20.556***\ 18.875***\
                       (32.325)   (0.542)    (1.103)  
    
         **wt**       46.160***\     \       -0.319\  
                       (9.625)               (0.328)  
    
         **hp**           \      -0.018***\     \     
                                  (0.003)             
    
      **R-squared**     0.434      0.502      0.031   
    
          **F**         22.999     30.190     0.945   
    
          **p**         0.000      0.000      0.339   
    
          **N**           32         32         32    
    --------------------------------------------------
    
    Run Code Online (Sandbox Code Playgroud)

感谢Roman Tsegelskyi在GSoC 2014中实现了这个不错的功能.

  • @HernandoCasas请确认您使用的是[pander`的[最新版本](http://rapporter.github.io/pander/#installation),因为它在CRAN上已经过时了.我将在接下来的几周内推出更新. (2认同)
  • 当我尝试按照您的建议进行操作时,我似乎得到:“警告pander.default(m):没有用于“ memisc_mtable”的pander.method”。 (2认同)

Kou*_*ndy 6

只需生成HTML或LATEX表。您所要做的就是将results ='asis'添加到代码块中。它将使输出保持原样。

例如,使用xtable的这段代码对我有用。

```{r,results='asis'}
x<-rnorm(100)
y<-rnorm(100)
lm <- lm(y~x)
library(xtable)
print(xtable(summary(lm)),type='html')
```
Run Code Online (Sandbox Code Playgroud)


Cro*_*non 5

这是我几个小时前所做的:

  1. 一些数据:

    ```{r}
    lm1 <- lm(qsec ~ hp, mtcars)
    lm2 <- lm(qsec ~ wt, mtcars)
    ```
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我们使用包sjPlot

    ```{r}
    library(sjPlot)
    tab_model(lm1,lm2, file="output.html")# You have to save the table in html format.
    ```
    
    Run Code Online (Sandbox Code Playgroud)

    下一部分需要位于 markdown 中的块之外:

htmltools::includeHTML(“输出.html”)

在此输入图像描述