首页 > 解决方案 > 在 R 中 state.name 和 state.abb 之间的转换

问题描述

我正在尝试向我的数据集添加一个列,该列读取州缩写并将州的全名(小写)放在新列中。我有一个名为 Food 的数据集,其中包含州缩写作为一个因素。我最终想使用 map_data("state") 来映射它。map_Data("state") 将州缩写显示为一个因素(称为“区域”)。所以我在我的数据框中创建了一个名为 region 的因子。

library(ggplot2)
library(maps)
FoodSvc = read.csv("C:/Users/adam/FoodSrvcByCounty.csv")
food <- data.frame(FoodSvc)

all_states <- map_data("state")

food$region <- tolower(state.name[food$State])
food$region <- factor(food$region)


food_map_data <-  merge(all_states,food, by="region")

当我合并它时,它似乎只查看第一个字符以将缩写映射到州名。当我使用 state.name[food$State] 命令时。尽管两者都是因素,但它只是将转换视为一个字符。所以 WV 变成了怀俄明州。

region      long      lat group order subregion     County State FoodServices.97 FoodServices.2002

921740 wyoming -109.0511 40.99513    63 15599      <NA>   Marshall    WV              61                61

有什么想法吗?

标签: rmaps

解决方案


推荐阅读