在整洁中选择参数

时间:2017-04-11 08:52:02

标签: r spatial tidy broom

在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

但这并没有让它变得更好。有没有人有解决方案?

1 个答案:

答案 0 :(得分:0)

感谢Chinsoon12

合并(fortify(shapedata_trans),shapedata_trans @ data,by.x =" id",by.y =" OBJECTID",all = TRUE)

再次感谢!