r 在 ggplot 中强化并在 broom 包中整理不接受区域
r fortify in ggplot and tidy in broom package not accepting regions
我无法使用 ggplot 的 fortify 或 broom 的 tidy 来包含区域,即使我按照另一个 post 中的建议加载了 maptools 库。
我首先加载了一堆库,包括 maptools (0.8-41)、rgeos (0.3-22)、broom (0.4.1) 和 ggplot2 (2.2.1.9000)。接下来,我使用以下命令获取一张世界地图,其中包含一系列不同的区域选择,包括我感兴趣的区域 - ISO_a3 -
world <- readOGR(dsn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson", layer="OGRGeoJSON")
下一个我运行map <- broom::tidy(world, region = "iso_a3")
head(map) 生成以下内容。请注意,不包括区域列。
long lat order hole piece group id
1 48.93857 11.258447 1 FALSE 1 -99.1 -99
2 48.93848 10.982324 2 FALSE 1 -99.1 -99
3 48.93848 10.714209 3 FALSE 1 -99.1 -99
4 48.93838 10.433252 4 FALSE 1 -99.1 -99
5 48.93828 9.973486 5 FALSE 1 -99.1 -99
6 48.93828 9.807617 6 FALSE 1 -99.1 -99
Afaik、fortify
和 tidy
不会附加同名的列。另见示例
if (require("maptools")) {
sids <- system.file("shapes/sids.shp", package="maptools")
nc1 <- readShapePoly(sids,
proj4string = CRS("+proj=longlat +datum=NAD27"))
nc1_df <- fortify(nc1)
}
head(nc1_df)
您可能正在查找 id
列,其中包含 iso_a3
:
library(rgdal)
library(ggplot2)
fn <- file.path(tempdir(), "ne_50m_admin_0_countries.geojson.gz")
download.file("https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson.gz", fn)
R.utils::gunzip(fn)
world <- readOGR(dsn = tools::file_path_sans_ext(fn), layer = "OGRGeoJSON")
map <- broom::tidy(world, region="iso_a3")
all(sort(unique(map$id))==sort(levels(world$iso_a3)))
# [1] TRUE
ggplot(map, aes(long, lat, group=group)) +
geom_polygon(color="white") +
coord_quickmap()
我无法使用 ggplot 的 fortify 或 broom 的 tidy 来包含区域,即使我按照另一个 post 中的建议加载了 maptools 库。
我首先加载了一堆库,包括 maptools (0.8-41)、rgeos (0.3-22)、broom (0.4.1) 和 ggplot2 (2.2.1.9000)。接下来,我使用以下命令获取一张世界地图,其中包含一系列不同的区域选择,包括我感兴趣的区域 - ISO_a3 -
world <- readOGR(dsn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson", layer="OGRGeoJSON")
下一个我运行map <- broom::tidy(world, region = "iso_a3")
head(map) 生成以下内容。请注意,不包括区域列。
long lat order hole piece group id
1 48.93857 11.258447 1 FALSE 1 -99.1 -99
2 48.93848 10.982324 2 FALSE 1 -99.1 -99
3 48.93848 10.714209 3 FALSE 1 -99.1 -99
4 48.93838 10.433252 4 FALSE 1 -99.1 -99
5 48.93828 9.973486 5 FALSE 1 -99.1 -99
6 48.93828 9.807617 6 FALSE 1 -99.1 -99
Afaik、fortify
和 tidy
不会附加同名的列。另见示例
if (require("maptools")) {
sids <- system.file("shapes/sids.shp", package="maptools")
nc1 <- readShapePoly(sids,
proj4string = CRS("+proj=longlat +datum=NAD27"))
nc1_df <- fortify(nc1)
}
head(nc1_df)
您可能正在查找 id
列,其中包含 iso_a3
:
library(rgdal)
library(ggplot2)
fn <- file.path(tempdir(), "ne_50m_admin_0_countries.geojson.gz")
download.file("https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson.gz", fn)
R.utils::gunzip(fn)
world <- readOGR(dsn = tools::file_path_sans_ext(fn), layer = "OGRGeoJSON")
map <- broom::tidy(world, region="iso_a3")
all(sort(unique(map$id))==sort(levels(world$iso_a3)))
# [1] TRUE
ggplot(map, aes(long, lat, group=group)) +
geom_polygon(color="white") +
coord_quickmap()