我有一个SpatialPolygonsDataFrame
(poly)我希望从另一个数据帧(df)中赋值。在poly@polygons
插槽中有一堆具有唯一ID的多边形。此ID对应df
中的ID值。 df
有两种类型的列。 df$ID
是唯一ID(与poly@polygons
ID对应),df$1988:df$2014
是指定年份的列。每年下面是有问题的价值。
关于如何将这个价值,以及某个ID的所有年份的所有价值实际上转化为聚合物的任何想法?最终目标是可视化由该值着色的多边形,一个用于所有年份的多边形,然后是一个GIF,显示每年的值变化。
答案 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)
您可以在数据槽中创建新列,只需要非常小心地排序或删除行,因为它会弄乱绘图。