2017-03-31 64 views
0

我想知道在輸出彙總表格時是否有任何方法有效地對列標題進行分組。我意識到這是我想要的一個可怕的解釋,所以這裏是一個例子。假設我有一個包含5列的彙總數據框:projectName,currMonthCost,currMonthRev,prevMonthCost,prevMonthRev。我想有2級列標題,最後輸出到組由CURR /分組列 - 是這樣的:表格輸出 - 爲PDF表格分組列標題

   ||  Current || Previous || 
    projectName || Cost | Rev || Cost | Rev || 
_______________||________|_______||________|_______|| 
       ||  |  ||  |  || 
     x  || x | x || x | x || 
     y  || y | y || y | y || 

道歉在製作表格可憐的嘗試,我是新這裏。但希望你明白這個主意。

有沒有可以處理的包?我已經在使用格式表,但在那裏找不到任何明顯的東西。如果沒有準備好的東西,我很高興它能成爲一個完整的東西 - 只有彙總數據才能導出爲PDF。我只想避免在導出PDF文件之前導出到excel來合併單元格。

在此先感謝。 James

+0

請參閱從'knitr'包或'xtable'包兩種可能性'kable'功能儘可能表輸出。此外,rmarkdown軟件包可能值得研究嵌入這些軟件包的輸出。 – lmo

回答

0

您需要DT庫。這是一個非常強大的顯示數據幀的工具。你的情況,你可以使用container參數自定義表頭:

library(DT) 

df <- data.frame(projectName = c("x", "y"), currMonthCost = c("x", "y"), currMonthRev = c("x", "y"), prevMonthCost = c("x", "y"), prevMonthRev = c("x", "y")) 

df 
# projectName currMonthCost currMonthRev prevMonthCost prevMonthRev 
#1   x    x   x    x   x 
#2   y    y   y    y   y 

sketch = htmltools::withTags(table(
     class = 'display', 
     thead(
      tr(
       th(rowspan = 2, 'projectName'), 
       th(colspan = 2, 'Current'), 
       th(colspan = 2, 'Previous') 
     ), 
      tr(
       lapply(rep(c('Cost', 'Rev'), 2), th) 
     ) 
    ) 
)) 

datatable(df, container = sketch, rownames = F) 

enter image description here