2017-06-12 7 views
2

私はパイプライン操作の結果をテーブルに変換して、R MarkdownでHTMLテーブルとしてレンダリングできるようにしたいと考えています。しかしR tidyverseでTibbleをHTMLテーブルに変換するにはどうすればよいですか?

# A tibble: 6 × 4 
    Category  N Percent C.Percent 
    <fctr> <int> <dbl>  <dbl> 
1 First 65853 16.69701 16.69701 
2 Second 66208 16.78702 33.48403 
3 Third 65730 16.66582 50.14985 
4 Fourth 65480 16.60243 66.75228 
5 Fifth 65674 16.65162 83.40390 
6 Sixth 65455 16.59610 100.00000 

場合:

サンプルデータ:

Category <- sample(1:6, 394400) 
Category <- sample(1:6, 394400, replace=TRUE) 
Category <- factor(Category, 
        levels = c(1,2,3,4,5,6), 
        labels = c("First", 
           "Second", 
           "Third", 
           "Fourth", 
           "Fifth", 
           "Sixth")) 
data <- data.frame(Category) 

その後、私はパイプラインを用いて周波数テーブルを作成:

ここで私は、この素晴らしい小さなサマリー表を与える
Table <- data %>% 
      group_by(Category) %>% 
      summarise(N= n(), Percent = n()/NROW(data)*100) %>% 
      mutate(C.Percent = cumsum(Percent)) 

私はテーブルにそれをHTMLに変換するために変換しようとすると、それは強制的にできないと私に伝えますTableをテーブルに追加します。これはデータフレームと同様です。

誰もが出力の外観をカスタマイズしたいので、方法を知っていますか?

+1

"テーブルに変換してからHTMLに変換する"方法については説明していません。たぶん 'knitr :: kable'があなたのために働くでしょうか? – lmo

+0

[DT]パッケージを使用して[データテーブル](http://rstudio.github.io/DT)を作成します。私はいつもそれを使用しており、本当に役に立ちます。 – p0bs

答えて

1

これにはいくつかのパッケージがあります。ここにいくつかあります:

knitr::kable(Table) 

htmlTable::htmlTable(Table) 

ztable::ztable(as.data.frame(Table)) 

DT::datatable(Table) 

stargazer::stargazer(Table, type = "html") 

これらのそれぞれには異なるカスタマイズオプションがあります。

+0

kableはそのテーブルを扱っていましたが、 "テーブル"パッケージを使った数式でビルドされていますが、もっと複雑なテーブルもあります。あなたもkableに彼らと一緒に働く方法があるかどうか知っていますか? – Nick

+0

'html()'に 'tables'オブジェクトをラップすると、出力はhtmlテーブルになります – yeedle

+0

' kable'を特に使いたい場合は 'kable(as.matrix(complex_table))'のようなことができます。あなたはおそらく結果rmarkdownを編集する必要があります。 – yeedle

関連する問題