如何将完整的州名转换为缩写?

时间:2018-04-17 23:10:25

标签: r data-manipulation

我有一个数据框 A ,其中一列名为" states"。各州以其全名记录,例如。 "加州&#34 ;.每个州都有多行。

我有一个数据框 B ,其中包含每个州的枪死数。状态以缩写记录,例如。 " CA"

我想要的是:我希望 A 中的每一行都有相应状态的枪死数。我打算为此使用dplyr :: inner_join()。

但当然,问题在于不同数据框中的状态名称是不同的。

使名称匹配的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

如果你有两个相同长度的向量并想构建一个转换表,只需添加状态名称的输入向量作为状态缩写的输出向量的names - 属性,然后传入名称作为" [" -function:

的输入
 names(state.abb) <- state.name   
 # both are in-built values in the `state`-item of default `datasets` package
 ?state     # also See: ?Constants and ?data
 dfrm$abbrev <- state.abb[dfrm$states]