SpatialPolygonsDataFrame

时间:2016-02-01 21:53:25

标签: r

我有一个SpatialPolygonsDataFrame(poly)我希望从另一个数据帧(df)中赋值。在poly@polygons插槽中有一堆具有唯一ID的多边形。此ID对应df中的ID值。 df有两种类型的列。 df$ID是唯一ID(与poly@polygons ID对应),df$1988:df$2014是指定年份的列。每年下面是有问题的价值。

关于如何将这个价值,以及某个ID的所有年份的所有价值实际上转化为聚合物的任何想法?最终目标是可视化由该值着色的多边形,一个用于所有年份的多边形,然后是一个GIF,显示每年的值变化。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,你需要这样的东西:

newPoly <- merge(poly, df, by.x = 0, by.y = "ID")

sp有一个合并方法,只要空间数据是第一个,它就应该连接空间data.frame和普通数据。 by.x = 0指定按行名称连接,这些行名称应对应于空间多边形中的ID槽。完成此操作后,您可以绘制各种不同年份的值

using either newPoly $ 1998年or newPoly @数据$ 1998`

我从来没有尝试过使用行名称合并空间多边形,所以我不肯定它是有效的,如果它没有在空间多边形的数据槽中创建一个新列,就像这样:

poly@data$ID <- row.names(poly@data)

您可以在数据槽中创建新列,只需要非常小心地排序或删除行,因为它会弄乱绘图。