데이터 테이블
- 정적인 표인 경우에는 knitr 패키지에 있는 kable 함수를 쓰면 출력 문서의 유형에 잘 맞춰진 보기 좋은 표를 출력할 수 있습니다.
knitr::kable(head(iris), caption = "Tabuler data printed using kable")
Tabuler data printed using kable
| 5.1 |
3.5 |
1.4 |
0.2 |
setosa |
| 4.9 |
3.0 |
1.4 |
0.2 |
setosa |
| 4.7 |
3.2 |
1.3 |
0.2 |
setosa |
| 4.6 |
3.1 |
1.5 |
0.2 |
setosa |
| 5.0 |
3.6 |
1.4 |
0.2 |
setosa |
| 5.4 |
3.9 |
1.7 |
0.4 |
setosa |
- DT 패키지는 자바스크립트 라이브러리를 통해서 인터랙티브 표를 만드는 기능을 제공합니다.
library(DT)
data(diamonds, package='ggplot2')
datatable(head(diamonds, 100))
- 수 많은 확장 기능, 플러그인,, 옵션이 있고 이는 DT 패키지에 구현이 되어 있습니다. 표를 더 보기 좋게 하기 위해서 rownames를 표시하지 않게 할 수 있고 filter 인자를 사용해서 개별 열에 대한 검색 기능을 부여할 수 있고 scroller 확장 기능을 통해서 더 나은 수직 스크롤링 기능을 부여할 수 있습니다. scrollX를 사용한 수평 스크로링 기능, dom을 통해서 표시되는 것을 표자체, 표에 대한 정보 등을 선택할 수 있습니다.
datatable(head(diamonds), 100, rownames = FALSE, extension = 'Scroller',
filter = 'top', options = list(dom = 'tiS', scrollX = TRUE, scrollY = 400,
scrollCollapse = TRUE))
- datatable 객체는 파이프 기능을 통해서 출력을 커스터마이징 하는 포맷팅 함수로 전달될 수 있습니다. 다음은 price 열을 가까운 자연수로 반올림하고 cut 열 값에 따라 행들의 색을 부여하는 것입니다.
datatable(head(diamonds), 100, rownames = FALSE, extension = 'Scroller',
filter = 'top', options = list(dom = 'tiS', scrollX = TRUE, scrollY = 400,
scrollCollapse = TRUE)) %>%
formatCurrency('price', digits=0) %>%
formatStyle(columns = 'cut', valueColumns = 'cut', target = 'row',
backgroundColor = styleEqual(levels = c("Good", "Ideal"), values = c("red", "green")))