R 人口点图

R 人口点图,r,map,cartography,R,Map,Cartography,我想用人口数据,画出像这样的isarhytmoc点。 然而,不幸的是,我没有足够的技能,只带了这样的代码: require(sp) require(rgdal) require(RColorBrewer) require(ggplot2) library(plyr) library(maptools) library(rgeos) require(gpclib) gpclibPermitStatus() gpclibPermit() rus<-url("http://www.file

我想用人口数据,画出像这样的isarhytmoc点。 然而,不幸的是,我没有足够的技能,只带了这样的代码:

require(sp)
require(rgdal)
require(RColorBrewer)
require(ggplot2)
library(plyr)
library(maptools)
library(rgeos)
require(gpclib)
gpclibPermitStatus() 
gpclibPermit()


rus<-url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData")
print(load(rus))
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)


popul <- read.csv2(file="C:\\unempl11.txt", header = TRUE, 
        sep = ";",quote = "", dec=",", stringsAsFactors=F)

df <- fortify(gadm.prj, region = "ID_1")
df2 <- merge(df, gadm.prj, by.x="id", by.y="ID_1")






p <- ggplot(df2, aes(x = long, y = lat, group=group)) +
       geom_point(data    = popul,  
                  mapping = aes(x=lon, y=lat, colour=abs),
                  size    = 3,
                  alpha   = 0.8) +
       scale_colour_gradient2(name  = "Population",
                              low   = "darkred",
                              mid   = "white",
                              high  = "blue",
                              guide = "colorbar") +
       ggtitle("Population in Russia)")
p + geom_path(data    = df2,
               mapping = aes(x=long, y=lat, group=group),
              size    = 0.125)
require(sp)
需要(rgdal)
要求(RColorBrewer)
需要(ggplot2)
图书馆(plyr)
图书馆(地图工具)
图书馆(rgeos)
需要(gpclib)
gpclibPermitStatus()
gpclibPermit()

rus您试图显示点,但使用的是
空间多边形数据帧
源代码。可以提取坐标 使用
坐标的质心的
您的数据,但我不确定这是否是您需要的:

library(sp)
library(rgdal)

rus <- url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData")
load(rus)
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
## IDs needed to match polygons and data
nms <- gadm.prj$NAME_1

ll <- coordinates(gadm.prj)
现在是匹配坐标和数据的时候了(类似于我们 干 ):


您试图显示点,但使用的是
空间多边形数据帧
源代码。可以提取坐标 使用
坐标的质心的
您的数据,但我不确定这是否是您需要的:

library(sp)
library(rgdal)

rus <- url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData")
load(rus)
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
## IDs needed to match polygons and data
nms <- gadm.prj$NAME_1

ll <- coordinates(gadm.prj)
现在是匹配坐标和数据的时候了(类似于我们 干 ):


查看这些数据需要付费??哦,对不起。我编辑过,现在你在这里问同样的问题:你是绝对正确的,因为有不同的人访问不同的资源,因此可能会给出不同的答案。你必须付费查看这些数据??哦,对不起。我编辑过,现在你在这里问同样的问题:你是绝对正确的,因为有不同的人访问不同的资源,因此不同的答案可能会给出不同的作品!再次感谢你!它起作用了!再次感谢你!
ord1 <- match(nms, popul$region)
popul <- popul[ord1,]
row.names(popul) <- nms
row.names(ll) <- nms

popSP <- SpatialPointsDataFrame(ll, popul["data"], proj4string=proj4.str)
spplot(popSP, sp.layout=list('sp.polygons', gadm.prj))