Regression tables in Markdown format (for flexible use in R Markdown v2)

sammerk picture sammerk · Jun 21, 2014 · Viewed 25k times · Source

The new version of R Markdown is based on pandoc, so you can easyly change the output format.

My Problem is to get markdown formated tables from e.g. regression models, because LATEX and HTML tables do not survive the pandoc conversion.

I know packages that generate LATEX/HTML output from a variety of models (stargazer, texreg, asprtable...) and I'm aware of functions/packages, that generate markdown tables from data frames and matrices but not from other objects.

Any suggestions?

Answer

daroczig picture daroczig · Jun 23, 2014

My above comment in more details:

  1. Define a few models for reproducible example:

    lm0 <- lm(hp ~ wt, mtcars)
    lm1 <- lm(qsec ~ hp, mtcars)
    lm2 <- lm(qsec ~ wt, mtcars)
    
  2. Create a comparative table from those:

    require(memisc)
    mtable123 <- mtable('Model 1' = lm0,
                'Model 2' = lm1,
                'Model 3' = lm2,
                summary.stats = c('R-squared','F','p','N'))
    
  3. Render markdown table with a simple call to pander:

    pander(mtable123)
    
  4. Enjoy the result:

    --------------------------------------------------
         &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    
    --------------------------------------------------
    

Thanks for Roman Tsegelskyi for implementing this nice feature in GSoC 2014.