Dictionary 用R
我需要创建一个像R中图片上那样的地图,但是是按县级绘制的。我有一个CSV文件,上面有佛罗里达州各县的名字,还有一列按县划分的人口。 如何创建地图Dictionary 用R,dictionary,Dictionary,我需要创建一个像R中图片上那样的地图,但是是按县级绘制的。我有一个CSV文件,上面有佛罗里达州各县的名字,还有一列按县划分的人口。 如何创建地图 谢谢大家! 以下是获取佛罗里达州各县地图的方法: library(maps) m <- map("county", "Florida") 库(地图) m内置的地图数据有点过时。我不知道县界是否改变了。我更喜欢这里的县地图: 这是与美国郡形状文件的直接链接 如果您抓取,您可以使用以下工具提取佛罗里达州: ogr2ogr -f "ESRI Sha
谢谢大家! 以下是获取佛罗里达州各县地图的方法:
library(maps)
m <- map("county", "Florida")
库(地图)
m内置的地图
数据有点过时。我不知道县界是否改变了。我更喜欢这里的县地图:
这是与美国郡形状文件的直接链接
如果您抓取,您可以使用以下工具提取佛罗里达州:
ogr2ogr -f "ESRI Shapefile" -where "STATE_NAME = 'FLORIDA'" fl.shp counties.shp
然后把它读入R中,享受一些乐趣。我发现了一些人口数据:
pop <- structure(list(County = c("Alachua", "Baker", "Bay", "Bradford",
"Brevard", "Broward", "Calhoun", "Charlotte", "Citrus", "Clay",
"Collier", "Columbia", "DeSoto", "Dixie", "Duval", "Escambia",
"Flagler", "Franklin", "Gadsden", "Gilchrist", "Glades", "Gulf",
"Hamilton", "Hardee", "Hendry", "Hernando", "Highlands", "Hillsborough",
"Holmes", "Indian River", "Jackson", "Jefferson", "Lafayette",
"Lake", "Lee", "Leon", "Levy", "Liberty", "Madison", "Manatee",
"Marion", "Martin", "Miami-Dade", "Monroe", "Nassau", "Okaloosa",
"Okeechobee", "Orange", "Osceola", "Palm Beach", "Pasco", "Pinellas",
"Polk", "Putnam", "St. Johns", "St. Lucie", "Santa Rosa", "Sarasota",
"Seminole", "Sumter", "Suwannee", "Taylor", "Union", "Volusia",
"Wakulla", "Walton", "Washington"),
pop = c(248002L, 26881L,
169866L, 27217L, 548424L, 1784715L, 14621L, 163679L, 140519L,
192843L, 333663L, 67489L, 34367L, 16263L, 876075L, 301120L, 97843L,
11562L, 47588L, 16880L, 12658L, 16106L, 14507L, 27682L, 37808L,
173808L, 99092L, 1276410L, 20022L, 139586L, 50166L, 14554L, 8618L,
303317L, 643367L, 278377L, 40304L, 8483L, 19395L, 333880L, 335008L,
148077L, 2582375L, 73560L, 74661L, 188349L, 39762L, 1202978L,
288361L, 1345652L, 473566L, 926610L, 613950L, 72605L, 201541L,
281151L, 157317L, 385292L, 431074L, 105104L, 43873L, 23018L,
15483L, 498978L, 30869L, 57779L, 24793L)),
.Names = c("County",
"pop"), class = "data.frame", row.names = c(NA, -67L))
我没有费心检查我的示例(虽然看起来没问题),但要获得真实数据,你应该这样做。如果你想在县一级绘制佛罗里达州的人口图,请查看此图。他们使用usmaps。不是完整答案,但我发现:仅供参考:该网站对美国有极好的评价。它显示错误:require(地图)加载required package:maps>m我们都拼错了“Florida”。。我不知道怎么做,但我能想出来。现在你有地图了,再问一个问题吧!我知道如何处理CSV文件,但在那个例子中我应该如何处理?但如果我有数据(比如CSV中的人口)文件呢?如何使用CSV文件?你能给我发电子邮件吗,nikitazh@bk.ru
library(sp)
library(maptools)
library(ggplot2)
library(plyr)
library(ggplot2)
# read in the florida county shapefile
fl <- readShapePoly("fl.shp", repair=TRUE, IDvar="NAME")
# make it work nicely with ggplot
fl.f <- fortify(fl, region="NAME")
# start the plot
gg <- ggplot(pop)
# plot the base mape
gg <- gg + geom_map(data=fl.f, map = fl.f, aes(map_id=id, x = long, y = lat),
fill="white", color="#7f7f7f", size=0.25)
# add the county population data
gg <- gg + geom_map(map = fl.f, aes(map_id = County, fill = pop), size=0.25)
# should prbly not do this - use `cut` for explicit groupings
# i was pressed for time
gg <- gg + scale_fill_gradient(low="#fff7bc", high="#cc4c02", name="Population")
gg <- gg + theme_bw()
gg <- gg + labs(x="", y="")
gg <- gg + theme(plot.background = element_rect(fill = "transparent",colour = NA),
panel.border = element_blank(),
panel.background =element_rect(fill = "transparent",colour = NA),
panel.grid = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
legend.position="right")
gg
unique(fl.f$id)
## [1] "Alachua" "Baker" "Bay" "Bradford" "Brevard" "Broward" "Calhoun"
## [8] "Charlotte" "Citrus" "Clay" "Collier" "Columbia" "DeSoto" "Dixie"
## [15] "Duval" "Escambia" "Flagler" "Franklin" "Gadsden" "Gilchrist" "Glades"
## [22] "Gulf" "Hamilton" "Hardee" "Hendry" "Hernando" "Highlands" "Hillsborough"
## [29] "Holmes" "Indian River" "Jackson" "Jefferson" "Lafayette" "Lake" "Lee"
## [36] "Leon" "Levy" "Liberty" "Madison" "Manatee" "Marion" "Martin"
## [43] "Miami-Dade" "Monroe" "Nassau" "Okaloosa" "Okeechobee" "Orange" "Osceola"
## [50] "Palm Beach" "Pasco" "Pinellas" "Polk" "Putnam" "Santa Rosa" "Sarasota"
## [57] "Seminole" "St. Johns" "St. Lucie" "Sumter" "Suwannee" "Taylor" "Union"
## [64] "Volusia" "Wakulla" "Walton" "Washington"