2017-06-12 92 views
2

我想要一種方法來將管道操作的結果轉換爲表格,以便它可以作爲HTML表格呈現在R Markdown中。如何在R tidyverse中將Tibble轉換爲HTML表格?

的樣本數據:

Table <- data %>% 
      group_by(Category) %>% 
      summarise(N= n(), Percent = n()/NROW(data)*100) %>% 
      mutate(C.Percent = cumsum(Percent)) 

這給了我這裏這個可愛的小彙總表:

# 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) 

然後我使用管道建立一個頻率表我嘗試將其轉換爲表格然後轉換爲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爲那個人工作過,我也有一些更復雜的表格,儘管這些表格是用使用「表格」包的公式構建的。你知道是否有辦法讓他們也能與他們一起工作? – Nick

+0

如果你在'html()'中封裝'tables'對象,輸出是一個html表格 – yeedle

+0

如果你想特別使用'kable',你可以做'kable(as.matrix(complex_table))'''。儘管如此,你可能還得編輯結果。 – yeedle