잘못된 방법
Spatial***DataFrame 객체를 만들 때, 공간 객체(예: Polygons)를 데이터의 행과 매칭하는 방법은 두 가지가 있어요. 가장 견고한 방법은 공간 객체에 있는 ID를 데이터의 행 이름과 맞추는 거예요. 이렇게 하면 일치하지 않는 것이 있으면 바로 알 수 있어요. 다른 방법은 단순히 순서대로 매칭하는 것으로, 첫 번째 공간 객체가 데이터의 첫 번째 행에 대응한다고 가정하는 방식이에요.
한번 생성되고 나면, 대응 관계는 오직 순서에만 기반해요. data 슬롯을 조작해도, 공간 객체가 여전히 올바른 행과 대응하는지 확인하지 않아요. 실제로 이게 무엇을 의미할까요? data 슬롯을 직접 조작하는 것은 매우 위험하다는 뜻이에요!
소득 지도를 만들려면, 소득 데이터 프레임을 구역 SpatialPolygonsDataFrame과 매칭해야 해요. @data를 직접 조작하는 위험성을 보여주기 위해, nyc_income을 억지로 nyc_tracts에 넣으면 어떻게 되는지 살펴보죠.
이 연습은 강의의 일부입니다
R로 지리공간 데이터 시각화하기
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
library(sp)
# Use str() on nyc_income
# ...and on nyc_tracts@data