访问 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()(一次一个)。「确认该对象就是一个常规数据框」。 - 使用
$提取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 [[