在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这样的信息。我知道在强化/整理中我可以通过说
来指定区域> 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
但这并没有让它变得更好。有没有人有解决方案?
答案 0 :(得分:0)
感谢Chinsoon12
合并(fortify(shapedata_trans),shapedata_trans @ data,by.x =" id",by.y =" OBJECTID",all = TRUE)
再次感谢!