如何使用R中的FIPS代码(交互式?)将县级数据映射为热图

问题描述 投票:1回答:1

我希望创建一个交互式地图,这将允许我创建一个绘图,用户可以在其中更改年份和绘制的变量。我已经看到使用了tmap软件包,所以我在想像这样的东西,但是我也会为静态地图或其他交互式方法提供建议。我的数据比这要丰富得多,但看起来像:

example <- data.frame(fips = rep(as.numeric(c("37001", "37003", "37005", "37007", "37009", "37011", "37013", "37015", "37017", "37019"), 4)),
                      year = c(rep(1990, 10), rep(1991, 10), rep(1992, 10), rep(1993, 10)),
                      life = sample(1:100, 40, replace=TRUE),
                      income = sample(8000:1000000, 40, replace=TRUE),
                      pop = sample(80000:1000000, 40, replace=TRUE))

我希望我的输出是我数据集中包含的所有县的地图(在我的情况下,我拥有北卡罗来纳州的所有县,所以我不想要整个美国的地图),显示感兴趣的选定变量的热图(在此示例数据中,yearlifeincomepop。理想情况下,我想要一个带有两个下拉菜单的图,使您可以选择您要查看的年份,以及要查看的变量。如果您不知道如何进行交互式操作,则我(而不是用户)在其中定义年份和变量的静态地图会很有帮助。

我已经尝试了以下操作(取自here),但它是静态的,这不是我的理想选择,而且似乎还试图映射整个美国,因此该部分实际上包含在我的数据中(北卡罗来纳州)非常小。

library(maps)
library(ggmap)
library(mapproj)
data(county.fips)
colors = c("#F1EEF6", "#D4B9DA", "#C994C7", "#DF65B0", "#DD1C77", 
           "#980043")

example$colorBuckets <- as.numeric(cut(example$life, c(0, 20, 40, 60, 80, 
                                                          90, 100)))
colorsmatched <- example$colorBuckets[match(county.fips$fips, example$fips)]

map("county", col = colors[colorsmatched], fill = TRUE, resolution = 0, 
    lty = 0, projection = "polyconic")

我希望创建一个交互式地图,这将允许我创建一个绘图,用户可以在其中更改年份和绘制的变量。我已经看到使用了tmap包,所以我在想像...

r ggmap tmap
1个回答
0
投票

这里几乎是整个解决方案。我曾希望某些软件包允许仅通过fips代码完成映射,但是还没有找到。您必须下载shapefile并通过fips代码将其合并。这段代码除了可以按年份过滤外,还可以执行我上面想要的所有操作。我已经问过这个问题here,所以希望有人能在那里回答。

© www.soinside.com 2019 - 2024. All rights reserved.