【发布时间】:2018-07-08 05:54:35
【问题描述】:
我正在阅读 Hadley Wickham 写的书 ggplot2,并遵循代码。但是,USAboundaries 包并没有按照书中显示的方式工作。 在书中,代码是这样工作的:
library(USAboundaries)
c18 <- us_boundaries(as.Date("1820-01-01"))
c18df <- fortify(c18)
#> Regions defined for each Polygons
head(c18df)
#> long lat order hole piece id group
#> 1 -87.6 35 1 FALSE 1 4 4.1
#> 2 -87.6 35 2 FALSE 1 4 4.1
#> 3 -87.6 35 3 FALSE 1 4 4.1
#> 4 -87.6 35 4 FALSE 1 4 4.1
#> 5 -87.5 35 5 FALSE 1 4 4.1
#> 6 -87.3 35 6 FALSE 1 4 4.1
ggplot(c18df, aes(long, lat)) +
geom_polygon(aes(group = group), colour = "grey50", fill = NA) +
coord_quickmap()
但是,当我在 RStudio 中运行相同的代码时,数据框完全不同: long 和 lat 值在嵌套列表中进行矢量化,例如:
geometry
list(list(c(-88.0746219415898, -88.3133290074677, ...)))
list(list(c(-96.7247616421399, -96.0010234528651, ...)))
...
...
... 表示那里有很多很多值。
因此,上面的 ggplot 代码不起作用,因为数据框没有 long 和 lat。 由于没有 long 和 lat 变量(列),我应该如何从这些数据中创建 long 和 lat?也许你可以安装这个包并尝试运行它来看看发生了什么。
非常感谢您的帮助!
【问题讨论】:
标签: r dataframe tidyr tidyverse sf