Tác giả: Hoàng Đức Anh | 2018-12-20
Khi phân tích dữ liệu, ta thường xuyên phải hiển thị dữ liệu dưới dạng bảng. Dữ liệu loại này có thể là dữ liệu chưa qua xử lý (dữ liệu thô) hoặc dữ liệu đã được tổng hợp và cần thể hiện để đơn vị kinh doanh có thể theo dõi.
Trong bài viết này, RAnalytics
sẽ hướng dẫn các bạn hai cách thể hiện dữ liệu dạng bảng 1 cách hiệu quả trong rmarkdown với kable
và DT::datatable
Hiển thị bảng với kable
Cách đỡn giản nhất để hiển thị kết quả dạng bảng là sử dụng hàm kable
có sẵn trong knitr
. Ta có thể sử dụng như sau.
library(dplyr)
library(knitr)
mtcars %>% head %>% kable()
mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
---|---|---|---|---|---|---|---|---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
Valiant | 18.1 | 6 | 225 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 |
Pro tips: Ta có thể để bảng hiện thị dạng mặc định là kable
bằng cách chọn option Print data frame as: 'kable'
trong rmarkdown
Hiển thị bảng động với DT::datatable
kable
tuy thể hiện tốt dữ liệu dạng bảng nhưng chỉ hỗ trợ các bảng khoảng 10-15 dòng. Trong những trường hợp bảng chứa nhiều thông tin hoặc muốn tương tác trực tiếp với bảng, ta có thể sử dụng package DT
với hàm datatable
như sau.
iris %>% DT::datatable()
Kết quả hiển thị như sau:
Với DT
, ta hoàn toàn có thể sort, tìm kiếm các thông tin trực tiếp ngay trên file kết quả của rmarkdown.
Như vậy, chúng ta đã vừa được làm quen với cách hiển thị bảng với knitr::kable
và DT::datatable
. Đây là hai cách thông dụng nhất khi hiển thị dữ liệu dạng bảng ra kết quả với rmarkdown. Chúc các bạn học tập và làm việc hiệu quả với Ranalytics.vn
!