R 使用ggplot2打印地图导致数据丢失
以下是我的数据: 可在此处下载形状文件 可以下载相应级别的数据 这是我的密码:R 使用ggplot2打印地图导致数据丢失,r,ggplot2,shapefile,R,Ggplot2,Shapefile,以下是我的数据: 可在此处下载形状文件 可以下载相应级别的数据 这是我的密码: library(stringr) library(plyr) library(rgdal) library(ggplot2) #load map map.gem<- readOGR(dsn="path to your shapefile", layer="VEC200_Commune") data <- data.frame(id=rownames(map.gem@data),
library(stringr)
library(plyr)
library(rgdal)
library(ggplot2)
#load map
map.gem<- readOGR(dsn="path to your shapefile", layer="VEC200_Commune")
data <- data.frame(id=rownames(map.gem@data),
BEZNR=map.gem@data$BEZIRKSNR)
data$id <- as.character(data$id)
bez <- read.csv("~/586.csv", sep=";")
#bez should look like this:
head(bez)
BEZNR res_586
101 30.76
102 29.53
103 28.56
104 27.71
105 29.42
106 28.96
data1 <- merge(data, bez, by="BEZNR")
map.df <- fortify(map.gem)
map.df <- join(map.df, data1, by="id")
一些灰色区域是湖泊,这没有问题。但是地图中心的主要区域让我头疼。我希望有人能给我一个提示,尽管我不确定这个问题是否属于这里 评论太长 问题似乎是shapefile中的某些多边形的区域编号(BEZIRKSNR)=0。其中一些是湖泊,但许多不是。如下所示:
map.sub <- with(map.gem@data,map.gem[BEZIRKSNR==0&COUNTRY=="CH"&SEENAME=="N/A",])
ggplot(map.sub,aes(long,lat,group=group))+geom_polygon(fill="red")+coord_fixed()
由于没有任何轮询数据的BEZNR=0,因此这些区域的res_589值为
NA
。我不知道为什么这些地区没有BEZIRKSNR。再次感谢您的宝贵意见!我不知道为什么BEZIRKSNR==0。我手动添加了如下的真值:map。gem@data$BEZIRKSNR[地图。gem@data$KANTONSNR==4&map。gem@data$COUNTRY==“CH”]
map.sub <- with(map.gem@data,map.gem[BEZIRKSNR==0&COUNTRY=="CH"&SEENAME=="N/A",])
ggplot(map.sub,aes(long,lat,group=group))+geom_polygon(fill="red")+coord_fixed()
unique(map.sub@data$GEMNAME)