gt
패키지로 데이터 테이블 만들기 - 2
앞선 포스트에서는 gt
패키지를 사용해 표안의 데이터 형태를 잡는 것까지 해보았다. 그럼 이번에는 표를 예쁘게 꾸며보는 작업을 해보겠다. 하나 미리 말해둘 것은 필자가 미적감각이 없어 예쁜 표가 나올지는 모르겠다. 예쁜 표를 그리는 방법을 설명할테니 진짜 예쁜 표는 직접 만들어야 할 것이다. .
tab_option()
을 이용하여 전체 표 꾸미기
표를 꾸밀때는 선 형태, 선 색깔, 셀 배경색, 글자 폰트, 글자 크기 등 여러가지 워드프로세서에서나 가능할 만한 여러가지 요소를 직접 설정할 수 있어야 한다. gt
패키지에서는 tab_option()
함수의 다양한 매개 변수를 설정함에 따라 이들 요소들을 직접 설정할 수 있다. 다만 tab_option()
에서 제공하는 매개 변수들이 너무 많아서 본 포스트에서 다 설명할 수 없다. tab_option()
의 매개변수는 gt
의 tab_option()
매뉴얼을 참조하라.
gt.table8 <- gt.table7 |>
tab_options(
## 행 그룹 요약 행의 배경색 설정
summary_row.background.color = "lightblue",
## 전체 요약 행의 배경색 설정
grand_summary_row.background.color = "lightgreen",
## 구분(Stub) 행의 헤더 외곽선 스타일 설정
stub.border.style = 'solid',
## 구분(Stub) 행의 배경색 설정
stub.background.color = '#edf8fb',
## 행 그룹 이름 표현 셀 배경색 설정
row_group.background.color = '#ffffcc',
## 열 제목(Heading) 배경색 설정
heading.background.color = '#c6dbef',
## 표 몸체(Body) 수평선 스타일 설정
table_body.hlines.style = 'dashed',
## 표 몸체(Body) 수직선 색깔 설정
table_body.vlines.color = 'blue',
## 표 몸체(BOdy) 수직선 스타일 설정
table_body.vlines.style = 'dashed'
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
tab_style()
을 이용하여 셀 꾸미기
tab_option()
에서 많은 설정값을 제공하지만 표를 세부적으로 설정하기가 다소 어려울 것이다. 필자도 전체적으로 설정할 필요가 있을 때는 tab_option()
을 사용하지만 생각보다 설정이 어려워 셀 단위로 설정하는 tab_style()
을 사용한다. tab_style()
은 표에서 설정할 각 부분을 먼저 선택하고 이 부분에 대한 스타일을 설정함으로써 표를 꾸밀 수 있다. 이 함수에서는 셀 위치(locations
)와 셀 스타일(style
)을 지정하는 두가지 매개변수가 필요하다. 이 매개변수들을 설정할 때는 도움 함수(helper function)1을 사용하는데 tab_style()
의 사용법은 다음과 같다.
tab_style(data, locations, style)
data : 표 그리기에 사용할
gt
객체locations : 셀의 위치를 설정하기 위한 헬퍼함수
style : 셀의 속성을 설정하기 위한 도움 함수, 2개 이상의 도움 함수를 사용해야 할 경우는 list로 만들어준다.
tab_style()
의 위치(locations
)를 설정하는데 사용하는 도움 함수는 다음과 같다.
도움함수명 | 설명 | 매개변수 |
---|---|---|
cell_fill() |
셀 안을 채우는 색깔을 지정하는 함수 | color , alpha |
cell_text() |
셀 안의 문자 형태(색깔, 폰트, 크기, 스타일, 굵기)를 지정하는 함수 | color , font , size , style , weight , align , indent |
cell_borders() |
셀의 테두리 설정 | sides , color , style , weight |
셀의 위치(locations
)를 설정할 때 사용하는 도움 함수는 다음과 같다.
도움 함수 | 설명 | 매개변수 |
---|---|---|
cells_title() |
표 제목 셀 선택 | groups |
cells_stubhead() |
구분(Stub) 열 제목셀 선택 | |
cells_column_spanners() |
열 이름 묶음(Spanner) 셀 선택 | spanners |
cells_column_labels() |
열 이름 셀 선택 | columns |
cells_row_groups() |
행 그룹 셀 선택 | groups |
cells_stub() |
구분 셀 선택 | rows |
cells_body() |
표 몸체(Body) 셀 선택 | columns, rows |
cells_summary() |
요약 셀 선택 | groups, columns, rows |
cells_grand_summary() |
전체 요약 셀 선택 | columns, rows |
cells_stub_summary() |
요약 구분 셀 선택 | groups, rows |
cells_stub_grand_summary() |
전체 요약 구분 셀 선택 | rows |
cells_footnotes() |
각주 셀 선택 | |
cells_source_notes() |
출처 셀 선택 |
그러면 이제 차근차근 표를 꾸며보자. 먼저 표 제목을 굵게하고 크기를 20로 설정하는 코드는 다음과 같다.
gt.table9 <- gt.table8 |>
tab_style(
locations = cells_title(groups = "title"),
style = list(
cell_text(weight = "bold", size = px(20))
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
이번에는 열 그룹(Spanner) 이름인 ‘합계’와 ’평균’ 문자 색과 크기를 설정하겠다.
gt.table10 <- gt.table9 |>
tab_style(
locations = cells_column_spanners(spanners = "합계"),
style = list(
cell_text(weight = "bold", size = px(12), color = 'blue')
)
) %>%
tab_style(
locations = cells_column_spanners(spanners = "평균"),
style = list(
cell_text(weight = "bold",color = "red", size = px(12))
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
이번에는 열 이름의 스타일을 설정하겠다. 열의 배경색을 회색으로, 열의 글자색을 흰색으로 설정하는데 필요한 함수는 cell_text()
와 cell_fill()
의 두가지가 필요하다. 따라서 이 두가지 함수를 list()
로 묶어 주어야 한다. cells_column_label()
의 columns
매개변수 설정시에 특정 열의 이름을 설정하여 특정 열을 선택할 수 있고 다수의 열을 선택하려면 열 이름이나 열 번호를 vector로 만들어 설정할 수 있다. 열 전체를 선택해야 할때는 everything()
을 사용할 수 있다.
gt.table11 <- gt.table10 |>
tab_style(
locations = cells_column_labels(columns = everything()),
style = list(
cell_text(color = "white"),
cell_fill(color = 'grey50')
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
각각의 행 그룹 이름셀이 노란색으로 표현되어 있는데 위에서 설정한 열 이름 셀의 속성과 유사한 속성으로 바꾸어 주겠다. 행 그룹 이름 셀의 속성을 설정하는 함수는 cells_row_group()
이다. 이 함수에서 groups
매개변수를 사용하여 설정하고자 하는 행 그룹을 지정할 수 있는데 전체 행 그룹 이름 셀을 선택하려면 everything()
을 사용한다.
gt.table12 <- gt.table11 |>
tab_style(
locations = cells_row_groups(groups = everything()),
style = list(
cell_text(color = "grey25", size = 24, align = 'center'),
cell_fill(color = 'grey75')
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
이번에는 구분 셀(Stub)을 설정하도록 하겠다. 현재 그려진 표에는 구분(Stub) 셀, 요약 구분 셀, 전체 요약 구분 셀의 세가지 구분 셀이 있다. 이들 구분 셀들을 모두 굵은 글씨에 중간 정렬로 설정하도록 한다. 구분 셀을 선택하는 함수는 cells_stub()
, 요약 구분 셀을 선택하는 함수는 cells_stub_summary()
, 전체 요약구분 셀을 선택하는 함수는 cells_grand_stub_summary()
이다. 다음과 같이 설정이 가능하다.
gt.table13 <- gt.table12 |>
tab_style(
locations = cells_stub(rows = everything()),
style = list(
cell_text(align = 'center', weight = 'bold')
)
) |>
tab_style(
locations = cells_stub_summary(rows = everything()),
style = list(
cell_text(align = 'center', weight = 'bold')
)
) |>
tab_style(
locations = cells_stub_grand_summary(rows = everything()),
style = list(
cell_text(align = 'center', weight = 'bold')
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
이번에는 실제 데이터들이 표현되는 표 몸체(Body)를 설정한다. 표 몸체는 표 헤더 셀(Header), 표 구분 셀(Stub)를 제외한 표 내부의 전체 셀을 의미한다. 경우에 따라 특정 열을 선택할 수 있고 특정 열만, 특정 행만을 선택할 수도 있으며 전체 표 몸체 셀을 선택할 수도 있다. 여기서는 합계쪽 데이터는 파란색 글씨에 파란색 선으로 표현하고 평균쪽 데이터는 붉은색 글씨에 붉은색 선으로 표현한다. 코드는 다음과 같다.
gt.table14 <- gt.table13 |>
tab_style(
locations = cells_body(rows = everything(), columns = c(9:14)),
style = list(
cell_borders(color = 'red', style = 'dotted')
)
) |>
tab_style(
locations = cells_body(rows = everything(), columns = c(3:8)),
style = list(
cell_borders(color = 'blue', style = 'dotted')
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
앞서 표 몸체를 설정한 것과 같이 요약 셀과 전체 요약 셀도 유사하게 설정해보도록 하겠다. 하지만 요약 셀은 배경색을 푸른색과 붉은색 글자색으로 설정하고 전체 요약 셀은 셀 배경을 푸른색과 붉은색으로 채우고 글자색을 하얀색으로 굵게 설정하도록 하겠다.2
gt.table15 <- gt.table14 |>
tab_style(
style = list(
cell_borders(color = 'blue', style = 'dotted'),
cell_text(color = 'blue')
),
locations = cells_summary(rows = 1,
columns = c(3:8),
group = everything()
)
) |>
tab_style(
style = list(
cell_borders(color = 'blue', style = 'dotted'),
cell_text(color = 'blue')
),
locations = cells_summary(rows = 2,
columns = c(3:8),
group = everything()
)
) |>
tab_style(
style = list(
cell_borders(color = 'red', style = 'dotted'),
cell_text(color = 'red')
),
locations = cells_summary(rows = 1,
columns = c(9:14),
group = everything()
)
) |>
tab_style(
style = list(
cell_borders(color = 'red', style = 'dotted'),
cell_text(color = 'red')
),
locations = cells_summary(rows = 2,
columns = c(9:14),
group = everything()
)
) |>
tab_style(
style = list(
cell_text(color = 'white', weight = 'bold'),
cell_fill(color = 'blue', alpha = 0.5)
),
locations = cells_grand_summary(rows = 1,
columns = c(3:8)
)
) |>
tab_style(
style = list(
cell_text(color = 'white', weight = 'bold'),
cell_fill(color = 'blue', alpha = 0.5)
),
locations = cells_grand_summary(rows = 2,
columns = c(3:8)
)
) |>
tab_style(
style = list(
cell_text(color = 'white', weight = 'bold'),
cell_fill(color = 'red', alpha = 0.5)
),
locations = cells_grand_summary(rows = 1,
columns = c(9:14)
)
) |>
tab_style(
style = list(
cell_text(color = 'white', weight = 'bold'),
cell_fill(color = 'red', alpha = 0.5)
),
locations = cells_grand_summary(rows = 2,
columns = c(9:14)
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2021년 전체 고등교육기관 대상 | ||||||||||||
합계 | 평균 | |||||||||||
학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | 학과수 | 지원자 | 입학자 | 재적생 | 재학생 | 휴학생 | |
전문대학과정 | ||||||||||||
전문대학(2년제) | 2,546 | 473,154 | 70,200 | 238,266 | 162,729 | 75,386 | 1.4 | 257.8 | 38.3 | 129.8 | 88.7 | 41.1 |
전문대학(3년제) | 3,095 | 603,197 | 87,333 | 304,435 | 213,105 | 91,162 | 1.7 | 326.9 | 47.3 | 165.0 | 115.5 | 49.4 |
전문대학(4년제) | 317 | 63,559 | 9,174 | 33,340 | 24,242 | 9,077 | 1.1 | 227.8 | 32.9 | 119.5 | 86.9 | 32.5 |
기능대학 | 263 | 19,102 | 7,565 | 23,910 | 14,860 | 9,050 | 1.5 | 107.9 | 42.7 | 135.1 | 84.0 | 51.1 |
합계 | 6,221 | 1,159,012 | 174,272 | 599,951 | 414,936 | 184,675 | 5.7 | 920.5 | 161.2 | 549.4 | 375.0 | 174.2 |
평균값 | 1,555 | 289,753 | 43,568 | 149,988 | 103,734 | 46,169 | 1.4 | 230.1 | 40.3 | 137.4 | 93.8 | 43.5 |
대학과정 | ||||||||||||
대학교 | 12,028 | 2,635,154 | 329,306 | 1,938,254 | 1,415,162 | 504,165 | 1.5 | 326.3 | 40.8 | 240.0 | 175.3 | 62.4 |
교육대학 | 140 | 15,805 | 3,864 | 15,409 | 15,045 | 364 | 2.3 | 263.4 | 64.4 | 256.8 | 250.8 | 6.1 |
산업대학 | 251 | 22,128 | 2,379 | 14,539 | 11,076 | 3,374 | 1.0 | 90.3 | 9.7 | 59.3 | 45.2 | 13.8 |
사이버대학(대학) | 357 | 51,840 | 34,279 | 135,155 | 119,995 | 15,160 | 0.8 | 120.8 | 79.9 | 315.0 | 279.7 | 35.3 |
합계 | 12,776 | 2,724,927 | 369,828 | 2,103,357 | 1,561,278 | 523,063 | 5.7 | 800.9 | 194.8 | 871.2 | 750.9 | 117.6 |
평균값 | 3,194 | 681,232 | 92,457 | 525,839 | 390,320 | 130,766 | 1.4 | 200.2 | 48.7 | 217.8 | 187.7 | 29.4 |
대학원과정 | ||||||||||||
일반대학원 | 10,076 | 121,226 | 69,928 | 161,987 | 143,965 | 18,022 | 2.7 | 31.9 | 18.4 | 42.6 | 37.9 | 4.7 |
특수대학원 | 4,351 | 84,377 | 45,448 | 124,912 | 107,537 | 17,375 | 1.7 | 32.1 | 17.3 | 47.5 | 40.9 | 6.6 |
전문대학원 | 1,088 | 39,141 | 15,556 | 40,516 | 36,108 | 4,408 | 1.5 | 55.5 | 22.1 | 57.5 | 51.2 | 6.3 |
합계 | 15,515 | 244,744 | 130,932 | 327,415 | 287,610 | 39,805 | 5.8 | 119.5 | 57.7 | 147.6 | 130.0 | 17.6 |
평균값 | 5,172 | 81,581 | 43,644 | 109,138 | 95,870 | 13,268 | 1.9 | 39.8 | 19.2 | 49.2 | 43.3 | 5.9 |
합계 | 34,512 | 4,128,683 | 675,032 | 3,030,723 | 2,263,824 | 747,543 | 17.2 | 1,840.9 | 413.8 | 1,568.3 | 1,255.9 | 309.4 |
평균값 | 3,137 | 375,335 | 61,367 | 275,520 | 205,802 | 67,958 | 1.6 | 167.4 | 37.6 | 142.6 | 114.2 | 28.1 |
지금까지 gt
객체로 표현되는 표를 꾸미는 과정을 살펴보았다. 사실 지금까지는 MS-Word, MS-Excel이나 아래한글에서 설정이 가능하다. 솔직히 워드프로세서나 스프레드 시트 프로그램에서 꾸미는 것이 더 편할 수 도 있다. 하지만 이전 포스트에서 설명한 바와 같이 이런 표를 몇 개 연속적으로 그려야 할 때나 데이터가 업데이트되어 다시 그려야 할 때는 워드프로세서나 스프레드 시트와는 비교할 수 없을 정도로 편리할 것이다. 그리고 워드프로세스나 스프레드 시트보다 더 파워풀한 기능을 다음번 포스트에서 설명하도록 하겠다.
Coming Soon..
'데이터 시각화' 카테고리의 다른 글
21년 고등교육기관 정보 요약 - gtExtras 패키지를 이용한 그래프 넣기 in R (0) | 2021.12.12 |
---|---|
21년 고등교육기관 정보 요약 - gt 패키지를 이용한 데이터 강조 in R (0) | 2021.12.10 |
21년 고등교육기관 정보 요약 - gt 패키지를 이용한 표 그리기 in R (3) | 2021.12.06 |
Tableau가 뽑은 10대 데이터 시각화 (0) | 2021.11.07 |
특성화고 졸업생은 어디로?특성화고 졸업후 상황 - Sankey 다이어그램 (11) | 2021.07.22 |
댓글