web-dev-qa-db-ja.com

Markdown形式の回帰表(R Markdown v2で柔軟に使用するため)

R Markdownの新しいバージョンはpandocに基づいているため、出力形式を簡単に変更できます。

私の問題は、たとえばからマークダウン形式のテーブルを取得することです。 LATEXテーブルとHTMLテーブルはpandoc変換に耐えられないため、回帰モデル。

さまざまなモデル(stargazer、texreg、asprtable ...)からLATEX/HTML出力を生成するパッケージを知っており、他のオブジェクトからではなく、データフレームとマトリックスからマークダウンテーブルを生成する関数/パッケージを知っています。

助言がありますか?

15
sammerk

私の コメントの上 詳細:

  1. 再現可能な例のいくつかのモデルを定義します。

    lm0 <- lm(hp ~ wt, mtcars)
    lm1 <- lm(qsec ~ hp, mtcars)
    lm2 <- lm(qsec ~ wt, mtcars)
    
  2. それらから比較表を作成します。

    require(memisc)
    mtable123 <- mtable('Model 1' = lm0,
                'Model 2' = lm1,
                'Model 3' = lm2,
                summary.stats = c('R-squared','F','p','N'))
    
  3. panderを呼び出すだけで、マークダウンテーブルをレンダリングします。

    pander(mtable123)
    
  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    
    --------------------------------------------------
    

Roman Tsegelskyi GSoC 2014でこの素晴らしい機能を実装していただきありがとうございます。

15
daroczig

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')
```
5
Koundy

ここで私が数時間前にしたこと:

  1. いくつかのデータ:

    ```{r}
    lm1 <- lm(qsec ~ hp, mtcars)
    lm2 <- lm(qsec ~ wt, mtcars)
    ```
    
  2. パッケージsjPlotを使用します

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

    次の部分は、マークダウンのチャンクの外側にある必要があります。

htmltools :: includeHTML( "output.html")

enter image description here

2
Cro-Magnon

SjPlot(回帰出力を簡単に表示するための優れたライブラリ)を使用する別の方法は、no.output機能を使用することです。

     library(sjmisc)
     library(sjPlot)
     library(magrittr)

     lm(qsec ~ wt, mtcars) %>% 
       sjt.lm(no.output = TRUE, show.se = TRUE) %>% 
       return() %>% .[["knitr"]] %>% asis_output
1
HoneyBuddha

Huxtableパッケージは、適切にフォーマットされた回帰表を出力できるようになりました。ドキュメントを参照してください https://hughjonesd.github.io/huxtable/huxreg.html

1
cderv

私はこれを、人気のある(そして新しい)knitrおよびkableExtraパッケージを使用する例で更新しています。

library(knitr)
library(xtable)

lm(hp ~ wt, mtcars) %>%
summary() %>%
xtable() %>%
kable()

これで、Hao Zhuの kableExtra パッケージで利用できるすべてのクールな表フォーマット機能にアクセスできます。

0
John J.