구간 척도 예시
18~24세 인구 비율을 나타낸 이전 플롯으로 돌아가 보겠습니다:
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = vir) +
tm_legend(position = c("right", "bottom"))
이 플롯의 문제는 대부분의 비율이 가장 낮은 색상 구간에 몰려 있어서, 플롯에서 세부 정보를 거의 볼 수 없었다는 점이에요. 이 문제를 해결하는 한 가지 방법은 변수 범위를 같은 길이의 구간으로 나누는 대신, 더 유용한 범주로 나누는 것입니다.
먼저 tmap의 기본 구간을 재현해 보겠습니다. 다섯 개의 범주를 "pretty" 기준으로 자릅니다. 그런 다음 변수를 구간으로 나누는 다른 방법도 몇 가지 시도해 보세요. classIntervals() 함수를 직접 사용하면 어떤 경계가 생기는지 빠르게 확인할 수 있지만, 가장 좋은 방법은 실제로 플롯해 보는 것입니다.
(참고로, 이런 종류의 문제를 해결하는 또 다른 방법은 변수를 변환해 변환된 척도에서 같은 길이의 구간이 더 유용하도록 만드는 것입니다.)
이 연습은 강의의 일부입니다
R로 지리공간 데이터 시각화하기
연습 안내
values(prop_by_age[["age_18_24"]])에 대해classIntervals()를 호출하고n = 5,style = "pretty"로 설정하세요. 문제가 보이나요? 그리드 셀 130,770개가 첫 번째 구간에 들어갑니다.- 이제 위와 같이
classIntervals()를 호출하되,style = "quantile"로 설정하세요. - 플롯의
tm_raster()레이어에n과style인수를 전달해 같은 크기의 구간을 사용하세요. values(prop_by_age[["age_18_24"]])의 히스토그램을 만드세요. 경계를 어디에 두시겠어요?tm_raster()에서breaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1)를 지정해 직접 경계를 만들어 보세요.tmap_save()를 사용해 최종 플롯을 leaflet 플롯으로 저장하고,filename은"prop_18-24.html"로 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
mag <- viridisLite::magma(7)
library(classInt)
# Create 5 "pretty" breaks with classIntervals()
# Create 5 "quantile" breaks with classIntervals()
# Use 5 "quantile" breaks in tm_raster()
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = mag) +
tm_legend(position = c("right", "bottom"))
# Create histogram of proportions
# Use fixed breaks in tm_raster()
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = mag,
style = "fixed")
# Save your plot to "prop_18-24.html"