我有一个SpatialPolygonsDataFrame
(poly),我想从另一个dataframe (df)中属性值。在poly@polygons
槽中有一组具有唯一ID的多边形,这个ID对应于df
中的ID值。df
有两种类型的列。df$ID
是唯一的ID(对应于poly@polygons
ID),df$1988:df$2014
是指定年份的列。低于每年的数值是有关的价值。
对于如何将这个值,以及对于某个ID的所有年份的所有值,都输入poly,有什么想法吗?最终的目标是可视化由值着色的多边形,一个用于所有年份的合并,然后是一个GIF,显示值的年际变化。
发布于 2016-02-01 14:59:58
如果我正确地理解了这个问题,你想要这样的东西:
newPoly <- merge(poly, df, by.x = 0, by.y = "ID")
sp有一个合并方法,只要空间data.frame是第一个,就应该加入空间的和普通的。by.x = 0
指定按行名称连接,这些名称应该对应于空间多边形中的ID槽。这样做之后,您可以绘制不同年份的值。
using either
newPoly$1998or
newPoly@data$1998`
我从未尝试过使用行名合并空间多边形,因此我不确定它是否有效,如果没有,我将在空间多边形的数据槽中创建一个新列,如下所示:
poly@data$ID <- row.names(poly@data)
您可以在数据槽中创建新列,只需非常小心地对行进行排序或删除,因为这会破坏绘图。
https://stackoverflow.com/questions/35141094
复制相似问题