ggplot2的最新版本中,?fortify返回:


broom软件包确实提供了许多替代方法(例如augment)。在什么情况下应该使用哪一个?

我对fortify(spdf)的替代方案特别感兴趣,其中spdf是SpatialPolygonsDataFrame。

最佳答案

这是我处理该主题的方法。

搜索“扫帚头”后,我被重定向到CRAN上软件包的相应页面。它提供了一些小插曲,所以我查看了扫帚简介。在找不到匹配“空间”的任何字符串后,我关闭了PDF并打开了reference manual。搜索“空间”,我有7个命中,第一个与sp_tidiers有关。公告功能tidy将空间对象转换为data.frame。让我们尝试一下。

library(sp)
Sr1 = Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))
Sr2 = Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))
Sr3 = Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)))
Sr4 = Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)), hole = TRUE)

Srs1 = Polygons(list(Sr1), "s1")
Srs2 = Polygons(list(Sr2), "s2")
Srs3 = Polygons(list(Sr3, Sr4), "s3/4")
x = SpatialPolygons(list(Srs1,Srs2,Srs3), 1:3)

library(broom)

tidy(x)

   long lat order  hole piece  group   id
1     2   2     1 FALSE     1   s1.1   s1
2     1   4     2 FALSE     1   s1.1   s1
3     4   5     3 FALSE     1   s1.1   s1
4     4   3     4 FALSE     1   s1.1   s1
5     2   2     5 FALSE     1   s1.1   s1
6     5   2     1 FALSE     1   s2.1   s2
7     2   2     2 FALSE     1   s2.1   s2
8     4   3     3 FALSE     1   s2.1   s2
9     5   2     4 FALSE     1   s2.1   s2
10    4   5     1 FALSE     1 s3/4.1 s3/4
11   10   5     2 FALSE     1 s3/4.1 s3/4
12    5   2     3 FALSE     1 s3/4.1 s3/4
13    4   3     4 FALSE     1 s3/4.1 s3/4
14    4   5     5 FALSE     1 s3/4.1 s3/4
15    5   4     6  TRUE     2 s3/4.2 s3/4
16    5   3     7  TRUE     2 s3/4.2 s3/4
17    6   3     8  TRUE     2 s3/4.2 s3/4
18    6   4     9  TRUE     2 s3/4.2 s3/4
19    5   4    10  TRUE     2 s3/4.2 s3/4

关于r - ggplot2::fortify的后继者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34543468/

10-10 03:39