以索引進行子集化
Spatial___DataFrame 物件的子集化設計得和資料框的子集化一樣。你會從資料框的角度思考子集化,但實際回傳的是一個新的 Spatial___DataFrame,其中只包含你要的那些資料列,以及對應的空間物件。
最簡單的子集化方式是用索引。例如,如果 x 是資料框,你知道 x[1, ] 會回傳第一列。若 x 是 Spatial___DataFrame,你會得到一個新的 Spatial___DataFrame,其中包含第一列的資料,還有與該列對應的空間資料。
回傳 Spatial___DataFrame 的好處是,你可以在子集化後繼續使用與原本物件相同的方法。
來試試看第 169 個國家吧!
本練習屬於課程
在 R 視覺化地理空間資料
練習說明
- 透過子集化
countries_spdf的第 169 個元素,建立新變數usa。 - 對
usa呼叫summary()。『確認usa仍然是 SpatialPolygonsDataFrame。』 - 對
usa呼叫str(),並設定max.level = 2。『確認polygons槽位只有 1 個元素,且data槽位只有 1 列。』 - 對
usa呼叫plot()。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Subset the 169th object of countries_spdf: usa
# Look at summary() of usa
# Look at str() of usa
# Call plot() on usa