我如何仅按名称映射美国各州?在 R
How do I map us-states just by names? In R
在 R 中,我有一个如下所示的数据框:
head(map)
mapstates mapdelay
1 Alabama 457
2 Alaska 374
3 Arizona 2852
4 Arkansas 339
5 California 11609
6 Colorado 3298
我想在地图上标出频率。
搜索 www 我找到了 usmap 包 f.e。 .但是我找到的所有解决方案都需要我没有的纬度和经度数据。
使用 usmap 包和 dplyr 我尝试连接
从 usmap 到我的数据框的纬度和经度数据:
library(dplyr)
newdata<- left_join(mapstates, delaymap, by= "state")
并弹出此错误消息:
"Fehler: by
不能包含 LHS 中缺少的连接列 state
运行 rlang::last_error()
查看错误发生的位置。"
有什么方法可以只用州名来绘制我的数据吗?
您的 data.frame
“地图”似乎没有名为“states”的列
因此加入命令失败。我无法测试这个,因为我没有
有你正在使用的确切数据集,但它可能只是工作,
更改您的命令如下:
newdata <- left_join(mapstates, delaymap, by= c("mapstates" = "state"))
我执行了以下代码,以在我的环境中重现您的想法并且
它确实有效。我正在使用 usmap
中的“statepop”data.frame
将数据加入其中的包,因为它具有 fips
所需的代码
包,以识别州(或县)。另请参阅文档
?plot_usmap()
.
的 data
参数
library(dplyr)
library(usmap)
library(ggplot2)
map_df <- tibble::tribble(
~"mapstates",~"mapdelay",
"Alabama" , 457,
"Alaska" , 374,
"Arizona" , 2852,
"Arkansas" , 339,
"California" , 11609,
"Colorado" , 3298
)
new_df <- left_join(statepop, map_df, by = c("full" = "mapstates"))
plot_usmap(data = new_df, values = "mapdelay", color = "white") +
scale_fill_continuous(
low = "white", high = "red", name = "Delay", label = scales::comma
) + theme(legend.position = "right")
注意:有些州没有颜色,因为我没有你的完整数据集。
在 R 中,我有一个如下所示的数据框:
head(map)
mapstates mapdelay
1 Alabama 457
2 Alaska 374
3 Arizona 2852
4 Arkansas 339
5 California 11609
6 Colorado 3298
我想在地图上标出频率。
搜索 www 我找到了 usmap 包 f.e。 .但是我找到的所有解决方案都需要我没有的纬度和经度数据。
使用 usmap 包和 dplyr 我尝试连接 从 usmap 到我的数据框的纬度和经度数据:
library(dplyr)
newdata<- left_join(mapstates, delaymap, by= "state")
并弹出此错误消息:
"Fehler: by
不能包含 LHS 中缺少的连接列 state
运行 rlang::last_error()
查看错误发生的位置。"
有什么方法可以只用州名来绘制我的数据吗?
您的 data.frame
“地图”似乎没有名为“states”的列
因此加入命令失败。我无法测试这个,因为我没有
有你正在使用的确切数据集,但它可能只是工作,
更改您的命令如下:
newdata <- left_join(mapstates, delaymap, by= c("mapstates" = "state"))
我执行了以下代码,以在我的环境中重现您的想法并且
它确实有效。我正在使用 usmap
中的“statepop”data.frame
将数据加入其中的包,因为它具有 fips
所需的代码
包,以识别州(或县)。另请参阅文档
?plot_usmap()
.
data
参数
library(dplyr)
library(usmap)
library(ggplot2)
map_df <- tibble::tribble(
~"mapstates",~"mapdelay",
"Alabama" , 457,
"Alaska" , 374,
"Arizona" , 2852,
"Arkansas" , 339,
"California" , 11609,
"Colorado" , 3298
)
new_df <- left_join(statepop, map_df, by = c("full" = "mapstates"))
plot_usmap(data = new_df, values = "mapdelay", color = "white") +
scale_fill_continuous(
low = "white", high = "red", name = "Delay", label = scales::comma
) + theme(legend.position = "right")
注意:有些州没有颜色,因为我没有你的完整数据集。