Dictionary 用R

Dictionary 用R,dictionary,Dictionary,我需要创建一个像R中图片上那样的地图,但是是按县级绘制的。我有一个CSV文件,上面有佛罗里达州各县的名字,还有一列按县划分的人口。 如何创建地图 谢谢大家! 以下是获取佛罗里达州各县地图的方法: library(maps) m <- map("county", "Florida") 库(地图) m内置的地图数据有点过时。我不知道县界是否改变了。我更喜欢这里的县地图: 这是与美国郡形状文件的直接链接 如果您抓取,您可以使用以下工具提取佛罗里达州: ogr2ogr -f "ESRI Sha

我需要创建一个像R中图片上那样的地图,但是是按县级绘制的。我有一个CSV文件,上面有佛罗里达州各县的名字,还有一列按县划分的人口。 如何创建地图


谢谢大家!

以下是获取佛罗里达州各县地图的方法:

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"