我想创建一个地图,显示给定状态的变量值。该数据集包含大约一千个变量,并且处于州级,大约 100 年。
我拥有和工作的代码是:
plot_usmap(data = database, values = "var1") + scale_fill_continuous(
low = "white", high = "blue", na.value="light gray", name = "Title of graph", label = scales::comma
) + theme(legend.position = "right")
现在我想做的是为大约 15 个变量和 10 年的列表创建这张地图。我通常是 STATA 用户,在那里我可以定义一个变量列表,然后循环遍历变量列表。在本文档“R 快速介绍(针对 Stata 用户)”的第 7 页上,我尝试应用以下解决方案:
vars <- c("database$var1", "database$var2", "database$var3","database$var4", "database$var5", "database$var6", "database$var7", "database$var8", "database$var9", "database$var10", "database$var11", "database$var12")
for(var in vars) {
v <- get(var)
plot_usmap(data = darabase, values = "v") +
scale_fill_continuous(low = "white", high = "blue", na.value="light gray", name = "v", label = scales::comma) + theme(legend.position = "right")}
使用此代码,我收到错误“get(var) 中的错误:找不到对象 'database$var1'。当我尝试 view(database$var1) 时,它会出现。下一个问题是我想要图形的名称成为变量的标签而不是变量。在上面的示例中,我将整个数据限制为仅包括 1 年,因此如果有设置代码的解决方案,我可以使用整个数据库但仅映射选择年份,那就太好了。
任何见解将不胜感激!我在 R 中读到过,“for”的使用不多,所以如果有更好的方法,请告诉我。