在 SpatialDataFrame 中,我有以下数据结构。
> str(shapedata_trans@data)
'data.frame': 4066 obs. of 6 variables:
$ OBJECTID : num 1 2 3 4 5 6 7 8 9 10 ...
$ PC4 : Factor w/ 4066 levels "1011","1012",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Aantal_mul: Factor w/ 11 levels "1","10","12",..: 1 1 5 7 1 1 5 1 1 1 ...
$ Aantal_adr: Factor w/ 2653 levels "1","10","100",..: 2404 2599 320 383 97 2604 60 211 63 1450 ...
$ Shape_Leng: num 5908 5489 19421 15356 4733 ...
$ Shape_Area: num 1034025 1214502 5075544 2674418 770406 ...
除此之外,它还有更多关于多边形及其坐标的信息......这很棒。但是,为了将其简化为一个简单的表格,我们可以使用 ggplo2::fortify 或 broom::tidy
> fort_PC = fortify(shapedata_trans)
> head(fort_PC)
long lat order hole piece group id
1 4.906544 52.37910 1 FALSE 1 0.1 0
2 4.906733 52.37906 2 FALSE 1 0.1 0
3 4.906739 52.37908 3 FALSE 1 0.1 0
4 4.907138 52.37901 4 FALSE 1 0.1 0
5 4.908692 52.37881 5 FALSE 1 0.1 0
6 4.909105 52.37875 6 FALSE 1 0.1 0
但是我想将@data 部分中的信息添加到这个最终表格中。PC4、Aantal_mul、Aantal_adr、Shape_Area 和 Shape_Leng 列等信息。我知道在 fortify/tidy 中我可以通过说来指定区域
> head(fortify(shapedata_trans,region = c("PC4")))
long lat order hole piece id group
1 4.906544 52.37910 1 FALSE 1 1011 1011.1
2 4.906733 52.37906 2 FALSE 1 1011 1011.1
3 4.906739 52.37908 3 FALSE 1 1011 1011.1
4 4.907138 52.37901 4 FALSE 1 1011 1011.1
5 4.908692 52.37881 5 FALSE 1 1011 1011.1
6 4.909105 52.37875 6 FALSE 1 1011 1011.1
但这并没有让它变得更好。有没有人有办法解决吗?