2017-03-31 3 views
0

요약 테이블을 출력 할 때 열 머리글을 효과적으로 그룹화하는 방법이 있는지 알고 싶습니다. 그게 내가 원한 것에 대한 끔찍한 설명 인걸. 여기 예제가있다.테이블 출력 - PDF 테이블의 열 머리글 그룹화

projectframe, currMonthCost, currMonthRev, prevMonthCost, prevMonthRev의 5 개 열로 구성된 요약 데이터 프레임이 있다고 가정 해 보겠습니다. 나는 그룹에 최종 출력, 열 머리글 2 개 수준을 가지고 싶습니다 CURR/이전으로 열 - 같은 : 테이블을 만들기에서 가난한 시도에 대한

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

사과, 나는 새로운 해요 이리. 그러나 잘하면 당신은 아이디어를 얻는다.

처리 할 수있는 패키지가 있습니까? 이미 formattable을 사용하고 있지만 거기에는 아무 것도 발견 할 수 없습니다. 준비가되어있는 것이 없다면 기쁜 마음입니다. 요약 번호 만 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

관련 문제