spオブジェクト内のデータへアクセスする
保持したい要素のインデックスが完全に分かっていることはまれで、多くの場合はデータ属性に基づいてサブセット化します。Spatial___DataFrame に結びついたデータは data スロットにありますが、通常はこのスロットに直接アクセスしません。
代わりに、Spatial___DataFrame に対する $ と [[ のサブセット化は、データフレームの列を直接取り出します。つまり、x が Spatial___DataFrame オブジェクトであれば、x$col_name でも x[["col_name"]] でも、データフレームから col_name 列を取り出せます。これはショートカットのようなものです。data スロット内のオブジェクトから該当列を取り出す(例: x@data$col_name)代わりに、x$col_name を使えばよいのです。
まずは、data スロットのオブジェクトが通常のデータフレームであることを確認し、その後で列の取り出しを練習しましょう。
この演習はコースの一部です
R で地理空間データを可視化する
演習の手順
countries_spdfのdataスロットに対してhead()とstr()を(1回ずつ)呼び出してください。※このオブジェクトが通常のデータフレームであることを確認します。$を使って、countries_spdfのname列を取り出してください。[[を使って、countries_spdfのsubregion列を取り出してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Call head() and str() on the data slot of countries_spdf
# Pull out the name column using $
# Pull out the subregion column using [[