階層をたどる
SpatialDataFrame オブジェクトの中でポリゴンがどのように格納されているかを調べながら、スロットへのアクセスを練習しましょう。S4 オブジェクトのスロットにアクセスする方法は2通りあります。
x@slot_name # または...
slot(x, "slot_name")
たとえば、countries_spdf の polygons スロットを見るには、単に countries_spdf@polygons とします。試してみると分かりますが、出力は長くてあまり情報的ではありません。代わりに上位レベルの構造を見てみましょう。
コンソールで次のコードを実行してみてください。
str(countries_spdf@polygons, max.level = 2)
まだ出力はかなり長いですが、先頭に戻って確認してみてください。これはどんなオブジェクトでしょうか? 実は単なるリストで、その各要素の中には sp クラスの別の型 Polygons が入っています。リスト要素は 177 個あります。何を表しているか見当がつきますか?
この要素のひとつを詳しく見ていきましょう。
この演習はコースの一部です
R で地理空間データを可視化する
演習の手順
countries_spdfのpolygonsスロットにあるリストの169番目の要素を取り出し、oneという新しい変数に代入します。要素の抽出には二重角かっこ([[...]])を使ってください。oneを出力します。oneに対してsummary()を呼び出します。このオブジェクトにはどんなスロットがありますか?str()をmax.level = 2でoneに対して呼び出します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 169th element of countries_spdf@polygons: one
# Print one
# Call summary() on one
# Call str() on one with max.level = 2