gt
패키지로 데이터 강조하기
앞의 2번의 포스트에서 gt
패키지를 사용하여 표를 예쁘게(?) 꾸미는 방법에 대해 설명했다. 앞에서 언급했지만 표를 꾸미는 것은 워드프로세스가 더 편할 수도 있다. 하지만 이번 포스트에서는 워드프로세서에서는 불가능한 기능을 설명하겠다.
data_color()
를 사용한 데이터 강조
표를 보다보면 최대값이나 최소값을 강조할 필요가 있다. 또 표에 포함된 숫자의 크기에 따라 글자색이나 배경색을 표기해주면 표를 읽기가 더 쉬워진다. gt
패키지에서는 이 기능을 지원하기 위해 data_color()
함수를 제공한다. 이 함수를 사용하여 열의 숫자에 따라 색을 달리 표현할 수 있다.
data_color()
의 용법은 다음과 같다.
data_color(data, columns, colors, alpha = NULL, apply_to = c("fill", "text"), autocolor_text = TRUE)
data : 표 그리기에 사용할
gt
객체columns : 색 변경을 적용해야하는 열
color : 열의 색 변경에 사용할 색 벡터로써
scales
패키지의 색상 매핑 함수나 열의 개별 값(수준)에 매칭될 색 벡터alpha : 옵션 값으로 열의 색 변경에 적용되는 투명도 값
apply_to : 열의 색을 배경색(fill)에 적용할지 글자색(text)에 적용할 지를 지정
autocolor_text : 셀의 배경색에 따라 글자색을 변경하는 옵션 지정(기본값은 TRUE)
위의 data_color()
용법에서 color
매개변수에는 scales
패키지의 색상 패핑 함수를 사용할 수 있다. scales
패키지의 색상 매핑 함수는 scales::col_quantile()
, scales::col_bin()
, scales::col_numeric()
, scales::col_factor()
를 사용할 수 있다.
scales::col_numeric()
: 선형적 변환에 의해 데이터 값을 색상으로 매핑scales::col_quantile()
: 데이터 값을 지정된 분위(기본값은 4)에 따라 색상으로 매핑scales::col_bin()
: 데이터 값을 기반으로 구간을 나누고(bins) 이에 따라 색상을 매핑scales::col_factor()
: 매핑될 데이터가 팩터인 경우 팩터값에 따라 색상을 매핑
scales
패키지의 색상 매핑 함수는 적절한 색상 팔레트를 정의해야 한다. 하지만 사용자가 색상 팔레트를 일일이 정의하는 것은 쉽지 않은 일이다. 따라서 R에서 제공하는 다양한 팔레트를 이용하는 것이 효율적인데 팔레트 설정을 위해 많이 사용되는 패키지가 paletteer
패키지이다. paletteer
패키지에서 제공하는 paletteer_d()
는 R에서 제공하는 패키지에 포함되어 있는 팔레트 정보를 벡터로 추출해오는 함수이다. 따라서 이 함수를 사용하면 다양한 패키지에서 제공하는 팔레트를 표 색상을 설정하는데 사용할 수 있다. 다만 이 함수를 사용하는데 하나 주의해야 할 것이 결과값이 수치형 벡터이기 때문에 이를 문자형 벡터로 변환시켜 주는 과정이 필요하다는 점이다. paletteer::paletteer_d()
를 사용하여 데이터 강조색을 설정하는 코드는 다음과 같다.
gt.table15 |>
data_color(
columns = c(3:8),
colors = scales::col_numeric(
palette = paletteer::paletteer_d(
palette = "ggsci::blue_material"
) |> as.character(),
domain = NULL
)
) |>
data_color(
columns = c(9:14),
colors = scales::col_numeric(
palette = paletteer::paletteer_d(
palette = "ggsci::red_material"
) |> as.character(),
domain = NULL
)
)
고등교육기관 데이터 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
'데이터 시각화' 카테고리의 다른 글
APA(미국심리학회) style 논문 회귀분석 결과표 만들기 in R - p 값의 표현 (0) | 2022.10.31 |
---|---|
21년 고등교육기관 정보 요약 - gtExtras 패키지를 이용한 그래프 넣기 in R (0) | 2021.12.12 |
21년 고등교육기관 정보 요약 - gt 패키지를 이용한 표 꾸미기 in R (0) | 2021.12.08 |
21년 고등교육기관 정보 요약 - gt 패키지를 이용한 표 그리기 in R (3) | 2021.12.06 |
Tableau가 뽑은 10대 데이터 시각화 (0) | 2021.11.07 |
댓글